A glossary of words for the participants of NixCon 2022.
Some talks or conversations might be tricky to understand because of the unusual terminology. This is our little way to help.
NixOS
The name represents two things at the same time:
- The whole project and community.
- A Linux distribution built on top of nixpkgs.
Derivation
Build recipe described with Nix. It declares all the inputs and steps that will be used for the build.
Realization
The act of building a derivation. The results are called build outputs and appear in the /nix/store
Substituter
Build cache containing all the build outputs. The default one is https://cache.nixos.org/.
Hydra
CI that is designed specifically for nixpkgs. The main instance lives at https://hydra.nixos.org/.
Attribute sets
Attribute sets represent a sorted collection of key/value pairs in the Nix language.
Nix modules
Nix modules are what JSON Schema is to JSON. Itβs a library that adds types to a schema on config. NixOS and other projects use this to declare whole configurations.
GC root
A symlink to a /nix/store
entry and stored under /nix/var/nix/gcroots/
. These references are used during Garbage Collection to find what entries to keep.
Nix profile
Per user GC roots. Those are typically set when using nix-env
or nixos-rebuild
.
Channels
Represents two things:
- Releases of nixpkgs built and pushed by Hydra. See https://status.nixos.org/.
- GC roots that are managed by
nix-channel
.
Flakes
An experimental frontend to Nix adding dependency management and a central entry point to projects. Flakes are to Nix what NPM is to Node.
Import From Derivation (IFD)
The practice of reading the output of a built derivation during the Nix evaluation phase.
It allows moving computation from eval to build time but also breaks the eval/build split in the process. This leads to issues, especially when using Flakes.
Once NixCon was over, the list was submitted upstream to the nix.dev project for inclusion. See https://github.com/NixOS/nix.dev/pull/400
To suggest changes to this page, go to https://numtide.notion.site/The-Nixionary-9d1e954bbe614355b6335b57ddc6de6d?pvs=4
Numtide is a Nix and DevOps consultancy agency. We help our customers build better developer environments, train their teams to Nix, and deploy their apps to the cloud or bare-metal, β¦ Our team is composed of independent people that grew with open source. We always upstream first and open source all the toolings that we write.