Skip to content

Commit d03a644

Browse files
committed
nixos/gpu-screen-recorder-ui: init
1 parent 146f2ba commit d03a644

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

nixos/modules/module-list.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,7 @@
217217
./programs/gpaste.nix
218218
./programs/gphoto2.nix
219219
./programs/gpu-screen-recorder.nix
220+
./programs/gpu-screen-recorder-ui.nix
220221
./programs/haguichi.nix
221222
./programs/hamster.nix
222223
./programs/htop.nix
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
config,
3+
lib,
4+
pkgs,
5+
...
6+
}:
7+
8+
let
9+
cfg = config.programs.gpu-screen-recorder-ui;
10+
package = cfg.package.override {
11+
inherit (config.security) wrapperDir;
12+
};
13+
in
14+
{
15+
options = {
16+
programs.gpu-screen-recorder-ui = {
17+
package = lib.mkPackageOption pkgs "gpu-screen-recorder-ui" { };
18+
19+
enable = lib.mkOption {
20+
type = lib.types.bool;
21+
default = false;
22+
description = ''
23+
Whether to install gpu-screen-recorder-ui and generate setcap
24+
wrappers for global hotkeys.
25+
'';
26+
};
27+
};
28+
};
29+
30+
config = lib.mkIf cfg.enable {
31+
programs.gpu-screen-recorder.enable = lib.mkDefault true;
32+
33+
environment.systemPackages = [ package ];
34+
35+
systemd.packages = [ package ];
36+
37+
security.wrappers."gsr-global-hotkeys" = {
38+
owner = "root";
39+
group = "root";
40+
capabilities = "cap_setuid+ep";
41+
source = lib.getExe' package "gsr-global-hotkeys";
42+
};
43+
};
44+
45+
meta.maintainers = with lib.maintainers; [ js6pak ];
46+
}

0 commit comments

Comments
 (0)