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