1{ config, lib, pkgs, ... }:
2
3let
4 cfg = config.programs.soundmodem;
5in
6{
7 options = {
8 programs.soundmodem = {
9 enable = lib.mkOption {
10 type = lib.types.bool;
11 default = false;
12 description = ''
13 Whether to add Soundmodem to the global environment and configure a
14 wrapper for 'soundmodemconfig' for users in the 'soundmodem' group.
15 '';
16 };
17 package = lib.mkPackageOption pkgs "soundmodem" { };
18 };
19 };
20
21 config = lib.mkIf cfg.enable {
22 environment.systemPackages = [ cfg.package ];
23 users.groups.soundmodem = { };
24
25 security.wrappers.soundmodemconfig = {
26 source = "${cfg.package}/bin/soundmodemconfig";
27 owner = "root";
28 group = "soundmodem";
29 permissions = "u+rx,g+x";
30 };
31 };
32}