1
0
Fork 0
gnu-plus-dotfiles/dot_config/sway/config.d/00-gruvbox.conf
rain 6bbaa8f2f5 Add sway/wofi/foot Wayland desktop stack with per-host toggle
New opt-in feature for x86_64 desktops: sway + wofi + foot + swaybg +
swaylock + swayidle + grim + slurp + waybar + wl-clipboard. mako on
arch, dunst on debian (mako isn't packaged for debian).

Files:
- .chezmoi.yaml.tmpl: added data.sway flag (true on miche/byte/kaiser,
  false on Pis). Override per host with ~/.config/chezmoi/features/sway
  or ~/.config/chezmoi/features/no-sway marker files.
- run_once_40-install-sway.sh.tmpl: installs packages if .sway=true,
  exits 0 otherwise. Sets up the marker file.
- dot_config/{sway,foot,wofi,waybar,mako}/: existing configs from miche.

Per-host toggle workflow:
  # On any box, enable sway:
  touch ~/.config/chezmoi/features/sway
  chezmoi apply

  # On a sway-enabled box, disable it:
  touch ~/.config/chezmoi/features/no-sway
  rm ~/.config/chezmoi/features/sway
  chezmoi apply

Currently sway packages are already installed on miche (existed before
this commit). Byte will get them via the new run_once_40 script.
Pis (rye, crouton) are unaffected — install script early-returns.
2026-06-22 14:23:56 -04:00

18 lines
1.1 KiB
Text

# === ~/.config/sway/config.d/00-gruvbox.conf ===
# gruvbox material dark hard — wired through gsettings so Thunar, Firefox chrome,
# and any GTK3/4 app pick it up the moment sway starts.
# Run gsettings in a sh -c wrapper so we can pipe stderr to /dev/null.
# This is necessary because the very first exec block runs before dbus is
# always reachable, and gsettings prints a long bar-warning to stderr when
# it can't find the bus. We don't want the red bar to surface that.
exec_always {
gsettings set org.gnome.desktop.interface gtk-theme 'Gruvbox-Material-Dark-Hard' 2>/dev/null
gsettings set org.gnome.desktop.interface icon-theme 'Gruvbox-Material-Dark' 2>/dev/null
gsettings set org.gnome.desktop.interface cursor-theme 'Gruvbox-Material-Dark' 2>/dev/null
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark' 2>/dev/null
gsettings set org.cinnamon.desktop.interface gtk-theme 'Gruvbox-Material-Dark-Hard' 2>/dev/null
}
# gnome-keyring (in case any GTK app needs secret service for ssh-agent bridge)
exec gnome-keyring-daemon --start --components=secrets