Skip to content

Welcome to nix-config

Declarative multi-host NixOS and Home Manager configuration fleet managing workstations, laptops, and gaming consoles.

Quick Navigation

SectionDescriptionKey Pages
Getting StartedSetting up new machines from scratchSystem Installation • Post-Installation • BIOS & Firmware
ArchitectureFlake organization and machine topologiesFlake Architecture • Hosts Inventory • Home Manager • Dotfiles
ModulesReusable system capabilities and integrationsSystem Modules • Sunshine Streaming • Gaming & Gamescope • Flatpak • Shell Scripts • Overlays
OperationsDay-to-day maintenance and securitySecrets (agenix) • Desktop Entries • Code Quality

Core Pillars

  1. Centralized Flake Abstraction: All physical systems are declared as attribute sets inside a unified outputs.nix entry point, standardizing system architecture, primary users, and per-host system modules.

  2. Full Disk Encryption & TPM2 Auto-Unlock: Supported machines (e.g. framework16) leverage LUKS disk encryption integrated with TPM2 hardware PCR 7 policies via systemd-cryptenroll and Lanzaboote UEFI Secure Boot.

  3. 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.

  4. 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):

Terminal window
# Format code, stage boot entry, and activate live generation
nrs

Git & Commits

Terminal window
# Stage all changes, commit with conventional commit message, and push
git lazy "<commit message>"

Code Quality & Validation

Terminal window
# Format and lint code (Nix, Bash, Lua, TOML via treefmt)
nix fmt
# Flake evaluation check
nix flake check

Active Fleet Inventory

HostRoleHardwareKey Technologies
framework16Primary Workstation LaptopFramework Laptop 16 (AMD Ryzen 7840HS, 96GB RAM)LUKS + TPM2, Lanzaboote Secure Boot, Btrfs + Swap Hibernation
mini-pc-k8HTPC / Living Room DesktopGMKtec NucBox K8 Plus (AMD Ryzen 8845HS, 64GB RAM)Harmonia binary cache, Btrfs, Custom ALSA profile