Getting Started¶
New to this repository? Start here.
-
What this configuration is, the design goals, and how the pieces fit together at a glance.
-
Clone, validate, build, and deploy — the commands you will use every day.
-
:material-folder-tree: Repository Layout
A guided tour of every top-level directory and what belongs where.
Mental model in one minute¶
- One flake (
flake.nix) defines all three hosts and the dev/CI outputs. - One host template (
hosts/templates/desktop.nix) is parameterised by aprofile(workstationorlaptop) and imports the whole module tree. - Feature flags (
features.*) turn capabilities on per host instead of duplicating service config. - Home Manager runs as a flake module — user environments are activated by
the system rebuild, never by a separate
home-manager switch. - Stylix drives every colour from a single base16 palette.
- agenix keeps secrets encrypted in git and loads them at runtime.
If you remember nothing else: hosts are thin, modules are reusable, and features are the dials you turn.