Skip to content

Credits

This infrastructure configuration builds on work from the Nix community.

  • flake-parts by Robert Hensing (@roberth) and Hercules CI (@hercules-ci) - The modular flake framework that enables defining and integrating deferred modules to configure multiple systems
  • import-tree by Victor Borja (@vic) - Automatic module discovery mechanism from a given directory subtree

Deferred module composition pattern documentation

Section titled “Deferred module composition pattern documentation”

The “dendritic” pattern is a community convention for aspect-based module organization using flake-parts and import-tree.

  • dendrix by Victor Borja (@vic) - Community ecosystem, documentation, and dendritic module “distribution”
  • dendritic by Shahar “Dawn” Or (@mightyiam) - “Awesome” dendritic flake-parts
  • clan - Multi-machine coordination and deployment framework
  • mirkolenz/nixos by Mirko Lenz - Multi-channel nixpkgs patterns and overlay composition strategies

These implementations informed the architectural patterns:

Deferred module composition pattern examples

Section titled “Deferred module composition pattern examples”
  • drupol/infra by Pol Dellaiera (@drupol) - Uses flake-parts based deferred modules and illustrates the “aspect”-based factorization of dependencies
  • GaetanLepage/nix-config by Gaétan Lepage (@GaetanLepage) - Uses flake-parts based deferred modules and illustrates configuration of a host possessing a GPU
  • Nix - Reproducible builds and deployments
  • NixOS - Linux distribution built on Nix
  • nix-darwin - Nix-based macOS system configuration
  • home-manager - User environment management with Nix
  • sops-nix - Secrets management for Nix
  • terranix - NixOS-native Terraform configuration