Learning NixOS
A non-linear, wiki-style guide on learning to work with Nix and NixOS. Work in progress, and constantly improving.
Concepts
This chapter introduces you to a number of different core concepts in Nix and NixOS, as well as v...
What is Nix?
Nix is a next-generation package and system manager. Many other package managers suffer from dep...
What is nixpkgs?
You'll often run across the name 'nixpkgs' in this documentation. Nix itself is really just the p...
What is NixOS?
While Nix can run as a stand-alone package manager on any Linux system, and even on macOS, there'...
What is NixOps?
Nix (and NixOS) themselves only manage a single machine. If you want to manage multiple machines,...
What is Hydra?
Hydra is, more or less, a build server. Unsurprisingly, it uses Nix and nixlang for specifying wh...
What is a derivation?
You can think of a derivation as a set of build instructions, somewhat similar to how IKEA furnit...
What is the Nix store?
The Nix store is a folder, located at /nix/store by default, that contains every build result fro...
The high-level workflow of Nix
You can use Nix to build many different things for many different purposes. However, the basic wo...
Frequently Asked Questions
General Are there any downsides? Yes. Here are some of the most common issues that people run i...
Installing software
This chapter describes the different ways in which you can install software on NixOS - as well as...
Running unpackaged software
This chapter guides you through a number of ways in which you can run software that isn't package...