## gui package — pin which config Hyprland starts with. ## ## Points HYPRLAND_CONFIG at HyDE's Lua entry point, explicitly. The Lua chain ## loads HyDE's lua/ modules and then the user override ## ~/.config/hypr/hyprland.lua (repo: gui/.config/hypr/hyprland.lua, which pulls ## in the per-host host.lua). None of the old hyprlang .conf files are read in ## Lua mode. See LUA-PORT.md. ## ## Why it is set from *fish* of all places: HyDE's untracked ## ~/.config/fish/conf.d/hyde.fish exports it, and fish sources every ## conf.d/*.fish at startup. SDDM launches the session through the login shell ## (/usr/bin/start-hyprland, the `hyprland.desktop` entry — not ## `hyprland-uwsm.desktop`), so the compositor inherits whatever fish exported. ## HyDE's snippet only assigns `if test -z "$HYPRLAND_CONFIG"`, and conf.d files ## load in alphabetical order, so this file's `00-` prefix means ours is already ## set by the time hyde.fish looks — do not rename it above `hyde.fish`. ## ## The uwsm twin lives in gui/.config/uwsm/env-hyprland.d/10-dots.sh and covers ## the `hyprland-uwsm.desktop` session entry. Both are needed; neither is ## sufficient alone. Keeping the pins alive (instead of trusting HyDE's default) ## preserves the invariant that the dots repo decides the config, and makes any ## rollback a one-line edit. Takes effect at session start — relogin, not ## `hyprctl reload`. ## ## ROLLBACK to hyprlang (the chain was retired at LUA-PORT.md step 8, ## 2026-09-10): restore gui/.config/hypr, wm/.config/hypr, lw/.config/hypr and ## gui/.local/share/hyde from bddbbf3 (the last pre-step-8 commit), ./install.sh, point both ## pins back at "$HOME/.config/hypr/hyprland.conf" and relogin. d851213 is the ## last hyprlang `main` (the port merged 2026-11-09). set -l hypr_data "$XDG_DATA_HOME" test -n "$hypr_data"; or set hypr_data "$HOME/.local/share" set -gx HYPRLAND_CONFIG "$hypr_data/hypr/hyde.lua"