nixos-config/modules/home/de/hypridlelock.nix

44 lines
1.1 KiB
Nix

{
inputs,
config,
lib,
...
}: {
imports = [
inputs.hyprlock.homeManagerModules.hyprlock
inputs.hypridle.homeManagerModules.hypridle
];
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 = 6;
}
];
};
services.hypridle = let
hyprlockExe = "${lib.getExe config.programs.hyprlock.package}";
in {
enable = true;
lockCmd = "pidof ${hyprlockExe} || ${hyprlockExe}";
# beforeSleepCmd = "loginctl lock-session";
afterSleepCmd = "hyprctl dispatch dpms on";
listeners = [
{
timeout = 600;
onTimeout = "loginctl lock-session";
}
];
};
};
}