1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7
8let
9 cfg = config.programs.gpu-screen-recorder;
10 package = cfg.package.override {
11 inherit (config.security) wrapperDir;
12 };
13in
14{
15 options = {
16 programs.gpu-screen-recorder = {
17 package = lib.mkPackageOption pkgs "gpu-screen-recorder" { };
18
19 enable = lib.mkOption {
20 type = lib.types.bool;
21 default = false;
22 description = ''
23 Whether to install gpu-screen-recorder and generate setcap
24 wrappers for promptless recording.
25 '';
26 };
27 };
28 };
29
30 config = lib.mkIf cfg.enable {
31 security.wrappers."gsr-kms-server" = {
32 owner = "root";
33 group = "root";
34 capabilities = "cap_sys_admin+ep";
35 source = "${package}/bin/gsr-kms-server";
36 };
37 };
38
39 meta.maintainers = with lib.maintainers; [ timschumi ];
40}