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.
- The Nix store, derivations, and pure functions used for system construction.
- NixOS compared to traditional distributions: immutability and atomic upgrades.
Installation and Basics
- Installing NixOS from an ISO image with both manual and automated partitioning options.
- The Nix language: exploring sets, functions, and imports.
- Structure of configuration.nix and the module system.
- Searching for packages and options using nix search and manual pages.
Package and Service Management
- Differing between installing packages system-wide versus per-user with nix-env.
- Enabling systemd services declaratively.
- Implementing custom package overrides and overlays.
- Performing garbage collection and store optimization.
Reproducible Environments
- Using nix-shell and shell.nix for ad-hoc development.
- Achieving lockfile-based reproducibility with Nix Flakes.
- Facilitating team onboarding with devenv and devshell.
- Integrating Direnv for automatic environment switching.
Remote Deployment
- Managing fleets using NixOps and Colmena.
- Configuring remote building and binary caches.
- Managing secrets with agenix and sops-nix.
- Testing deployments via NixOS virtual machines and containers.
System Updates and Rollbacks
- Navigating nixos-rebuild switch, test, and boot modes.
- Executing atomic rollbacks to previous generations.
- Managing channels and pinning versions for reproducible updates.
- Handling emergency recovery and bootloader configuration.
Advanced Topics
- NixOS containers and lightweight virtualization techniques.
- Cross-compilation and ARM builds.
- Generating custom ISOs and netboot images.
- Implementing Hydra continuous integration for Nix packages.
Requirements
- Experience with advanced Linux system administration and shell scripting.
- A fundamental grasp 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