fix(hyprland,niri): correct Vicinae theme + config deployment

Same Vicinae theming bug as hyprlua, now fixed across the remaining DE modules:

- Vicinae loads named custom themes only from ~/.local/share/vicinae/themes/*.toml,
  not ~/.config/vicinae/. Both modules now deploy cyberqueer.toml there so
  settings.json's theme.dark.name="cyberqueer" resolves instead of falling back
  to the stock dark theme.

- hyprland: the source had settings.json double-nested at vicinae/vicinae/, so it
  deployed to ~/.config/vicinae/vicinae/settings.json and was never read. Flattened
  the source to vicinae/{settings.json,cyberqueer.toml} (matching hyprlua), so it
  now lands at ~/.config/vicinae/settings.json.

- niri/vicinae is a symlink to hyprlua/vicinae and niri.sh uses `cp -rL`, so its
  settings.json was already correct; only the theme-deploy line was needed.

Verified by simulating both deploys into a temp HOME: final layout matches the
known-good hyprlua result.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01R5kHioUMK3mtf2eiLEozCM
main
Amir Alexander Abdelbaki 2026-06-27 23:32:20 +02:00
parent 734e28b1fc
commit 2a54a0302b
3 changed files with 18 additions and 0 deletions

View File

@ -321,6 +321,15 @@ for cfg in "${CONFIGS[@]}"; do
cp -r ~/Dotfiles/desktopenvs/hyprland/"$cfg" ~/.config/
done
# Vicinae loads NAMED custom themes only from ~/.local/share/vicinae/themes/*.toml,
# NOT from ~/.config/vicinae/. The cyberqueer.toml copied above lands in the
# config dir where Vicinae never looks, so settings.json's
# theme.dark.name="cyberqueer" silently falls back to the stock dark theme.
# Deploy the theme where Vicinae actually scans so the named theme resolves.
mkdir -p ~/.local/share/vicinae/themes
cp -f ~/Dotfiles/desktopenvs/hyprland/vicinae/cyberqueer.toml \
~/.local/share/vicinae/themes/cyberqueer.toml
# hypr-usr/ holds device-specific overrides (monitor layout, keybinds, envvars).
# In the legacy hyprlang setup these are .conf files at the ~/.config/ root
# level; hyprland.conf sources them with 'source = ~/.config/monitors.conf' etc.

View File

@ -107,6 +107,15 @@ for cfg in "${CONFIGS[@]}"; do
cp -rL ~/Dotfiles/desktopenvs/niri/"$cfg" ~/.config/
done
# Vicinae loads NAMED custom themes only from ~/.local/share/vicinae/themes/*.toml,
# NOT from ~/.config/vicinae/. The cyberqueer.toml copied above (niri/vicinae is a
# symlink to hyprlua/vicinae) lands in the config dir where Vicinae never looks, so
# settings.json's theme.dark.name="cyberqueer" silently falls back to the stock
# dark theme. Deploy the theme where Vicinae actually scans so it resolves.
mkdir -p ~/.local/share/vicinae/themes
cp -f ~/Dotfiles/desktopenvs/niri/vicinae/cyberqueer.toml \
~/.local/share/vicinae/themes/cyberqueer.toml
cp ~/Dotfiles/colors.conf ~/.config/colors.conf
# 10. greetd — deploy niri session config