depot/third_party/nixpkgs/nixos/modules/programs/wayland/hyprlock.nix

30 lines
662 B
Nix

{
lib,
pkgs,
config,
...
}:
let
cfg = config.programs.hyprlock;
in
{
options.programs.hyprlock = {
enable = lib.mkEnableOption "hyprlock, Hyprland's GPU-accelerated screen locking utility";
package = lib.mkPackageOption pkgs "hyprlock" { };
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [
cfg.package
];
# Hyprlock needs Hypridle systemd service to be running to detect idle time
services.hypridle.enable = true;
# Hyprlock needs PAM access to authenticate, else it fallbacks to su
security.pam.services.hyprlock = { };
};
meta.maintainers = with lib.maintainers; [ johnrtitor ];
}