Theme System
The theme system separates theme data from theme application. cells/theme.nix selects a typed theme, and cells/theme/default.nix applies it to the desktop branch.
Up: cells
Down: theme selection | theme application | theme options
What this subtree does
The theme system makes visual configuration a data flow.
my.profile.themeselects a theme by slug.config.my.themebecomes the selected theme object.- Desktop leaves consume
config.my.themeto render application-specific config.
Why it is designed this way
Theme configuration often becomes duplicated across apps. This setup creates one palette and several adapters.
That means changing from a dark palette to a light palette is a profile change, not a manual edit across GTK, Qt, Hyprland, Waybar, prompt, and terminal files.