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.
Duration 21 hours
Course Outline
Declarative System Sovereignty
- How imperative configuration management leads to drift and audit failures.
- The Nix store, derivations, and pure functions for system construction.
- NixOS compared to traditional distros: immutability and atomic upgrades.
Installation and Fundamentals
- Installing NixOS from ISO using manual and automated partitioning methods.
- The Nix language: covering sets, functions, and imports.
- The structure of configuration.nix and the module system.
- Locating packages and options via nix search and man pages.
Package and Service Management
- Installing packages system-wide or per-user using nix-env.
- Declaratively enabling systemd services.
- Custom package overrides and overlays.
- Garbage collection and store optimization techniques.
Reproducible Environments
- Using nix-shell and shell.nix for ad-hoc development.
- Achieving lockfile-based reproducibility with Nix Flakes.
- Utilizing devenv and devshell for team onboarding.
- Direnv integration for automatic environment switching.
Remote Deployment
- Fleet management using NixOps and Colmena.
- Configuring remote building and binary caches.
- Managing secrets with agenix and sops-nix.
- Testing deployments with NixOS VMs and containers.
System Updates and Rollbacks
- Using nixos-rebuild switch, test, and boot modes.
- Atomic rollback to previous generations.
- Channel management and pinning for reproducible updates.
- Emergency recovery and bootloader configuration.
Advanced Topics
- NixOS containers and lightweight virtualization.
- Cross-compilation and ARM builds.
- Generating custom ISO and netboot images.
- Hydra continuous integration for Nix packages.
Requirements
- Advanced experience in Linux system administration and shell scripting.
- Basic 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 transition from Ansible, Puppet, or Chef to Nix.
- Organizations that require bit-for-bit reproducible deployments.