Program Leaves

cells/programs/ contains application and tool leaves. Most attach Home Manager modules to the desktop branch, while credential and mail tools attach to security, and command discovery attaches to base.

Up: cells

Down: Neovim

What this subtree does

Program leaves keep user applications out of the generic desktop modules. Hyprland, Waybar, audio, and login belong in desktop/; browsers, media tools, editors, terminal utilities, and application-specific config belong here.

Why this is still dendritic

The files are organized by application, but they still attach to branches.

config.my.branches.desktop.hmModules = [
  ({ pkgs, ... }: {
    programs.neovim.enable = true;
    home.packages = [ pkgs.ripgrep ];
  })
];

The host does not import programs/neovim.nix directly. It selects desktop, and the Neovim leaf rides along with that branch.

Leaf catalogue

LeafBranchPurpose
alganize.nixdesktopProject-specific desktop application wiring.
atuin.nixdesktopShell history sync and search.
bat.nixdesktopSyntax-highlighted file viewing.
brave.nixdesktopBrowser package and user configuration.
btop.nixdesktopTerminal system monitor configuration.
cava.nixdesktopAudio visualizer theming and config.
claude-code.nixdesktopAI coding CLI package wiring.
commitlint.nixdesktopCommit message linting configuration.
fastfetch.nixdesktopLogin/system summary display.
gpg.nixsecurityGPG and agent configuration.
imgview.nixdesktopImage viewer tooling.
lazygit.nixdesktopTerminal Git UI.
mail.nixsecurityMail configuration that may consume secrets.
matrix.nixdesktopMatrix client tooling.
matugen.nixdesktopMaterial color generation tooling.
mpv.nixdesktopMedia player configuration.
music.nixdesktopLocal music tooling and services.
neovim.nixdesktopEditor package and out-of-store config link.
nix-index.nixbaseCommand-not-found and package index support.
opencode.nixdesktopAI coding CLI configuration.
packages.nixdesktopGeneral user GUI and productivity packages.
rbw.nixsecurityBitwarden CLI integration and secret-adjacent tooling.
rofi.nixdesktopRofi launcher configuration.
search.nixdesktopSearch tooling.
spotify.nixdesktopSpotify application support.
streaming.nixdesktopStreaming and recording support.
tmux.nixdesktopTerminal multiplexer configuration.
wezterm.nixdesktopTerminal emulator configuration.
yazi.nixdesktopTerminal file manager configuration.
yt-dlp.nixdesktopMedia download tooling.
zathura.nixdesktopDocument viewer configuration.
zotero.nixdesktopReference manager package support.

Public documentation rule

Application names are generally safe to document, but account IDs, API keys, sync endpoints, mailbox names, and project-specific secrets should not be copied into public notes.