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
- Understanding why imperative configuration management leads to drift and audit failures.
- Nix store, derivations, and pure functions for system building.
- NixOS compared to traditional distributions: immutability and atomic upgrades.
Installation and Fundamentals
- Installing NixOS from an ISO file using manual or automated partitioning methods.
- 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.
- Enabling systemd services declaratively.
- Implementing custom package overrides and overlays.
- Garbage collection and store optimization techniques.
Reproducible Environments
- nix-shell and shell.nix for ad-hoc development setups.
- Nix Flakes for lockfile-based reproducibility.
- devenv and devshell tools to streamline team onboarding.
- Direnv integration for automatic environment switching.
Remote Deployment
- NixOps and Colmena for fleet management.
- Configuring remote building and binary caches.
- Managing secrets using agenix and sops-nix.
- Deployment testing with NixOS VMs and containers.
System Updates and Rollbacks
- Using nixos-rebuild in switch, test, and boot modes.
- Performing atomic rollbacks to previous generations.
- Managing channels and pinning versions for reproducible updates.
- Emergency recovery procedures and bootloader configuration.
Advanced Topics
- NixOS containers and lightweight virtualization.
- Cross-compilation and ARM builds.
- Generating custom ISOs and netboot images.
- Hydra continuous integration for Nix packages.
Requirements
- Advanced experience in Linux system administration and shell scripting.
- Basic understanding of functional programming concepts.
- Familiarity with Git and version-controlled configuration workflows.
Audience
- Infrastructure engineers aiming for reproducible, declarative systems.
- DevOps teams seeking to replace Ansible, Puppet, or Chef with Nix.
- Organizations requiring bit-for-bit reproducible deployments.
21 Hours