Learn Nix
Determinate Systems (opens in a new tab) has created a learning resourced called Zero to Nix (opens in a new tab) that we recommend as a guide to getting started with Nix.
Unlike other learning resources in the Nix (opens in a new tab) ecosystem, Zero to Nix:
- Uses the Determinate Nix Installer (opens in a new tab)
- Takes a flakes (opens in a new tab)-centric perspective from the beginning
- Provides learning paths tailored to specific programming languages
Start
The main learning track in Zero to Nix is the Quick start (opens in a new tab), which includes eight practical tutorials:
- Get Nix running on your system (opens in a new tab)
- Run a program with Nix (opens in a new tab)
- Explore Nix development environments (opens in a new tab)
- Build a package using Nix (opens in a new tab)
- Search for Nix packages (opens in a new tab)
- Turn your project into a flake (opens in a new tab)
- Uninstall Nix (if necessary) (opens in a new tab)
- Learn more (opens in a new tab)
Concepts
Supplementing Zero to Nix's quick start are a series of docs covering a variety of core Nix concepts (opens in a new tab). Some of the most important include:
- Nix (opens in a new tab), the package manager, build tool, and command-line interface that undergirds FlakeHub (opens in a new tab).
- Flakes (opens in a new tab), which provide Nix with things like universal references (opens in a new tab) and pinned dependencies (opens in a new tab).
- Nix the language (opens in a new tab), which powers Nix and everything that Nix offers, including development environments (opens in a new tab), Nix packages (opens in a new tab), and the NixOS (opens in a new tab) operating system.
- Nixpkgs (opens in a new tab), the world's largest collection of Nix code, including derivations (opens in a new tab) for over 80,000 packages.