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
- How imperative configuration management leads to drift and audit failures.
- Building systems using the Nix store, derivations, and pure functions.
- NixOS compared to traditional distributions: immutability and atomic upgrades.
Installation and Fundamentals
- Installing NixOS from an ISO with both manual and automated partitioning.
- The Nix language: exploring sets, functions, and imports.
- Understanding the structure of configuration.nix and the module system.
- Searching for packages and options using nix search and manual pages.
Managing Packages and Services
- Installing packages system-wide versus per-user via nix-env.
- Enabling systemd services through declarative configuration.
- Implementing custom package overrides and overlays.
- Optimizing the store and managing garbage collection.
Reproducible Environments
- Using nix-shell and shell.nix for ad-hoc development tasks.
- 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.
- Handling secrets management with agenix and sops-nix.
- Testing deployments using NixOS VMs and containers.
System Updates and Rollbacks
- Utilizing nixos-rebuild switch, test, and boot modes.
- Performing atomic rollbacks to previous generations.
- Managing channels and pinning to ensure reproducible updates.
- Emergency recovery procedures and bootloader configuration.
Advanced Topics
- NixOS containers and lightweight virtualization options.
- Cross-compilation techniques and ARM builds.
- Generating custom ISOs and netboot images.
- Implementing Hydra continuous integration for Nix packages.
Requirements
- Advanced experience in Linux system administration and shell scripting.
- A foundational understanding of functional programming concepts.
- Familiarity with Git and version-controlled configuration workflows.
Target Audience
- Infrastructure engineers seeking reproducible and declarative system architectures.
- DevOps teams aiming to replace tools like Ansible, Puppet, or Chef with Nix.
- Organizations that require bit-for-bit reproducible deployment capabilities.
21 Hours