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 how imperative configuration management leads to drift and audit failures.
- The Nix store, derivations, and the use of pure functions in system construction.
- Comparing NixOS with traditional distributions: immutability and atomic upgrades.
Installation and Basics
- Installing NixOS from ISO images using both manual and automated partitioning methods.
- Introduction to the Nix language: sets, functions, and imports.
- Structure of configuration.nix and the module system.
- Locating packages and options using nix search and man pages.
Package and Service Management
- Differences between system-wide and per-user package installation via nix-env.
- Declarative enabling of systemd services.
- Implementing custom package overrides and overlays.
- Performing garbage collection and optimizing the Nix store.
Reproducible Environments
- Utilizing nix-shell and shell.nix for ad-hoc development setups.
- Achieving lockfile-based reproducibility with Nix Flakes.
- Facilitating team onboarding using devenv and devshell.
- Integrating Direnv for automatic environment switching.
Remote Deployment
- Managing fleets with NixOps and Colmena.
- Configuring remote building and binary caches.
- Handling secrets management using 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 system generations.
- Managing channels and pinning for consistent updates.
- Performing emergency recovery and configuring the bootloader.
Advanced Topics
- NixOS containers and lightweight virtualization techniques.
- Handling cross-compilation and ARM architecture builds.
- Generating custom ISOs and netboot images.
- Implementing continuous integration for Nix packages with Hydra.
Requirements
- Advanced experience in Linux system administration and shell scripting.
- Foundational knowledge of functional programming concepts.
- Familiarity with Git and version-controlled configuration workflows.
Target Audience
- Infrastructure engineers seeking reproducible, declarative systems.
- DevOps teams aiming to replace Ansible, Puppet, or Chef with Nix.
- Organizations requiring bit-for-bit reproducible deployment environments.
21 Hours