From a42993d4fd5933e1546b74d5ba1032f54fed0963 Mon Sep 17 00:00:00 2001 From: ediblerope Date: Mon, 11 May 2026 10:06:03 +0100 Subject: [PATCH] hyprland: load hyprspace inline instead of via exec-once MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit home-manager's `plugins` option emits `exec-once = hyprctl plugin load`, which races IPC socket readiness on startup and silently no-ops — `hyprctl plugin list` showed nothing even though the .so existed and loaded fine when invoked manually. Switch to Hyprland's native `plugin = /path` directive in extraConfig so the load happens synchronously during config parse, before any binds referencing its dispatchers. Co-Authored-By: Claude Opus 4.7 --- settings/hyprland.nix | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/settings/hyprland.nix b/settings/hyprland.nix index 476d9bb..0413f6d 100644 --- a/settings/hyprland.nix +++ b/settings/hyprland.nix @@ -57,7 +57,13 @@ enable = true; systemd.variables = [ "--all" ]; - plugins = [ pkgs.hyprlandPlugins.hyprspace ]; + # HM's `plugins` option loads via `exec-once = hyprctl plugin load`, + # which races IPC startup and sometimes silently fails. Inject the + # native `plugin = /path` directive instead so loading happens + # synchronously during config parse. + extraConfig = '' + plugin = ${pkgs.hyprlandPlugins.hyprspace}/lib/libhyprspace.so + ''; settings = { # Pin the OC'd 190 Hz mode so we don't fall back to 60.