This is my flake-parts based NixOS infrastructure repository. Hosts are declared once in parts/hosts.nix; the same inventory generates nixosConfigurations, package build aliases, and colmenaHive deployment nodes.
parts/contains flake-parts modules: host inventory, Colmena integration, and the dev shell.lib/contains small helpers such asmkHost.hosts/<name>/contains host-specific hardware, disk layout, persistence, users, and local policy.profiles/nixos/contains opt-in machine profiles such asbase,laptop,desktop,server, andlaptop-server.modules/nixos/contains reusable NixOS functionality.modules/home/contains Home Manager configuration for the<user>environment.assets/contains repository-owned files referenced by modules, such as wallpapers.
shadeis my personal Lenovo X1C 6th Gen laptop. It importsbase,laptop, anddesktop, uses Home Manager, impermanence, Hyprland.duskis a laptop-server / edge host for small services. It importsbaseandlaptop-server, is managed by Colmena, and deploys todusk.localasroot.
nix-topology is wired through flake-parts and receives the generated NixOS configurations. Build the diagrams with:
nix build .#topologyThe output appears under result/ and contains rendered SVG topology diagrams.
nix develop
nix flake check --no-write-lock-file
nh os build
nh os test
nh os switch
dix /run/current-system result
colmena build --on dusk
colmena apply --on dusk