at 23.11-pre 987 B view raw
1{ config, lib, pkgs, ... }: 2with lib; 3{ 4 options.services.sdrplayApi = { 5 enable = mkOption { 6 default = false; 7 example = true; 8 description = lib.mdDoc '' 9 Whether to enable the SDRplay API service and udev rules. 10 11 ::: {.note} 12 To enable integration with SoapySDR and GUI applications like gqrx create an overlay containing 13 `soapysdr-with-plugins = super.soapysdr.override { extraPackages = [ super.soapysdrplay ]; };` 14 ::: 15 ''; 16 type = lib.types.bool; 17 }; 18 }; 19 20 config = mkIf config.services.sdrplayApi.enable { 21 systemd.services.sdrplayApi = { 22 description = "SDRplay API Service"; 23 after = [ "network.target" ]; 24 wantedBy = [ "multi-user.target" ]; 25 serviceConfig = { 26 ExecStart = "${pkgs.sdrplay}/bin/sdrplay_apiService"; 27 DynamicUser = true; 28 Restart = "on-failure"; 29 RestartSec = "1s"; 30 }; 31 }; 32 services.udev.packages = [ pkgs.sdrplay ]; 33 34 }; 35}