From cd050f0bdfea14f031e4a671a366c77d4f62b19d Mon Sep 17 00:00:00 2001 From: sommerfeld Date: Fri, 5 Jun 2026 11:06:00 +0100 Subject: fix(systemd): use absolute %h/.nix-profile/bin paths in user units MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous environment.d fix was insufficient: even with the nix profile on the --user manager's PATH (confirmed via `systemctl --user show-environment`), bare-name ExecStart= still fails 203/EXEC. systemd's --user manager does not resolve a bare ExecStart binary against the imported/environment.d PATH. Invoke each unit's main binary by absolute path %h/.nix-profile/bin/ (waybar, swayidle, swayrd, inhibridge, wl-paste, wob). %h expands to $HOME at unit load. Secondary lookups those binaries/scripts perform (cliphist, swaymsg, playerctl) still rely on PATH, which environment.d provides — so that file stays, with its comment corrected to reflect this split. --- dot_config/systemd/user/cliphist-image.service | 2 +- dot_config/systemd/user/cliphist-text.service | 2 +- dot_config/systemd/user/inhibridge.service | 2 +- dot_config/systemd/user/swayidle.service | 2 +- dot_config/systemd/user/swayrd.service | 2 +- dot_config/systemd/user/waybar.service | 2 +- dot_config/systemd/user/wob.service | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'dot_config/systemd/user') diff --git a/dot_config/systemd/user/cliphist-image.service b/dot_config/systemd/user/cliphist-image.service index 059695b..8d9e995 100644 --- a/dot_config/systemd/user/cliphist-image.service +++ b/dot_config/systemd/user/cliphist-image.service @@ -6,7 +6,7 @@ ConditionEnvironment=WAYLAND_DISPLAY [Service] Type=simple -ExecStart=wl-paste --type image --watch cliphist store +ExecStart=%h/.nix-profile/bin/wl-paste --type image --watch cliphist store Restart=on-failure RestartSec=2s diff --git a/dot_config/systemd/user/cliphist-text.service b/dot_config/systemd/user/cliphist-text.service index 5ff00f5..8aef8b3 100644 --- a/dot_config/systemd/user/cliphist-text.service +++ b/dot_config/systemd/user/cliphist-text.service @@ -6,7 +6,7 @@ ConditionEnvironment=WAYLAND_DISPLAY [Service] Type=simple -ExecStart=wl-paste --type text --watch cliphist store +ExecStart=%h/.nix-profile/bin/wl-paste --type text --watch cliphist store Restart=on-failure RestartSec=2s diff --git a/dot_config/systemd/user/inhibridge.service b/dot_config/systemd/user/inhibridge.service index 0b36b35..a361ad9 100644 --- a/dot_config/systemd/user/inhibridge.service +++ b/dot_config/systemd/user/inhibridge.service @@ -7,7 +7,7 @@ ConditionEnvironment=DBUS_SESSION_BUS_ADDRESS [Service] Type=simple -ExecStart=inhibridge +ExecStart=%h/.nix-profile/bin/inhibridge Restart=on-failure RestartSec=2s diff --git a/dot_config/systemd/user/swayidle.service b/dot_config/systemd/user/swayidle.service index d5b9cf1..bd0dca5 100644 --- a/dot_config/systemd/user/swayidle.service +++ b/dot_config/systemd/user/swayidle.service @@ -6,7 +6,7 @@ ConditionEnvironment=WAYLAND_DISPLAY [Service] Type=simple -ExecStart=swayidle -w \ +ExecStart=%h/.nix-profile/bin/swayidle -w \ timeout 300 'swaymsg "output * power off"' \ resume 'swaymsg "output * power on"' \ timeout 330 'swaylock -f -e -c 000000' \ diff --git a/dot_config/systemd/user/swayrd.service b/dot_config/systemd/user/swayrd.service index c718fe5..2e299e9 100644 --- a/dot_config/systemd/user/swayrd.service +++ b/dot_config/systemd/user/swayrd.service @@ -7,7 +7,7 @@ ConditionEnvironment=SWAYSOCK [Service] Type=simple -ExecStart=swayrd +ExecStart=%h/.nix-profile/bin/swayrd Restart=on-failure RestartSec=2s diff --git a/dot_config/systemd/user/waybar.service b/dot_config/systemd/user/waybar.service index 919bc9b..e8686b1 100644 --- a/dot_config/systemd/user/waybar.service +++ b/dot_config/systemd/user/waybar.service @@ -6,7 +6,7 @@ ConditionEnvironment=WAYLAND_DISPLAY [Service] Type=simple -ExecStart=waybar +ExecStart=%h/.nix-profile/bin/waybar ExecReload=/bin/kill -SIGUSR2 $MAINPID Restart=on-failure RestartSec=2s diff --git a/dot_config/systemd/user/wob.service b/dot_config/systemd/user/wob.service index c132501..d9c0869 100644 --- a/dot_config/systemd/user/wob.service +++ b/dot_config/systemd/user/wob.service @@ -7,7 +7,7 @@ ConditionEnvironment=WAYLAND_DISPLAY [Service] Type=simple ExecStartPre=/usr/bin/sh -c 'rm -f "$XDG_RUNTIME_DIR/wob.sock" && mkfifo "$XDG_RUNTIME_DIR/wob.sock"' -ExecStart=/usr/bin/sh -c 'exec tail -f "$XDG_RUNTIME_DIR/wob.sock" | wob' +ExecStart=/usr/bin/sh -c 'exec tail -f "$XDG_RUNTIME_DIR/wob.sock" | %h/.nix-profile/bin/wob' ExecStopPost=/usr/bin/rm -f %t/wob.sock Restart=on-failure RestartSec=2s -- cgit v1.3.1