mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 13:40:28 +03:00
nixos/hyprlock: init module
This commit is contained in:
parent
7042f95f88
commit
07a0b79ed1
2 changed files with 33 additions and 0 deletions
32
nixos/modules/programs/wayland/hyprlock.nix
Normal file
32
nixos/modules/programs/wayland/hyprlock.nix
Normal file
|
@ -0,0 +1,32 @@
|
|||
{ 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" { };
|
||||
hypridlePackage = lib.mkPackageOption pkgs "hypridle" { };
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
cfg.package
|
||||
cfg.hypridlePackage
|
||||
];
|
||||
|
||||
# Hyprlock needs Hypridle systemd service to be running to detect idle time
|
||||
systemd.user.services.hypridle = {
|
||||
description = "Hypridle idle daemon";
|
||||
wantedBy = [ "graphical-session.target" ];
|
||||
partOf = [ "graphical-session.target" ];
|
||||
script = lib.getExe cfg.hypridlePackage;
|
||||
};
|
||||
|
||||
# Hyprlock needs PAM access to authenticate, else it fallbacks to su
|
||||
security.pam.services.hyprlock = {};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ johnrtitor ];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue