Nix from first principles
We'll take a look at Nix, going in the opposite direction of how people usually introduce it: let's start inside the store, understand a derivation file & how it is built, then go upwards from there: store paths, multiple derivations, the Nix language & its builtins to handle derivations, the abstractions built on top of these that are found in nixpkgs, and so on …
We'll probably not make it all the way to flakes, deployment tools or to niv & the like, but hopefully we'll all leave with a better understanding of how they day-to-day operations work below the surface.