Get in Touch

Course Outline

Achieving Declarative System Sovereignty

  • Why imperative configuration management leads to drift and audit failures.
  • Using the Nix store, derivations, and pure functions to build systems.
  • NixOS compared to traditional distributions: immutability and atomic upgrades.

Installation and Core Concepts

  • Installing NixOS from ISO images with manual and automated partitioning.
  • The Nix language: sets, functions, and imports.
  • Understanding the structure of configuration.nix and the module system.
  • Searching for packages and options using nix search and man pages.

Managing Packages and Services

  • Installing packages system-wide versus per-user using nix-env.
  • Declaratively enabling systemd services.
  • Creating custom package overrides and overlays.
  • Performing garbage collection and optimizing the Nix store.

Building Reproducible Environments

  • Using nix-shell and shell.nix for ad-hoc development.
  • Leveraging Nix Flakes for lockfile-based reproducibility.
  • Utilizing devenv and devshell for streamlined team onboarding.
  • Integrating Direnv for automatic environment switching.

Remote Deployment Strategies

  • Managing fleets using NixOps and Colmena.
  • Configuring remote building and binary caches.
  • Managing secrets with agenix and sops-nix.
  • Testing deployments using NixOS virtual machines and containers.

System Updates and Rollbacks

  • Using nixos-rebuild in switch, test, and boot modes.
  • Executing atomic rollbacks to previous system generations.
  • Managing and pinning channels for reproducible updates.
  • Handling emergency recovery and bootloader configuration.

Advanced Topics

  • Using NixOS containers and lightweight virtualization.
  • Performing cross-compilation and ARM builds.
  • Generating custom ISOs and netboot images.
  • Implementing Hydra for continuous integration of Nix packages.

Requirements

  • Advanced experience in Linux system administration and shell scripting.
  • Foundational understanding of functional programming principles.
  • 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 processes.
 21 Hours

Number of participants


Price per participant

Testimonials (4)

Upcoming Courses

Related Categories