Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Prerequisites

  • Install Nix 2.4 or later, or have it in nix-shell.

  • Enable experimental features nix-command and flakes.

    • When using NixOS, add the following to your configuration.nix and rebuild your system.

      nix.settings.experimental-features = "nix-command flakes";
      
    • If you are not using NixOS, add the following to nix.conf (located at ~/.config/nix/ or /etc/nix/nix.conf).

      experimental-features = nix-command flakes
      

      You may need to restart the Nix daemon with, for example, sudo systemctl restart nix-daemon.service.

    • Alternatively, you can enable flakes on a per-command basis with the following additional flags to nix and home-manager:

      $ nix --extra-experimental-features "nix-command flakes" <sub-commands>
      $ home-manager --extra-experimental-features "nix-command flakes" <sub-commands>
      
  • Prepare your Home Manager configuration (home.nix).

    Unlike the channel-based setup, home.nix will be evaluated when the flake is built, so it must be present before bootstrap of Home Manager from the flake. See Configuration Example for introduction about writing a Home Manager configuration.