at 25.11-pre 631 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7 8let 9 cfg = config.programs.k40-whisperer; 10 pkg = cfg.package.override { 11 udevGroup = cfg.group; 12 }; 13in 14{ 15 options.programs.k40-whisperer = { 16 enable = lib.mkEnableOption "K40-Whisperer"; 17 18 group = lib.mkOption { 19 type = lib.types.str; 20 description = '' 21 Group assigned to the device when connected. 22 ''; 23 default = "k40"; 24 }; 25 26 package = lib.mkPackageOption pkgs "k40-whisperer" { }; 27 }; 28 29 config = lib.mkIf cfg.enable { 30 users.groups.${cfg.group} = { }; 31 32 environment.systemPackages = [ pkg ]; 33 services.udev.packages = [ pkg ]; 34 }; 35}