Get in Touch
 Duration 21 hours

Course Outline

Declarative System Sovereignty

  • Understanding how imperative configuration management contributes to drift and audit compliance failures.
  • Exploring the Nix store, derivations, and the use of pure functions in system construction.
  • Comparing NixOS with traditional distributions: focusing on immutability and atomic upgrades.

Installation and Fundamentals

  • Installing NixOS from an ISO image using both manual and automated partitioning methods.
  • Overview of the Nix language, including sets, functions, and imports.
  • Analyzing the structure of configuration.nix and the module system.
  • Utilizing nix search and manual pages to discover packages and options.

Package and Service Administration

  • Distinguishing between system-wide and per-user package installations using nix-env.
  • Declaratively enabling and managing systemd services.
  • Applying custom package overrides and overlays.
  • Optimizing the store and managing garbage collection.

Reproducible Development Environments

  • Using nix-shell and shell.nix for ad-hoc development tasks.
  • Leveraging Nix Flakes for lockfile-based reproducibility.
  • Facilitating team onboarding through devenv and devshell.
  • Integrating Direnv for seamless, automatic environment switching.

Remote Deployment Strategies

  • Implementing fleet management with NixOps and Colmena.
  • Configuring remote building and binary caches.
  • Managing secrets effectively using agenix and sops-nix.
  • Testing deployments via NixOS VMs and containers.

System Updates and Rollback Procedures

  • Mastering nixos-rebuild switch, test, and boot modes.
  • Performing atomic rollbacks to previous system generations.
  • Managing channels and pinning versions for reproducible updates.
  • Handling emergency recovery and configuring bootloaders.

Advanced NixOS Topics

  • Working with NixOS containers and lightweight virtualization.
  • Executing cross-compilation and ARM architecture builds.
  • Generating custom ISO and netboot images.
  • Implementing Hydra for continuous integration of Nix packages.

Requirements

  • Advanced proficiency in Linux system administration and shell scripting.
  • A solid grasp of fundamental functional programming concepts.
  • Experience with Git and version-controlled configuration workflows.

Target Audience

  • Infrastructure engineers seeking reproducible, declarative system architectures.
  • DevOps teams aiming to migrate from Ansible, Puppet, or Chef to Nix.
  • Organizations requiring bit-for-bit reproducible deployment capabilities.

Number of participants


Price per participant

Upcoming Courses

Related Categories