Reorganization
This commit is contained in:
parent
2821a76450
commit
aa3b8519f9
21 changed files with 241 additions and 204 deletions
30
CLAUDE.md
30
CLAUDE.md
|
|
@ -23,25 +23,34 @@ This is a NixOS homelab configuration using Nix flakes. The setup includes a sel
|
|||
|
||||
### Flake Structure
|
||||
- `flake.nix` - Main flake definition with inputs (nixpkgs, agenix, personal site)
|
||||
- `configuration.nix` - Default NixOS configuration (mostly commented out)
|
||||
- `system.nix` - System-level settings (boot, power management)
|
||||
- `packages.nix` - System packages (neovim, git, tools)
|
||||
- `users.nix` - User configuration for lucas user with fish shell
|
||||
- `configuration.nix` - Legacy configuration (minimal, contains system.stateVersion)
|
||||
|
||||
### Modular Organization
|
||||
- `networking/` - Network configuration modules
|
||||
- `config/` - Shared configuration options
|
||||
- `common.nix` - Common options used across modules (domain, user, networking, etc.)
|
||||
- `modules/core/` - Core system functionality
|
||||
- `boot.nix` - Boot loader and Nix settings
|
||||
- `server-power.nix` - Server power management (disable sleep/hibernation)
|
||||
- `packages.nix` - System packages (neovim, git, tools)
|
||||
- `modules/hardware/` - Hardware-specific configurations
|
||||
- `hardware-configuration.nix` - Hardware scan results
|
||||
- `modules/users/` - User management
|
||||
- `lucas.nix` - User configuration with fish shell and multimedia group
|
||||
- `modules/networking/` - Network configuration modules
|
||||
- `host.nix` - Static IP, firewall, Avahi discovery
|
||||
- `ssh.nix` - SSH daemon configuration
|
||||
- `adblock.nix` - Ad blocking setup
|
||||
- `vpn-host.nix` - Tailscale VPN with auto-connect
|
||||
- `services/` - Service modules
|
||||
- `modules/services/` - Service modules
|
||||
- `jellyfin.nix` - Media server with Deluge torrent client
|
||||
- `site.nix` - Nginx reverse proxy, ACME SSL, Route53 DDNS
|
||||
- `forgejo.nix` - Git server
|
||||
- `calibre-web.nix` - Ebook server
|
||||
|
||||
### Secret Management
|
||||
- Uses agenix for encrypted secrets
|
||||
- `secrets/aws.age` - AWS credentials for Route53 updates
|
||||
- `tailscale.age` - Tailscale authentication key
|
||||
- `secrets/tailscale.age` - Tailscale authentication key
|
||||
|
||||
### Key Services
|
||||
- **Jellyfin**: Media server on port 8096, proxied via jellyfin.per-aspera.space
|
||||
|
|
@ -60,6 +69,9 @@ This is a NixOS homelab configuration using Nix flakes. The setup includes a sel
|
|||
|
||||
- System is configured as a server (no hibernation/suspend)
|
||||
- Uses systemd-boot EFI bootloader
|
||||
- Multimedia group for media file permissions at /data/media
|
||||
- Modular configuration with shared options in `config/common.nix`
|
||||
- Decoupled modules reduce hard-coded dependencies
|
||||
- Fish shell is the default for the lucas user
|
||||
- ACME certificates automatically managed for per-aspera.space domain
|
||||
- ACME certificates automatically managed for per-aspera.space domain
|
||||
- Use `nix flake check` and `nix flake build` to test building without having to do nixos-rebuild
|
||||
- New files will need to be tracked by `git add` to be able to be used by nix flakes
|
||||
Loading…
Add table
Add a link
Reference in a new issue