Skip to content

NixOS Infrastructure Hub

A multi-host NixOS configuration built on flakes, a single parameterised host template, Home Manager as a flake module, and Stylix-driven theming. This site documents every module, package, and host — and explains the reasoning behind each architectural choice.

Get started Browse the reference View on GitHub

The hosts

  • p620 — AMD Workstation


    Primary development and AI workloads. Radeon RX 7900 with ROCm, local inference, binary cache server.

    Details

  • p510 — Media Server


    Headless Intel Xeon server. Plex media stack, NVIDIA transcoding, k3s MicroVMs.

    Details

  • razer — Laptop


    Mobile development. Hybrid Intel + NVIDIA graphics, Secure Boot via lanzaboote, power management.

    Details

How it fits together

  • One host template


    A single parameterised desktop.nix template selects between workstation and laptop profiles. No per-host import duplication.

    Template system

  • Feature flags


    Modules are imported explicitly and gated by feature flags with dependency and conflict validation.

    Feature flags

  • Stylix theming


    A single base16 palette drives colours everywhere — terminals, Zellij, COSMIC — from config.lib.stylix.colors.

    Theming

  • agenix secrets


    Secrets are age-encrypted, committed safely, and loaded at runtime — never read during evaluation.

    Secrets

Build this site

The documentation is built reproducibly with Nix — the same toolchain locally and in CI:

nix build .#docs          # -> ./result (static site)
just docs-serve           # live preview at http://127.0.0.1:8000
just docs-check           # strict build (fails on broken links)

Always in sync

The entire Reference section is generated from the live Nix source at build time. It mirrors every file under modules/, pkgs/, hosts/, lib/, and overlays/, so it can never drift from the configuration.