Welcome to nix-config
Quick Navigation
| Section | Description | Key Pages |
|---|---|---|
| Getting Started | Setting up new machines from scratch | System Installation • Post-Installation • BIOS & Firmware |
| Architecture | Flake organization and machine topologies | Flake Architecture • Hosts Inventory • Home Manager • Dotfiles |
| Modules | Reusable system capabilities and integrations | System Modules • Sunshine Streaming • Gaming & Gamescope • Flatpak • Shell Scripts • Overlays |
| Operations | Day-to-day maintenance and security | Secrets (agenix) • Desktop Entries • Code Quality |
Core Pillars
-
Centralized Flake Abstraction: All physical systems are declared as attribute sets inside a unified
outputs.nixentry point, standardizing system architecture, primary users, and per-host system modules. -
Full Disk Encryption & TPM2 Auto-Unlock: Supported machines (e.g.
framework16) leverage LUKS disk encryption integrated with TPM2 hardware PCR 7 policies viasystemd-cryptenrolland Lanzaboote UEFI Secure Boot. -
Live Out-of-Store Dotfiles: Fast-iterating GUI and window manager configurations (Hyprland Lua configs, Kitty sessions, Starship themes) are linked out-of-store directly to the working repository, allowing instantaneous reloads without triggering full NixOS rebuilds.
-
Hands-off Provisioning: New machines are bootstrapped using unattended installer (
install.sh) and onboarding (post-install.sh) scripts that automatically format disks, initialize hardware configs, generate SSH keys, and configure cryptographic secrets.
Quick Command Reference
Rebuilding the System
The system includes a declarative wrapper script alias nrs (NixOS-Rebuild Switch):
# Format code, stage boot entry, and activate live generationnrsGit & Commits
# Stage all changes, commit with conventional commit message, and pushgit lazy "<commit message>"Code Quality & Validation
# Format and lint code (Nix, Bash, Lua, TOML via treefmt)nix fmt
# Flake evaluation checknix flake checkActive Fleet Inventory
| Host | Role | Hardware | Key Technologies |
|---|---|---|---|
framework16 | Primary Workstation Laptop | Framework Laptop 16 (AMD Ryzen 7840HS, 96GB RAM) | LUKS + TPM2, Lanzaboote Secure Boot, Btrfs + Swap Hibernation |
mini-pc-k8 | HTPC / Living Room Desktop | GMKtec NucBox K8 Plus (AMD Ryzen 8845HS, 64GB RAM) | Harmonia binary cache, Btrfs, Custom ALSA profile |