Objectives
By the end of this course, participants will be able to deploy, configure and maintain NixOS machines in production, manage declarative configurations with flakes, and set up multi-machine deployments.
Program
Day 1 : NixOS fundamentals
- Why NixOS: immutability, reproducibility, rollback
- The Nix store, paths and profiles
nix-shell,nix developand introduction to flakes- Configuration structure:
configuration.nix, modules, options - Lab: first NixOS deployment in a virtual machine
Day 2 : NixOS in production
- NixOS modules and configuration composition
- Secrets management (sops-nix / agenix overview)
- Declarative partitioning with disko
- systemd services and lifecycle
- Rollback, generations and update strategies
- Lab: hardening a production-style VM
Day 3 : Scale and operations
- Multi-machine deployments (colmena, deploy-rs)
- CI integration for flakes (validation, cache, deploy)
- High availability and backup patterns
- Troubleshooting: logs,
nixos-rebuild, regression bisect - Final lab: end-to-end use case (provision → deploy → rollback)