A declarative, multi-platform system configuration built with Nix Flakes and flake-parts. One repo manages NixOS desktops, macOS workstations, and a headless ARM server. Everything is reproducible and version-controlled, composed from the same module tree.
| Host | Platform | Role |
|---|---|---|
| Faye | x86_64 NixOS | Desktop workstation: Hyprland, AMD GPU, gaming, full dev environment |
| Ed | aarch64 NixOS | Headless Raspberry Pi: DNS, ad-blocking, monitoring |
| Ein | aarch64 Darwin | MacBook, full configuration with Homebrew casks |
| Spike | aarch64 Darwin | Mac Mini (server), lean configuration |
- Architecture: how the configuration works end to end
- Flake-Parts Infrastructure: output builders, dev shell, hooks, formatter
- Deploying: rebuild and apply configuration to any host
- Adding a Module: NixOS-only, Home Manager-only, or both-layer modules
- Adding a Host: new NixOS or Darwin machine end-to-end
- Managing Secrets: adding and using sops-nix secrets
- Managing Age Keys: adding new machines, rotating keys
- Flake Inputs: adding and updating flake inputs
See you space cowboy...
