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 + ]; + }; +}