Get in Touch

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

Number of participants


Price per participant

Upcoming Courses

Related Categories