1{
2 config,
3 lib,
4 ...
5}:
6
7let
8 cfg = config.hardware.sheep_net;
9in
10{
11 options.hardware.sheep_net = {
12 enable = lib.mkOption {
13 type = lib.types.bool;
14 default = false;
15 description = ''
16 Enables sheep_net udev rules, ensures 'sheep_net' group exists, and adds
17 sheep-net to boot.kernelModules and boot.extraModulePackages
18 '';
19 };
20 };
21 config = lib.mkIf cfg.enable {
22 services.udev.extraRules = ''
23 KERNEL=="sheep_net", GROUP="sheep_net"
24 '';
25 boot.kernelModules = [
26 "sheep_net"
27 ];
28 boot.extraModulePackages = [
29 config.boot.kernelPackages.sheep-net
30 ];
31 users.groups.sheep_net = { };
32 };
33 meta.maintainers = with lib.maintainers; [ matthewcroughan ];
34}