Skip to content

Getting Started

New to this repository? Start here.

  • Overview


    What this configuration is, the design goals, and how the pieces fit together at a glance.

  • Quick Start


    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 a profile (workstation or laptop) 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.