at 25.11-pre 618 B view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: 7let 8 cfg = config.hardware.ubertooth; 9 10 ubertoothPkg = pkgs.ubertooth.override { 11 udevGroup = cfg.group; 12 }; 13in 14{ 15 options.hardware.ubertooth = { 16 enable = lib.mkEnableOption "Ubertooth software and its udev rules"; 17 18 group = lib.mkOption { 19 type = lib.types.str; 20 default = "ubertooth"; 21 example = "wheel"; 22 description = "Group for Ubertooth's udev rules."; 23 }; 24 }; 25 26 config = lib.mkIf cfg.enable { 27 environment.systemPackages = [ ubertoothPkg ]; 28 29 services.udev.packages = [ ubertoothPkg ]; 30 users.groups.${cfg.group} = { }; 31 }; 32}