Beta
Start your first lab →
BlogManifestoContactStart your first lab →
labcraft.dev/blog
RSS

Notes from the lab.

Field notes on systems, judgment, and the infrastructure behind hands-on learning. Long-form, occasionally opinionated, and — like everything we ship — tested against real environments.

8 posts · updated weekly

More writing

Nix · NixOS · Engineering2 min

Why is a Nix rollback just a symlink flip?

Profiles and Generations, the fourth free Part of LabCraft's Nix course, is now available. Remove a tool, restore it by switching generations, and prove why wiping history still leaves its store path on disk.

Nix · NixOS · Engineering3 min

Why does shipping a Nix upgrade move only the difference?

Closures, the third Part of LabCraft's Nix course, is now available. On a real NixOS machine, it asks you to predict what an upgrade will actually move before Nix shows you the answer.

Engineering · Nix · Reliability7 min

MITM is a feature

On the open internet, terminating someone's TLS in the middle is an attack. Inside a trust domain we own end to end, it is what keeps a real Nix install command from failing because an upstream had a bad day.

Nix · NixOS · Engineering3 min

What does the hash in a Nix store path actually name?

Store Paths, the second Part of LabCraft's Nix course, is now available. It uses a real NixOS machine to answer what names a path and why that name moves.

Engineering · Nix · Reproducibility9 min

nix Didn't Hang. It Was Evaluating the World!

A beginner's first nix search looked like a tiny lookup and behaved like a memory benchmark. We pinned the installer, pinned nixpkgs, and baked the eval cache so the lesson could start with Nix, not the OOM killer.

Announcement · Nix5 min

Introducing LabCraft: learn Nix where it breaks

Learn Nix on a real VM that's yours to break, with chapters built around the failures everyone hits and checks that inspect what actually ran on the box.

LabCraft · Beta · 2026PrivacyTerms
labcraft.dev