Nix — Trivia & Interesting Facts¶
Surprising, historical, and little-known facts about Nix and NixOS.
Nix started as a PhD thesis in 2003¶
Eelco Dolstra created Nix as part of his PhD research at Utrecht University in the Netherlands. His 2006 dissertation, "The Purely Functional Software Deployment Model," introduced the idea of treating software packages like values in a functional programming language — immutable, with no side effects. This radical idea took nearly 20 years to gain mainstream attention.
Nixpkgs is the largest package repository in the world¶
Nixpkgs, the Nix package collection, contains over 100,000 packages — more than any other package repository including Debian's apt, Arch's AUR, or Homebrew. This includes packages for Linux, macOS, and even some Windows software. The repository is maintained by over 6,000 contributors.
Nix's reproducibility guarantee is mathematically rigorous¶
Nix derives package identifiers from a cryptographic hash of all inputs (source code, dependencies, build flags, compiler version). If any input changes, the hash changes, and a new package is built. This means two machines with the same Nix expression are provably running identical software — a guarantee no other package manager provides.
NixOS can roll back the entire operating system to any previous state¶
NixOS, the Linux distribution built on Nix, stores every system configuration as an immutable generation. You can boot into any previous system state from the bootloader menu. A bad kernel update, broken driver, or misconfigured service can be undone instantly by selecting the previous generation — no recovery USB needed.
The Nix language is intentionally limited¶
The Nix expression language is deliberately NOT Turing-complete in its pure form (though it becomes so with builtins). Eelco Dolstra designed it this way because package definitions should describe "what" to build, not encode arbitrary logic. This intentional limitation frustrated programmers who wanted more expressiveness but prevented the complexity explosion seen in other build systems.
Nix flakes resolved a 15-year-old usability problem¶
Nix "flakes," introduced experimentally around 2020, added standardized project structure, lock files, and hermetic evaluation to Nix. Before flakes, Nix projects had no standard way to pin dependencies, making reproducibility ironic — the "reproducible" package manager had no built-in mechanism for reproducible project definitions.
DevOps teams use Nix to create identical development environments¶
Nix's nix develop (formerly nix-shell) command creates development environments with exactly specified tools and dependencies. Every developer on a team gets identical compilers, libraries, and tools regardless of their host OS. This solved "works on my machine" more thoroughly than Docker for development environments, though with a steeper learning curve.
The Nix community went through a governance crisis in 2024¶
In 2024, the Nix community experienced a significant governance crisis involving debates over corporate influence, moderation policies, and project direction. Several prominent contributors left or reduced involvement. The crisis led to governance reforms including the creation of a constitutional team and more transparent decision-making processes.
Nix's store model was ahead of its time by two decades¶
Nix's /nix/store — where every package version is stored in a content-addressed path like /nix/store/abc123-nginx-1.24 — predated similar concepts in Docker (content-addressed layers), Git (content-addressed objects), and IPFS (content-addressed files) by years. The immutable, content-addressed storage pattern that Nix pioneered became a cornerstone of modern infrastructure.
Companies using Nix in production include Target, Shopify, and Replit¶
Despite its reputation as an academic tool, Nix is used in production at major companies. Target uses NixOS for retail infrastructure, Shopify uses Nix for developer environments, and Replit used Nix to provide reproducible development environments for millions of users. These adoptions validated Nix's production readiness after years of being dismissed as "too complex."