Commit 81de6715e6c8

Vincent Demeester <vincent@sbr.pm>
2026-06-12 00:19:54
fix(swayidle): resolve lockscreen path at build time
Replaced $HOME with config.home.homeDirectory so the lockscreen image path is an absolute path in the systemd unit, as swayidle does not expand shell variables.
1 parent 7315f67
Changed files (1)
home
common
desktop
home/common/desktop/sway/swayidle.nix
@@ -1,4 +1,5 @@
 {
+  config,
   pkgs,
   lib,
   desktop,
@@ -6,6 +7,7 @@
   ...
 }:
 let
+  lockscreenImage = "${config.home.homeDirectory}/desktop/pictures/lockscreen";
   isNixOS = osConfig != null;
   powerOffCmd =
     if desktop == "niri" then
@@ -58,8 +60,8 @@ in
   services.swayidle = {
     enable = true;
     events = {
-      before-sleep = "${swaylockCmd} --daemonize -i $HOME/desktop/pictures/lockscreen";
-      lock = "${swaylockCmd} --daemonize -i $HOME/desktop/pictures/lockscreen";
+      before-sleep = "${swaylockCmd} --daemonize -i ${lockscreenImage}";
+      lock = "${swaylockCmd} --daemonize -i ${lockscreenImage}";
     };
     timeouts = [
       {