9.1 What flakes are and why they exist
Lesson 59 of 68 · 11:28
Up next in 5s…
About this lesson
Nix flakes are the most argued about feature in the ecosystem, and this lesson opens the flakes section with the question forum threads never answer: what problem do flakes actually solve? You learn where evaluation caching, the flake registry, built-in pinning and the new nix CLI come from, and why flakes are still marked experimental years after their 2019 debut. This is the context that makes every flakes tutorial afterwards click.
In this video
- The one thing Nix could never cache before flakes, and which features (
NIX_PATH,builtins.currentSystem) had to be forbidden to get it - What replaced channels: the registry behind
nix shell nixpkgs#nodejs - Mixing packages from two different nixpkgs revisions in a single command, something the old CLI could not do
- Running a tool straight from a GitHub repository with
nix run, no checkout needed - The RFC history: why flakes are still not enabled by default, told by someone who asked Eelco about it over lunch at NixCon
After this lesson
You know exactly what flakes add on top of plain Nix, what they take away, and why the community is split. Every design decision in the following lessons will make sense.