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
- Why imperative configuration management can lead to system drift and audit failures.
- Utilizing the Nix store, derivations, and pure functions for building systems.
- Comparing NixOS with traditional distributions: immutability and atomic upgrades.
Installation and Basics
- Installing NixOS from an ISO using both manual and automated partitioning methods.
- Understanding the Nix language, including sets, functions, and imports.
- Exploring the structure of configuration.nix and its module system.
- Searching for packages and options using nix search and man pages.
Package and Service Management
- Installing packages system-wide versus per-user with nix-env.
- Enabling systemd services through declarative configuration.
- Implementing custom package overrides and overlays.
- Managing garbage collection and store optimization.
Reproducible Environments
- Using nix-shell and shell.nix for ad-hoc development environments.
- Leveraging Nix Flakes for lockfile-based reproducibility.
- Utilizing devenv and devshell for team onboarding.
- Integrating Direnv for automatic environment switching.
Remote Deployment
- Employing NixOps and Colmena for fleet management in remote deployment scenarios.
- Configuring remote building and binary caches.
- Managing secrets with agenix and sops-nix.
- Conducting deployment testing using NixOS VMs and containers.
System Updates and Rollbacks
- Using nixos-rebuild switch, test, and boot modes for system updates.
- Performing atomic rollbacks to previous generations.
- Managing channels and pinning for reproducible updates.
- Ensuring emergency recovery and configuring the bootloader.
Advanced Topics
- Utilizing NixOS containers for lightweight virtualization.
- Conducting cross-compilation and ARM builds.
- Generating custom ISO and netboot images.
- Implementing Hydra continuous integration for Nix packages, enhancing reliability and efficiency for government operations.
Requirements
- Proficiency in advanced Linux system administration and shell scripting.
- Knowledge of functional programming principles.
- Experience with Git and version-controlled configuration management.
Audience
- Infrastructure engineers aiming to implement reproducible, declarative systems for government.
- DevOps teams transitioning from Ansible, Puppet, or Chef to Nix.
- Organizations needing bit-for-bit reproducible deployments to ensure consistency and reliability.
21 Hours
Testimonials (2)
experienced trainer
Monika Biskupska - Osrodek Przetwarzania Informacji - Panstwowy Instytut Badawczy
Course - Kubernetes Security Fundamentals (LFS460)
trainer has hands-on knowledge