1{
2 config,
3 pkgs,
4 lib,
5 ...
6}:
7
8let
9 cfg = config.programs.noisetorch;
10in
11{
12 options.programs.noisetorch = {
13 enable = lib.mkEnableOption "noisetorch (+ setcap wrapper), a virtual microphone device with noise suppression";
14
15 package = lib.mkPackageOption pkgs "noisetorch" { };
16 };
17
18 config = lib.mkIf cfg.enable {
19 security.wrappers.noisetorch = {
20 owner = "root";
21 group = "root";
22 capabilities = "cap_sys_resource=+ep";
23 source = "${cfg.package}/bin/noisetorch";
24 };
25 environment.systemPackages = [ cfg.package ];
26 };
27}