at master 741 B view raw
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}