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