at 24.11-pre 605 B view raw
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 "Ubertooth software and its udev rules"; 14 15 group = mkOption { 16 type = types.str; 17 default = "ubertooth"; 18 example = "wheel"; 19 description = "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}