Files
dots/gui/.config/uwsm/env-hyprland.d/10-dots.sh
T
2026-09-17 20:45:06 +02:00

29 lines
1.8 KiB
Bash

#!/usr/bin/env sh
# Keep Hyprland on this repo's hyprlang config instead of HyDE's Lua one.
#
# HyDE 26.x moved its Hyprland config to Lua. Its own `00-hyde.sh` (synced on
# every update) points HYPRLAND_CONFIG at ~/.local/share/hypr/hyde.lua, and
# Hyprland then never reads ~/.config/hypr/hyprland.conf — so every dots hypr
# file (theme, keybinds, window rules, monitors, userprefs) is silently bypassed
# and the session comes up as stock HyDE: no rounding/gaps/borders, HyDE's binds,
# HyDE's plain waybar instead of the cava rig. Nothing errors; `hyprctl
# configerrors` stays empty. The tell is the log's first lines:
# [cfg] Config is either explicit or special. / [cfg] Config is lua, loading lua mgr
#
# `00-hyde.sh` assigns with `${HYPRLAND_CONFIG:-...}` and `env-hyprland` sources
# `env-hyprland.d/*.sh` in glob order, so this file (10 sorts after 00) wins by
# assigning unconditionally. Session-start only — this needs a relogin, not a
# `hyprctl reload`. HyDE syncs the whole env-hyprland.d/ directory but only ever
# writes its own files into it, so this one survives updates.
#
# ── STOPGAP, not the destination ──────────────────────────────────────────────
# It pins ~/.local/share/hyde/hyprland.conf, which current HyDE no longer ships:
# ours is a leftover from the pre-update install, so nothing regenerates it. And
# 8 scripts our binds reach for through $scrPath are already gone from the new
# lib/hyde — including dontkillsteam.sh, which is bound to Super+Q and Alt+F4.
# The supported path is porting the hypr layer into ~/.config/hypr/hyprland.lua
# (the one file HyDE promises never to overwrite). See HYDE-UPDATE.md.
HYPRLAND_CONFIG="$HOME/.config/hypr/hyprland.conf"
export HYPRLAND_CONFIG