home-manager: maui: enable swaylock by working around PAM incompatibility

Signed-off-by: Christoph Heiss <christoph@c8h4.io>
This commit is contained in:
Christoph Heiss 2024-02-20 14:28:59 +01:00
parent 9f2531a37a
commit c43859e7a3
Signed by: c8h4
GPG key ID: 1538094429952F86
2 changed files with 10 additions and 8 deletions

View file

@ -57,9 +57,12 @@
programs.git.signing.signByDefault = false;
# a) not needed and b) locks the session permanently due to some
# PAM configuration differences between Debian and NixOS.
services.swayidle.enable = false;
# Nix's swaylock is broken when using on Debian due to some PAM
# incompatibilites. Work around that by simply running Debians
# `swaylock`.
programs.swaylock.package = pkgs.writeShellScriptBin "swaylock" ''
exec /usr/bin/swaylock
'';
wayland.windowManager.sway = {
package = let

View file

@ -76,8 +76,7 @@ in {
in {
"${mod}+Return" = "exec ${cfg.terminal}";
"${mod}+u" = "exec ${cfg.menu}";
"${mod}+l" = lib.mkIf config.programs.swaylock.enable
"exec ${pkgs.swaylock}/bin/swaylock";
"${mod}+l" = "exec ${config.programs.swaylock.package}/bin/swaylock";
"${mod}+c" =
''exec ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)"'';
"${mod}+p" = "exec ${pkgs.wl-color-picker}/bin/wl-color-picker";
@ -186,15 +185,15 @@ in {
xdg.dataFile."sway/background.jpg".source = ../../extra/sway/background.jpg;
services.swayidle = {
enable = lib.mkDefault true;
enable = true;
events = [{
event = "before-sleep";
command = "${pkgs.swaylock}/bin/swaylock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}];
timeouts = [
{
timeout = 300;
command = "${pkgs.swaylock}/bin/swaylock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
{
timeout = 600;