Get in Touch

Course Outline

**Declarative System Sovereignty** * Analysis of the risks associated with imperative configuration management, including system drift and compliance audit failures. * Utilization of the Nix store, derivations, and pure functional paradigms to construct reliable system environments. * Comparison of NixOS against traditional Linux distributions, emphasizing immutability and atomic upgrade capabilities for **for government** infrastructure stability. **Installation and Fundamental Configuration** * Procedures for installing NixOS via ISO media, including both manual and automated partitioning strategies. * Overview of the Nix language syntax, specifically sets, functions, and import mechanisms. * Structure of the `configuration.nix` file and the underlying module system architecture. * methods for locating software packages and configuration options using `nix search` and associated documentation. **Package and Service Administration** * Protocols for installing packages at the system level versus user-specific contexts using `nix-env`. * Declarative enablement and management of systemd services. * Implementation of custom package overrides and overlay repositories to extend default software sets. * Maintenance of storage health through garbage collection and store optimization techniques. **Reproducible Development Environments** * Use of `nix-shell` and `shell.nix files for creating ephemeral, ad-hoc development contexts. * Adoption of Nix Flakes to ensure reproducibility through lockfile-based dependency resolution. * Utilization of `devenv` and `devshell tools to streamline team onboarding and standardize development workflows. * Integration with Direnv to facilitate automatic environment switching based on directory context. **Remote Deployment and Fleet Management** * Configuration and management of system fleets using NixOps and Colmena frameworks. * Setup of remote build nodes and configuration of binary caches to accelerate deployment cycles. * Management of sensitive credentials utilizing agenix and sops-nx for secure secrets handling. * Validation of deployments through simulation in NixOS virtual machines and containerized environments. **System Maintenance, Updates, and Recovery** * Execution of `nixos-rebuild` with switch, test, and boot target modes to manage system transitions. * Capability to perform atomic rollbacks to prior system generations in the event of configuration errors. Management of Nix channels and pinned dependencies to maintain update consistency and reproducibility. * Procedures for emergency recovery and bootloader configuration adjustments. **Advanced Architectural Topics** * Implementation of NixOS containers and lightweight virtualization strategies for resource isolation. * Configuration of cross-compilation toolchains and ARM architecture builds. * Generation of custom installation media, including ISO images and netboot configurations. * Deployment of Hydra continuous integration pipelines to automate the testing and building of Nix packages.

Requirements

- Demonstrated proficiency in advanced Linux system administration and shell scripting. - Foundational knowledge of functional programming principles. - Working familiarity with Git and version-controlled configuration management practices.

Target Audience

  • Infrastructure engineers focused on implementing reproducible, declarative system architectures.
  • DevOps teams evaluating Nix as a strategic alternative to existing tools such as Ansible, Puppet, or Chef.
  • Agencies and organizations requiring bit-for-bit reproducible deployment environments for government operations.
 21 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories