Learn
Guides
-
Discover Nix packages
-
Discover NixOS options
-
Learn Nix
Nix is a package manager which comes in a form of many command line tools. Packages that Nix can build are defined with Nix Expression Language.
- Installation
- Basic package management
- What is a channel?
- Main command line tools:
- Nix expression language
-
Learn Nixpkgs
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
- The Standard Environment
- Fetching sources
- Building images:
- Integrate Nix with programming languages:
- Integrate Nix with frameworks:
- Configure your editor with Nix:
- Contributing to Nixpkgs
-
Learn NixOS
NixOS is a Linux distribution based on Nix package manager.
- Installing NixOS
- Changing the Configuration
- Upgrading NixOS
- Configuration Syntax
- Package Management
- User Management
- Troubleshooting
- Writing NixOS Modules
- Writing NixOS Documentation
- Writing NixOS Tests
- Building Your Own NixOS CD
-
Other learning resources
- Nix Pills — At the beginning you may feel that some of the magic which happens behind the scenes is hard to grasp. This series aims to complement the existing explanations from the more formal documents.
- Wiki — A user-maintained wiki for Nix and NixOS.
- Nix cookbook — Nix Community Cookbook presents topical, practical ways of using Nix package manager ecosystem.
-
Get help from the community
The Community page shows where the community meets.
Get commercial support
The Commercial support page provides a list of consulting companies.