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