about summary refs log tree commit diff
path: root/users/fcuny/desktop/wm/screenlock.nix
diff options
context:
space:
mode:
Diffstat (limited to 'users/fcuny/desktop/wm/screenlock.nix')
-rw-r--r--users/fcuny/desktop/wm/screenlock.nix27
1 files changed, 27 insertions, 0 deletions
diff --git a/users/fcuny/desktop/wm/screenlock.nix b/users/fcuny/desktop/wm/screenlock.nix
new file mode 100644
index 0000000..24fde8c
--- /dev/null
+++ b/users/fcuny/desktop/wm/screenlock.nix
@@ -0,0 +1,27 @@
+{ pkgs, config, ... }:
+
+{
+
+  xdg.configFile."swaylock/config" = {
+    source = ../../configs/swaylock/config;
+  };
+
+  # https://github.com/nix-community/home-manager/pull/2610
+  # won't be needed for ever
+  systemd.user.services.swayidle = {
+    Unit.PartOf = [ "sway-session.target" ];
+    Install.WantedBy = [ "sway-session.target" ];
+
+    Service = {
+      Environment = "PATH=${pkgs.bash}/bin:${config.wayland.windowManager.sway.package}/bin";
+      ExecStart = ''
+        ${pkgs.swayidle}/bin/swayidle -w \
+            timeout 300 "${pkgs.swaylock}/bin/swaylock" \
+            timeout 300 'swaymsg "output * dpms off"' \
+                resume 'swaymsg "output * dpms on"' \
+            before-sleep "${pkgs.swaylock}/bin/swaylock"
+      '';
+      Restart = "on-failure";
+    };
+  };
+}