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