Nix is a package manager which comes in a form of many command line tools. Packages that Nix can build are defined with the Nix Expression Language.
- Basic package management
- What is a channel?
- Main command line tools:
- Nix expression language
The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the Nix package manager and NixOS Linux distribution.
- Configure nixpkgs
- Customize packages (override packages)
- Extend nixpkgs (via overlays)
- Adding a package to nixpkgs
- Integrate Nix with programming languages:
- Integrate Nix with frameworks:
- Configure your editor with Nix:
- Contributing to Nixpkgs
NixOS is a Linux distribution based on Nix package manager.
- Installing NixOS
- Changing the Configuration
- Upgrading NixOS
- Configuration Syntax
- Package Management
- User Management
- Writing NixOS Modules
- Writing NixOS Documentation
- Writing NixOS Tests
- Building Your Own NixOS CD
Other learning resources
The Nix Hour
A weekly beginner-oriented interactive video lecture on all things Nix. Running since October 2022.Watch on YouTube
A unofficial, user-maintained wiki for Nix and NixOS.Check the wiki
A low-level tutorial on building software packages with Nix, showing in detail how Nixpkgs is constructed.Take the Pills