1{ config, lib, pkgs, ... }:
2
3let
4 cfg = config.programs.slock;
5
6in
7{
8 options = {
9 programs.slock = {
10 enable = lib.mkOption {
11 default = false;
12 type = lib.types.bool;
13 description = ''
14 Whether to install slock screen locker with setuid wrapper.
15 '';
16 };
17 package = lib.mkPackageOption pkgs "slock" {};
18 };
19 };
20
21 config = lib.mkIf cfg.enable {
22 environment.systemPackages = [ cfg.package ];
23 security.wrappers.slock =
24 { setuid = true;
25 owner = "root";
26 group = "root";
27 source = lib.getExe cfg.package;
28 };
29 };
30}