Branches in the Dendritic Flake

Branches are named collectors. They do not usually implement much behavior themselves. Instead, leaves attach modules to them.

Up: cells

Down: base | desktop | security | server | matrix | addons | legacy

What this node does

Each branch is an attribute under my.branches.

config.my.branches.base = {
  description = "Dendritic base branch for core and shell trunk modules.";
};

Leaves then append modules to that branch.

config.my.branches.base.nixosModules = [
  ({ pkgs, ... }: {
    environment.systemPackages = [ pkgs.git ];
  })
];

Why branches are light

If branch files contained all implementation details, they would become monoliths. By keeping branches light, each leaf can stay close to its concern while still being selected through a coherent branch name.

This is the key dendritic move: structure grows outward, but selection stays simple.

Branch catalogue

  • base collects core system and shell modules.
  • desktop collects Wayland, UI, applications, scripts, hardware convenience, and theme application modules.
  • security collects hardening, persistence, secrets, SSH, mail, and credential tooling.
  • server collects headless server defaults.
  • matrix collects Matrix homeserver services.
  • addons collects optional operational tools controlled by profile toggles.
  • legacy collects older my.nixosModules and my.hmModules accumulators.