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