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
- Why imperative configuration management leads to drift and audit failures.
- The Nix store, derivations, and pure functions in system building.
- NixOS compared to traditional distributions: immutability and atomic upgrades.
Installation and Basics
- Installing NixOS from an ISO with both manual and automated partitioning.
- The Nix language: sets, functions, and imports.
- Understanding the structure of configuration.nix and its module system.
- Searching for packages and options using nix search and man pages.
Package and Service Management
- Installing packages system-wide versus per-user using nix-env.
- Enabling systemd services declaratively.
- Creating custom package overrides and overlays.
- Performing garbage collection and optimizing the store.
Reproducible Environments
- Using nix-shell and shell.nix for ad-hoc development.
- Nix Flakes for lockfile-based reproducibility.
- Utilizing devenv and devshell to streamline team onboarding.
- Integrating Direnv for automatic environment switching.
Remote Deployment
- Managing fleets with NixOps and Colmena.
- Configuring remote building and binary caches.
- Managing secrets with agenix and sops-nix.
- Testing deployments using NixOS VMs and containers.
System Updates and Rollbacks
- Using nixos-rebuild in 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.
- Leveraging Hydra for continuous integration of Nix packages.
Requirements
- Advanced Linux system administration skills and experience with shell scripting.
- A fundamental understanding 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 tools like Ansible, Puppet, or Chef with Nix.
- Organizations that require bit-for-bit reproducible deployments.
21 Hours