at 22.05-pre 605 B view raw
1{ config, lib, pkgs, ... }: 2 3let 4 cfg = config.hardware.rtl-sdr; 5 6in { 7 options.hardware.rtl-sdr = { 8 enable = lib.mkEnableOption '' 9 Enables rtl-sdr udev rules, ensures 'plugdev' group exists, and blacklists DVB kernel modules. 10 This is a prerequisite to using devices supported by rtl-sdr without being root, since rtl-sdr USB descriptors will be owned by plugdev through udev. 11 ''; 12 }; 13 14 config = lib.mkIf cfg.enable { 15 boot.blacklistedKernelModules = [ "dvb_usb_rtl28xxu" "e4000" "rtl2832" ]; 16 services.udev.packages = [ pkgs.rtl-sdr ]; 17 users.groups.plugdev = {}; 18 }; 19}