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
| Leaf | Branch | Purpose |
|---|---|---|
alganize.nix | desktop | Project-specific desktop application wiring. |
atuin.nix | desktop | Shell history sync and search. |
bat.nix | desktop | Syntax-highlighted file viewing. |
brave.nix | desktop | Browser package and user configuration. |
btop.nix | desktop | Terminal system monitor configuration. |
cava.nix | desktop | Audio visualizer theming and config. |
claude-code.nix | desktop | AI coding CLI package wiring. |
commitlint.nix | desktop | Commit message linting configuration. |
fastfetch.nix | desktop | Login/system summary display. |
gpg.nix | security | GPG and agent configuration. |
imgview.nix | desktop | Image viewer tooling. |
lazygit.nix | desktop | Terminal Git UI. |
mail.nix | security | Mail configuration that may consume secrets. |
matrix.nix | desktop | Matrix client tooling. |
matugen.nix | desktop | Material color generation tooling. |
mpv.nix | desktop | Media player configuration. |
music.nix | desktop | Local music tooling and services. |
neovim.nix | desktop | Editor package and out-of-store config link. |
nix-index.nix | base | Command-not-found and package index support. |
opencode.nix | desktop | AI coding CLI configuration. |
packages.nix | desktop | General user GUI and productivity packages. |
rbw.nix | security | Bitwarden CLI integration and secret-adjacent tooling. |
rofi.nix | desktop | Rofi launcher configuration. |
search.nix | desktop | Search tooling. |
spotify.nix | desktop | Spotify application support. |
streaming.nix | desktop | Streaming and recording support. |
tmux.nix | desktop | Terminal multiplexer configuration. |
wezterm.nix | desktop | Terminal emulator configuration. |
yazi.nix | desktop | Terminal file manager configuration. |
yt-dlp.nix | desktop | Media download tooling. |
zathura.nix | desktop | Document viewer configuration. |
zotero.nix | desktop | Reference 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.