Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Declarative System Sovereignty
- The causes of drift and audit failures in imperative configuration management.
- Nix store, derivations, and the use of pure functions for system building.
- NixOS compared to traditional distributions: immutability and atomic upgrades.
Installation and Basics
- Installing NixOS from an ISO image using manual and automated partitioning.
- The Nix language: sets, functions, and imports.
- Structure of configuration.nix and the module system.
- Searching for packages and options using nix search and man pages.
Package and Service Management
- Installing packages system-wide versus per-user with nix-env.
- Declarative enablement of systemd services.
- Custom package overrides and overlays.
- Garbage collection and store optimization.
Reproducible Environments
- nix-shell and shell.nix for ad-hoc development.
- Nix Flakes for lockfile-based reproducibility.
- devenv and devshell for streamlined team onboarding.
- Direnv integration for automatic environment switching.
Remote Deployment
- Fleet management using NixOps and Colmena.
- Configuration of remote building and binary caches.
- Secrets management with agenix and sops-nix.
- Deployment testing utilizing NixOS VMs and containers.
System Updates and Rollbacks
- nixos-rebuild switch, test, and boot modes.
- Atomic rollback to previous generations.
- Channel management and pinning for reproducible updates.
- Emergency recovery procedures and bootloader configuration.
Advanced Topics
- NixOS containers and lightweight virtualization.
- Cross-compilation and ARM builds.
- Generation of custom ISO and netboot images.
- Hydra continuous integration for Nix packages.
Requirements
- Advanced experience in Linux system administration and shell scripting.
- Fundamental understanding of functional programming concepts.
- Familiarity with Git and version-controlled configuration workflows.
Audience
- Infrastructure engineers seeking reproducible, declarative systems.
- DevOps teams aiming to replace Ansible, Puppet, or Chef with Nix.
- Organizations requiring bit-for-bit reproducible deployments.
21 Hours