aboutsummaryrefslogtreecommitdiff
path: root/home/wm/swaylock
diff options
context:
space:
mode:
Diffstat (limited to 'home/wm/swaylock')
-rw-r--r--home/wm/swaylock/config4
-rw-r--r--home/wm/swaylock/default.nix27
2 files changed, 31 insertions, 0 deletions
diff --git a/home/wm/swaylock/config b/home/wm/swaylock/config
new file mode 100644
index 0000000..032695b
--- /dev/null
+++ b/home/wm/swaylock/config
@@ -0,0 +1,4 @@
+color=FFFFEA
+daemonize
+indicator-caps-lock
+hide-keyboard-layout
diff --git a/home/wm/swaylock/default.nix b/home/wm/swaylock/default.nix
new file mode 100644
index 0000000..3df802a
--- /dev/null
+++ b/home/wm/swaylock/default.nix
@@ -0,0 +1,27 @@
+{ config, lib, pkgs, ... }:
+let isEnabled = config.my.home.wm.windowManager == "sway";
+in {
+ config = lib.mkIf isEnabled {
+ xdg.configFile."swaylock/config" = { source = ./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";
+ };
+ };
+ };
+}