

Hands-on dive into Nix, Nixpkgs, and NixOS
📍ROOM 3.1
Traditional package managers are destructive, as they mutate global state, overwrite binaries in usrbin, and inevitably lead to dependency hell. "It works on my machine" is a feature, not a bug.
To fix this, the industry turned to Docker, shoving every application into its own isolated operating system. But Docker only treats the symptom, adding massive overhead and an orchestration tax just to solve dependency collisions. Nix cures the disease, treating packages purely functionally and eliminating global paths. Nix gives you the isolation of a container natively on your machine, without the bloat.
The workshop aims to explain the philosophy, theory, and practical aspects of Nix. We will look into why global state fails and how the Nix package manager isolates dependencies, allowing conflicting versions of software to sit side-by-side without colliding.
Look into nixpkgs, the largest open-source package repository in the world, to spin up instant, reproducible development shells and build pipelines that replace Docker setups.
We will look into NixOS to declare an entire operating system as code. Explore the features of nixos-rebuild to build a reproducible system configuration from scratch, safely tweak settings, and intentionally break the system to showcase the atomic upgrades by fixing our broken setups with a single, instant rollback command and from the boot menu.
Bring your laptop. Hopefully you'll leave with a completely new mindset for managing your machines and development pipelines.