nix-dendritic

Restructure multi-host Nix configurations into feature-centric modules with flake-parts.

2|1|Updated Mar 8, 2026
One-click install
npx skills add https://github.com/mattstruble/skills --skill nix-dendritic
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nix-dendritic
Source: https://github.com/mattstruble/skills/tree/main/nix-dendritic
Command: npx skills add https://github.com/mattstruble/skills --skill nix-dendritic

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Dendritic standardizes multi-host Nix configurations by applying a feature-centric pattern that structures config around reusable features across NixOS, Darwin, and Home Manager. It is designed for multi-host or cross-platform setups and is not intended for general Nix questions; see the nix skill for those.

Core Features & Use Cases

  • Feature-centric modules using flake.modules.<class>.<aspect> to express capabilities
  • import-tree auto-loads all module files, enabling scalable feature sharing without manual imports
  • PerSystem outputs and inheritance patterns allow a layered system-default to system-desktop hierarchy across NixOS, Darwin, and Home Manager

Quick Start

Scaffold a new dendritic config using the scaffolding templates and start adding feature modules under modules/.

Frequently Asked Questions about nix-dendritic

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure multi-host Nix configurations to share features across NixOS and Darwin?

Multi-host Nix configurations can share features across NixOS, Darwin, and Home Manager by applying the Dendritic pattern. This feature-centric approach modularizes capabilities using flake-parts module classes and aspects, composing hosts by importing shared modules rather than aggregating hosts.

What is the best way to organize a cross-platform Nix flake for scalability?

The best way to organize a cross-platform Nix flake for scalability is using a feature-centric structure. The Dendritic pattern uses import-tree to auto-load module files, enabling scalable feature sharing without manual imports and discouraging host-centric file organization.

Can I use flake-parts with Home Manager and NixOS modules in a shared configuration?

Yes, you can use flake-parts with Home Manager and NixOS modules in a shared configuration. The Dendritic pattern uses flake.modules.<class>.<aspect> to express capabilities, allowing perSystem outputs and layered inheritance patterns across NixOS, Darwin, and Home Manager.

How do I auto-load Nix module files without manual imports in a flake?

You can auto-load Nix module files without manual imports by using the import-tree tool within the Dendritic pattern. This mechanism automatically loads all module files under the modules/ directory, enabling scalable feature sharing across your multi-host Nix configuration.

When should I not use a feature-centric Nix configuration pattern?

You should not use a feature-centric Nix configuration pattern like Dendritic for general Nix questions or single-host setups. It is specifically designed for multi-host or cross-platform environments and standardizes configurations by expressing capabilities as reusable features.

Does the Dendritic pattern support layered system hierarchies for desktop and server hosts?

Yes, the Dendritic pattern supports layered system hierarchies for desktop and server hosts. It uses perSystem outputs and inheritance patterns to establish a layered system-default to system-desktop hierarchy across NixOS, Darwin, and Home Manager.