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}