Get in Touch

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

Number of participants


Price per participant

Upcoming Courses

Related Categories