Nix
The Nix expression language from the ground up: attribute sets, functions and imports, derivations, then nixpkgs composition. One lesson per weekday session, following nix.dev and the Nix Pills.
- 2026-10-05Packaging a thread-pool web server: derivation, devShell, flake check
- 2026-10-04Packaging an unsafe-macros crate: derivation, devShell, flake check
- 2026-10-02Packaging a patterns crate: derivation, devShell, flake check
- 2026-10-02The POSIX floor gate inside nix flake check — /bin/sh · names-only · graduation
- 2026-10-01Packaging a trait-objects crate: derivation, devShell, flake check
- 2026-10-01Flake devShell and checks for a real crate — inputs/outputs · nix flake check
- 2026-09-30Static musl cross for a Rust binary — pkgsCross.musl64 / pkgsStatic
- 2026-09-29Packaging a Mutex/Arc crate: derivation, devShell, flake check
- 2026-09-28Packaging a channels crate: derivation, devShell, flake check
- 2026-09-28A Rust crate as a derivation — rustPlatform.buildRustPackage / cargo-tops
- 2026-09-25Basic Dependencies and Hooks — buildInputs, propagatedBuildInputs, setup hooks
- 2026-09-24Fundamentals of Stdenv — mkDerivation, setup, genericBuild
- 2026-09-23Nix Store Paths — source, output, and fixed-output
- 2026-09-22Nixpkgs Overriding Packages — packageOverrides and fixed point
- 2026-09-21Nixpkgs Parameters — system and config are nixpkgs knobs
- 2026-09-18Override Design Pattern — makeOverridable must return override again
- 2026-09-14CallPackage Design Pattern — the args that fill themselves
- 2026-09-11Inputs Design Pattern — package as function of inputs
- 2026-09-10Automatic Runtime Dependencies — the reference found in the NAR
- 2026-09-07Generic Builders — mkDerivation, buildInputs, and //
- 2026-09-04Working Derivations — bash builder, $out, and the path Nix copies into the store
- 2026-09-03Pills 6 Our First Derivation — name/system/builder, .drv as build spec, outPath before build, instantiate vs realise, and the Drv That Is Not a Build
- 2026-09-02Pills 5 Functions and Imports — nameless lambdas, currying, argument sets, defaults, @-pattern, import isolation, and the Scope That Does Not Travel
- 2026-09-01Pills 4 language recap — paths vs division, rec attrsets, with vs let, laziness, and the Slash That Is Not Division
- 2026-08-31Nix language basics — attrsets, lists, let/with/inherit, interpolation, lambdas, and the Set That Is Not a JSON Object