Get in Touch

Course Outline

Declarative System Sovereignty

  • Understanding how imperative configuration management leads to drift and audit failure.
  • The Nix store, derivations, and pure functions for system building.
  • NixOS compared with traditional distributions: immutability and atomic upgrades.

Installation and Basics

  • Installing NixOS from an ISO image using manual and automated partitioning methods.
  • The Nix language fundamentals: sets, functions, and imports.
  • Structure of configuration.nix and the module system.
  • Searching for packages and options using nix search and man pages.

Package and Service Management

  • Installing packages system-wide versus per-user via nix-env.
  • Declaratively enabling systemd services.
  • Implementing custom package overrides and overlays.
  • Garbage collection and store optimisation techniques.

Reproducible Environments

  • Utilising nix-shell and shell.nix for ad-hoc development.
  • Achieving lockfile-based reproducibility with Nix Flakes.
  • Facilitating team onboarding using devenv and devshell.
  • Direnv integration for automatic environment switching.

Remote Deployment

  • NixOps and Colmena for fleet management.
  • Configuring remote building and binary caches.
  • Secrets management employing agenix and sops-nix.
  • Deployment testing using NixOS VMs and containers.

System Updates and Rollbacks

  • nixos-rebuild switch, test, and boot modes.
  • Atomic rollback to previous system generations.
  • Channel management and pinning strategies for reproducible updates.
  • Emergency recovery procedures and bootloader configuration.

Advanced Topics

  • NixOS containers and lightweight virtualisation.
  • Cross-compilation and ARM builds.
  • Generating custom ISO and netboot images.
  • Hydra continuous integration for Nix packages.

Requirements

  • Advanced Linux system administration and shell scripting experience.
  • Fundamental understanding of functional programming concepts.
  • Familiarity with Git and version-controlled configuration workflows.

Audience

  • Infrastructure engineers seeking reproducible, declarative systems.
  • DevOps teams aiming to replace Ansible, Puppet, or Chef with Nix.
  • Organisations requiring bit-for-bit reproducible deployments.
 21 Hours

Upcoming Courses

Related Categories