Personal NixOS configuration as a flake.
Hyprland + caelestia desktop across two laptops, built with flake-parts, home-manager, sops-nix, and disko.
Each host builds a full variant and a stripped -minimal variant.
| Host | Machine | Desktop |
|---|---|---|
| pavg15 | HP Pavilion Gaming 15-ec1047ax | Hyprland + caelestia |
| sfx14 | Acer Swift X SFX14-72G-79PY | Hyprland + caelestia |
flake.nix- inputs and flake-parts entry pointparts/- flake-parts modules (hosts, formatter, checks, dev shell, apps)hosts/<name>/- host-specific config and generated hardware;hosts/disko.nixis the shared disk layoutmodules/nixos/- one-concern system modules (default.nixfull,minimal.nixbase)modules/home/- one-concern home-manager modulespkgs/- locally packaged tools exposed through the NixOS overlay and home profile, includingqmd(CPU-only, x86_64-linux)lib/mkHost.nix- host factory, wires home-manager in as a NixOS module
Config that must stay live-editable (dotfiles, agent config) is symlinked out of the store from the sibling dotfiles and dotagents repos.
sudo nixos-rebuild switch --flake .#<host>Fresh install or reinstall of a host: docs/runbooks/install.md (USB at the console) or docs/runbooks/install-anywhere.md (remote over the tailnet).
nix develop # or: direnv allow
nix fmt # format
nix flake check # lint and build every hostMIT, see LICENSE. This is a personal repo: read it, fork it, open an issue. Pull requests are not accepted, see CONTRIBUTING.md.