cells in the Dendritic Flake
cells/ is where the flake becomes a system. Each file contributes options, branches, modules, host outputs, overlays, or development tooling.
Up: NixOS Flakes Dendritic System Setup
Down: options | branches | hosts | core | shell | desktop | theme | persist | secrets | server | programs | hardware | scripts | overlays
What this node does
The cell tree is imported by import-tree. That means files can be small and local while still contributing to the final flake output.
The important subtrees are:
options/defines the schema undermy.*.branches/defines the named collectors that leaves attach to.hosts/turns branch selections intonixosConfigurations.core/,shell/,desktop/,persist/,secrets/,server/,programs/,hardware/, andscripts/provide leaves.theme.nixandtheme/define and apply visual design data.overlays/connects custom packages and package overrides to the system.dev/exposes formatters, checks, and development shells.
Why it is set up this way
The cell tree keeps the configuration navigable. Instead of asking, “where is this option merged?”, you ask two questions.
- Which branch does this leaf attach to?
- Which host selects that branch?
That gives the repository an inspectable flow from generic behavior to concrete machine.
Code pattern
Most leaves have this shape.
_: {
config.my.branches.base.nixosModules = [
({ pkgs, ... }: {
environment.systemPackages = [ pkgs.git ];
})
];
}The file does not need to know the host. It only contributes to a branch. The host will later decide whether that branch is selected.