35 lines
820 B
Nix
35 lines
820 B
Nix
{
|
|
lib,
|
|
config,
|
|
...
|
|
}: let
|
|
inherit (lib) mkIf mkEnableOption;
|
|
inherit (builtins) concatStringsSep;
|
|
|
|
cfg = config.horseman.dots.hypr.hypridle;
|
|
username = config.horseman.username;
|
|
hypr = config.horseman.wm.hyprland.config;
|
|
in {
|
|
options = {
|
|
horseman.dots.hypr.hypridle = {
|
|
enable = mkEnableOption "~/.config/hypr/hypridle.conf";
|
|
};
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
home-manager.users.${username}.xdg.configFile."hypr/hypridle.conf".text = ''
|
|
general {
|
|
lock_cmd = ${hypr.sleep.lockCommand}
|
|
}
|
|
|
|
${concatStringsSep "\n\n" (map (lis: ''
|
|
listener {
|
|
timeout = ${toString lis.timeout}
|
|
on-timeout = ${lis.onTimeout}
|
|
on-resume = ${lis.onResume}
|
|
}
|
|
'')
|
|
hypr.sleep.listeners)}
|
|
'';
|
|
};
|
|
}
|