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.
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.