wm: migrate from swaylock to hyprlock and add hypridle locking

This commit is contained in:
Paul-Henri Froidmont 2026-03-24 23:57:18 +01:00
parent 30ffdf6a2f
commit 258ff8a600
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE

View file

@ -127,7 +127,7 @@ in
"$mod, semicolon, splitratio, +0.1" "$mod, semicolon, splitratio, +0.1"
"$mod, F, fullscreen, 0" "$mod, F, fullscreen, 0"
"$mod, X, exec, swaylock" "$mod, X, exec, hyprlock"
# Move focus # Move focus
"$mod, H, movefocus, l" "$mod, H, movefocus, l"
@ -402,52 +402,85 @@ in
]; ];
}; };
programs.swaylock = { programs.hyprlock = {
enable = true; enable = true;
package = pkgs.swaylock-effects;
settings = { settings = {
ignore-empty-password = true; general = {
daemonize = true; hide_cursor = true;
# fade-in = 0.5; ignore_empty_input = true;
indicator = true; };
clock = true;
datestr = "%d/%m/%Y"; background = [
screenshots = true; {
hide-keyboard-layout = true; monitor = "";
indicator-caps-lock = true; path = "screenshot";
bs-hl-color = "7daea3cc"; blur_passes = 3;
caps-lock-bs-hl-color = "7daea3cc"; blur_size = 8;
caps-lock-key-hl-color = "d3869bcc"; }
font = "MesloLGS Nerd Font Propo"; ];
font-size = "35";
indicator-idle-visible = true; input-field = [
indicator-radius = 100; {
indicator-thickness = 7; monitor = "";
inside-color = "32302f66"; size = "320, 58";
inside-clear-color = "89b48266"; position = "0, -80";
inside-caps-lock-color = "e78a4e66"; halign = "center";
inside-ver-color = "7daea366"; valign = "center";
inside-wrong-color = "ea696266"; dots_center = true;
key-hl-color = "a9b665cc"; fade_on_empty = false;
layout-bg-color = "32302f00"; outline_thickness = 3;
layout-text-color = "d4be98"; inner_color = "rgb(50, 48, 47)";
line-color = "00000000"; outer_color = "rgb(231, 138, 78)";
ring-color = "e78a4ecc"; font_color = "rgb(212, 190, 152)";
ring-clear-color = "89b482cc"; placeholder_text = "Password...";
ring-caps-lock-color = "e78a4ecc"; }
ring-ver-color = "7daea3cc"; ];
ring-wrong-color = "ea6962cc";
separator-color = "00000000"; label = [
text-color = "d4be98"; {
text-clear-color = "d4be98"; monitor = "";
text-caps-lock-color = "d4be98"; text = "$TIME";
text-ver-color = "d4be98"; color = "rgb(212, 190, 152)";
text-wrong-color = "d4be98"; font_size = 42;
effect-blur = "9x9"; font_family = "MesloLGS Nerd Font Propo";
effect-greyscale = true; position = "0, 160";
# effect-vignette = "0.5:0.5"; halign = "center";
valign = "center";
}
{
monitor = "";
text = "cmd[update:1000] date +%d/%m/%Y";
color = "rgb(212, 190, 152)";
font_size = 18;
font_family = "MesloLGS Nerd Font Propo";
position = "0, 120";
halign = "center";
valign = "center";
}
];
};
};
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
};
listener = [
{
timeout = 300;
on-timeout = "loginctl lock-session";
}
{
timeout = 330;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
}; };
}; };
}; };
@ -466,7 +499,7 @@ in
hardware.graphics.enable = true; hardware.graphics.enable = true;
security.pam.services.swaylock = { }; security.pam.services.hyprlock = { };
}; };
} }