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