From 9abe43096b4c5b2a527db08a3974f3582c37addb Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 18 Jan 2025 18:13:30 -0500 Subject: [PATCH] Add swaylock. --- nix/configuration/roles/sway/default.nix | 1 + nix/configuration/roles/sway/lockscreen.nix | 33 +++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 nix/configuration/roles/sway/lockscreen.nix diff --git a/nix/configuration/roles/sway/default.nix b/nix/configuration/roles/sway/default.nix index 0f0903a..666e868 100644 --- a/nix/configuration/roles/sway/default.nix +++ b/nix/configuration/roles/sway/default.nix @@ -260,6 +260,7 @@ in ./graphical_session_target.nix ./iso.nix ./rofimoji.nix + ./lockscreen.nix ]; options.me.swayIncludes = lib.mkOption { diff --git a/nix/configuration/roles/sway/lockscreen.nix b/nix/configuration/roles/sway/lockscreen.nix new file mode 100644 index 0000000..79a81c2 --- /dev/null +++ b/nix/configuration/roles/sway/lockscreen.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + lockscreen_sway_config = pkgs.writeTextFile { + name = "lockscreen.conf"; + text = '' + set $lock ${pkgs.swaylock}/bin/swaylock -f -c 000000 + + # Hotkey to lock the screen + bindsym $mod+l exec $lock + + exec ${pkgs.swayidle}/bin/swayidle -w \ + timeout 300 '$lock' \ + timeout 600 '${pkgs.sway}/bin/swaymsg "output * dpms off"' \ + resume '${pkgs.sway}/bin/swaymsg "output * dpms on"' \ + before-sleep '$lock' + ''; + }; +in +{ + imports = [ ]; + + config = lib.mkIf config.me.graphical { + me.swayIncludes = [ + lockscreen_sway_config + ]; + }; +}