Connect the generated theme files to btop, Neovim, and kitty

This commit is contained in:
2026-09-20 13:31:43 -04:00
parent f00d09eb02
commit 52e747fe3e
7 changed files with 62 additions and 91 deletions
+6 -2
View File
@@ -37,8 +37,12 @@ with `--check`.
`wallpapers/`, `flats` is applied with `BLOB_THEME_HEADLESS=1` (no shell or
session bus exists yet), and the background symlink is pointed at the first
image in `~/wallpapers`. Without this the first login has no palette and no
wallpaper, which draws as a black desktop. All three steps are skipped when a
theme, a background or a wallpaper directory of your own is already there.
wallpaper, which draws as a black desktop. It then links the per-app theme
files the pipeline renders but no app would otherwise find:
`~/.config/btop/themes/current.theme` (btop's `color_theme = "current"`) and,
only when `~/.config/nvim/lua/plugins` already exists, `theme.lua` there.
Every step is skipped when a theme, a background, a wallpaper directory or a
theme file of your own is already in place.
6. **User units** land in `~/.config/systemd/user` and are enabled, not started:
they are all `WantedBy=graphical-session.target`, so they come up with the
session. `blob-speaker-tuning.service` is left out, because
+6
View File
@@ -27,6 +27,12 @@ the shell and the CLI never disagree about what a slot means.
## Templates
Each rendered file is picked up differently: `foot.ini` and `kitty.conf` by an
`include` in the shipped terminal config, `hyprland.lua` through Hyprland's Lua
module path, `shell.toml` and `chromium.theme` read straight from the state
directory, and `btop.theme` and `neovim.lua` through symlinks the installer
makes into those apps' own config trees.
`default/themed/*.tpl` are rendered per theme into
`~/.local/state/blob/current/theme/`. Nine ship: foot, kitty, btop, chromium,
hyprland, the screenshare picker, neovim, `shell.toml`, and zen.