From b9750a9b5769bd0669a9b1facc1d1b55c2e1c5f1 Mon Sep 17 00:00:00 2001 From: Alexandre Macabies Date: Sat, 29 Aug 2020 02:12:07 +0200 Subject: [PATCH] nixos/hardware/rtl-sdr: new module This is a very thin module to ensure "plugdev" user exists and some udev rules are enabled, a prerequisite for using rtl-sdr. --- nixos/modules/hardware/rtl-sdr.nix | 20 ++++++++++++++++++++ nixos/modules/module-list.nix | 1 + 2 files changed, 21 insertions(+) create mode 100644 nixos/modules/hardware/rtl-sdr.nix diff --git a/nixos/modules/hardware/rtl-sdr.nix b/nixos/modules/hardware/rtl-sdr.nix new file mode 100644 index 00000000000..77c8cb59a3d --- /dev/null +++ b/nixos/modules/hardware/rtl-sdr.nix @@ -0,0 +1,20 @@ +{ config, lib, pkgs, ... }: + +let + cfg = config.hardware.rtl-sdr; + +in { + options.hardware.rtl-sdr = { + enable = lib.mkEnableOption '' + Enables rtl-sdr udev rules and ensures 'plugdev' group exists. + 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. + ''; + }; + + config = lib.mkIf cfg.enable { + services.udev.packages = [ pkgs.rtl-sdr ]; + users.groups.plugdev = {}; + }; +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 13b53168b31..8bf781a6a61 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -59,6 +59,7 @@ ./hardware/pcmcia.nix ./hardware/printers.nix ./hardware/raid/hpsa.nix + ./hardware/rtl-sdr.nix ./hardware/steam-hardware.nix ./hardware/system-76.nix ./hardware/tuxedo-keyboard.nix