From ea12f2ca517141822590066ab15ae2f2a6ca5619 Mon Sep 17 00:00:00 2001 From: nevaforget <> Date: Mon, 31 Aug 2026 12:43:03 +0200 Subject: [PATCH] fix(stasis): correct the unit path and pick up the config fix The actions run as `sh -lc`, which sources /etc/profile and therefore resolves swaylock and brightnessctl on its own; only a shell has to be present. niri, pactl and notify-send are spawned directly, past the shell, so those stay. bash resolved to bashInteractive, which pulled readline in for nothing. The moonarch bump carries the suspend inhibit knobs, without which stasis discarded the seeded config on every start. --- flake.lock | 8 ++++---- modules/services.nix | 10 ++++++---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index 938c8fd..8d3dca2 100644 --- a/flake.lock +++ b/flake.lock @@ -24,11 +24,11 @@ "moonarch": { "flake": false, "locked": { - "lastModified": 1787827834, - "narHash": "sha256-3yGZz3/JAtCmAQrh8jwTIAd6xCbE3O7e2Iar6AVnbLk=", + "lastModified": 1788170105, + "narHash": "sha256-UyGibRoUr/RZuXBXbf6gSYG1ItFtTrLjPPQ0lKXti4E=", "ref": "refs/heads/main", - "rev": "a1e06bf380b8c79a646930881d76cbe7137b4b77", - "revCount": 169, + "rev": "49cf07919fd18916e6420a968f4dbb8c43babc52", + "revCount": 170, "type": "git", "url": "https://gitea.moonarch.de/nevaforget/moonarch.git" }, diff --git a/modules/services.nix b/modules/services.nix index c1cf0e6..b805c75 100644 --- a/modules/services.nix +++ b/modules/services.nix @@ -103,10 +103,12 @@ partOf = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; wantedBy = [ "graphical-session.target" ]; - # stasis runs its actions as `sh -lc ` and spawns niri and pactl - # directly, all resolved against this PATH. pulseaudio is here for pactl - # alone; it stays off systemPackages, see modules/desktop.nix. - path = with pkgs; [ bash swaylock brightnessctl niri pulseaudio ]; + # stasis runs the configured actions as `sh -lc`, so those resolve through + # /etc/profile and need nothing here beyond a shell to start. niri, pactl + # and notify-send it spawns directly, past the shell, and pactl is why + # pulseaudio appears at all — it stays off systemPackages, see + # modules/desktop.nix. + path = with pkgs; [ bashNonInteractive niri pulseaudio libnotify ]; serviceConfig = { Type = "simple"; ExecStart = "${lib.getExe pkgs.stasis}";