nixos-config/modules/home/de/hypridlelock.nix
2024-05-05 20:09:28 +02:00

45 lines
1.2 KiB
Nix

{
inputs,
config,
lib,
...
}: {
imports = [inputs.hyprlock.homeManagerModules.hyprlock];
options.myConfig.de.hypridlelock.enable = lib.mkEnableOption "";
config = lib.mkIf config.myConfig.de.hypridlelock.enable {
programs.hyprlock = {
enable = true;
backgrounds = [
{
path = "screenshot";
blur_passes = 1;
blur_size = 4;
}
];
};
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = let
hyprlockExe = "${lib.getExe config.programs.hyprlock.package}";
in "pidof ${hyprlockExe} || ${hyprlockExe}";
before_sleep_cmd = "loginctl lock-session";
after_sleep_cmd = "hyprctl dispatch dpms on";
};
listener = [
{
timeout = 600;
on-timeout = "loginctl lock-session";
}
];
};
};
};
}