Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Declarative System Sovereignty
- Understanding how imperative configuration management results in drift and audit failures.
- Exploring the Nix store, derivations, and pure functions for system construction.
- Comparing NixOS with traditional distributions regarding immutability and atomic upgrades.
Installation and Fundamentals
- Installing NixOS from an ISO image using both manual and automated partitioning methods.
- Introduction to the Nix language, covering sets, functions, and imports.
- Examining the structure of configuration.nix and the module system.
- Utilizing nix search and man pages to find packages and options.
Package and Service Administration
- Installing packages system-wide versus per-user using nix-env.
- Declaratively enabling systemd services.
- Applying custom package overrides and overlays.
- Managing garbage collection and optimizing the store.
Reproducible Environments
- Using nix-shell and shell.nix for ad-hoc development tasks.
- Leveraging Nix Flakes for lockfile-based reproducibility.
- Employing devenv and devshell to streamline team onboarding.
- Integrating Direnv for automatic environment switching.
Remote Deployment
- Managing fleets with NixOps and Colmena.
- Configuring remote building and binary caches.
- Handling secrets management via agenix and sops-nix.
- Testing deployments using NixOS virtual machines and containers.
System Updates and Rollbacks
- Using nixos-rebuild switch, test, and boot modes effectively.
- Performing atomic rollbacks to previous system generations.
- Managing and pinning channels to ensure reproducible updates.
- Handling emergency recovery and bootloader configuration.
Advanced Concepts
- Implementing NixOS containers and lightweight virtualization.
- Performing cross-compilation and building for ARM architectures.
- Generating custom ISO and netboot images.
- Utilizing Hydra for continuous integration of Nix packages.
Requirements
- Proficiency in advanced 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 aiming for reproducible, declarative systems.
- DevOps teams intending to replace tools like Ansible, Puppet, or Chef with Nix.
- Organizations that require bit-for-bit reproducible deployment capabilities.
21 Hours