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