vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / hardware / rtl-sdr.nix
blobe85fc04e29bb6e23d3cf690c4d15dcf1a087368e
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.hardware.rtl-sdr;
6 in {
7   options.hardware.rtl-sdr = {
8     enable = lib.mkOption {
9       type = lib.types.bool;
10       default = false;
11       description = ''
12         Enables rtl-sdr udev rules, ensures 'plugdev' group exists, and blacklists DVB kernel modules.
13         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.
14        '';
15     };
16   };
18   config = lib.mkIf cfg.enable {
19     boot.blacklistedKernelModules = [ "dvb_usb_rtl28xxu" "e4000" "rtl2832" ];
20     services.udev.packages = [ pkgs.rtl-sdr ];
21     users.groups.plugdev = {};
22   };