aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-07 19:03:46 -0500
committerCraig Jennings <c@cjennings.net>2026-05-07 19:03:46 -0500
commitc69ad4399c0d61418ace1863d2240c1e0400ee61 (patch)
tree9750d25a4e50c36cd58954075508cfff04108ce2
parent5f3e03b058e2bea80f8075e6ba26559e8903b100 (diff)
downloadarchsetup-c69ad4399c0d61418ace1863d2240c1e0400ee61.tar.gz
archsetup-c69ad4399c0d61418ace1863d2240c1e0400ee61.zip
fix(hyprland): source conf.d at end so machine-local overrides win
The `source = $HOME/.config/hypr/conf.d/*.conf` line was at the top of `hyprland.conf` (line 9), before the `general`, `input`, `monitor`, and other blocks. Hyprland reads top to bottom, so anything later in the main file silently overrode whatever `conf.d/local.conf` set. `local.conf` exists so one machine can override the shared defaults, for instance a HiDPI laptop bumping its monitor scale or shrinking gaps. None of that worked. I moved the source line to the end of the file behind a labeled section comment. Now per-machine overrides take effect. To verify, I dropped a `general { gaps_in = 99 }` into a temporary file in `conf.d/` and reloaded. `hyprctl getoption general:gaps_in` came back as 99 instead of the main file's 25. I removed the test file and the value went back to 25.
-rw-r--r--dotfiles/hyprland/.config/hypr/hyprland.conf8
1 files changed, 7 insertions, 1 deletions
diff --git a/dotfiles/hyprland/.config/hypr/hyprland.conf b/dotfiles/hyprland/.config/hypr/hyprland.conf
index a585cb5..3e02029 100644
--- a/dotfiles/hyprland/.config/hypr/hyprland.conf
+++ b/dotfiles/hyprland/.config/hypr/hyprland.conf
@@ -6,7 +6,6 @@
# Monitor Configuration
# ============================================================================
monitor=,preferred,auto,auto
-source = $HOME/.config/hypr/conf.d/*.conf
# ============================================================================
# Startup Applications
@@ -325,3 +324,10 @@ bind = CTRL ALT $mod, K, exec, hyprctl kill
bindm = $mod, mouse:272, movewindow
bindm = $mod, mouse:273, resizewindow
bindm = $mod SHIFT, mouse:272, resizewindow
+
+# ============================================================================
+# Machine-local overrides
+# ============================================================================
+# Sourced last so machine-specific settings (monitor scale, gaps, keybinds)
+# override the defaults above. See conf.d/local.conf.
+source = $HOME/.config/hypr/conf.d/*.conf