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 construction.
- Differences between NixOS and traditional distributions: immutability and atomic upgrades.
Installation and Fundamentals
- NixOS installation from ISO with both manual and automated partitioning options.
- The Nix language syntax: sets, functions, and imports.
- The structure of configuration.nix and the module system.
- Searching for packages and options using nix search and man pages.
Package and Service Management
- System-wide versus per-user package installation using nix-env.
- Declarative enabling of systemd services.
- 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 to streamline 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 via agenix and sops-nix.
- Deployment testing with NixOS VMs and containers.
System Updates and Rollbacks
- nixos-rebuild modes: switch, test, and boot.
- Atomic rollback to previous system generations.
- Channel management and pinning for reproducible updates.
- Emergency recovery procedures and bootloader configuration.
Advanced Topics
- NixOS containers and lightweight virtualization strategies.
- Cross-compilation and ARM build processes.
- Generation of custom ISO and netboot images.
- Harnessing Hydra for continuous integration of Nix packages.
Requirements
- Advanced experience in Linux system administration and shell scripting.
- Foundational understanding of functional programming concepts.
- Familiarity with Git and version-controlled configuration workflows.
Target Audience
- Infrastructure engineers looking to implement reproducible, declarative systems.
- DevOps teams seeking to substitute Ansible, Puppet, or Chef with Nix.
- Organizations requiring bit-for-bit reproducible deployment processes.
21 Hours