Before you start

The first exercise builds a Home Manager configuration and inspects its output. It does not activate that configuration on your account. You need a working Nix installation with flakes enabled, Git, an internet connection, and space for packages in the Nix store.

The starter covers x86_64-linux, aarch64-linux, and aarch64-darwin. The VM exercise requires x86_64-linux with KVM. Check the support table for the difference between configured checks and recorded runtime results.

Check your tools

nix --version
nix eval --impure --raw --expr builtins.currentSystem
git --version

If Nix is missing, follow the official installation guide. If the commands report a disabled experimental feature, follow the Nix flake setup guidance. The starter follows matching Nixpkgs and Home Manager release branches; its committed lockfile supplies the exact revisions.

Get the source

git clone --recurse-submodules https://github.com/nix-forge/nix-conf.git
cd nix-conf

For an existing clone, use git submodule update --init --recursive to populate the three related repositories at their recorded revisions. The public starter itself has no submodule dependencies.

The complete host targets contain hardware, accounts, and secret policy for the maintainer's machines. Start with the separate exercise rather than selecting a personal host for installation.

Continue to your first configuration.