portfolio: 0.71.2 -> 0.72.2 (#360387)
[NixPkgs.git] / nixos / modules / services / misc / sdrplay.nix
blob83b709a340a8f751c9b7898657287ee6a7b8654d
1 { config, lib, pkgs, ... }:
3   options.services.sdrplayApi = {
4     enable = lib.mkOption {
5       default = false;
6       example = true;
7       description = ''
8         Whether to enable the SDRplay API service and udev rules.
10         ::: {.note}
11         To enable integration with SoapySDR and GUI applications like gqrx create an overlay containing
12         `soapysdr-with-plugins = super.soapysdr.override { extraPackages = [ super.soapysdrplay ]; };`
13         :::
14       '';
15       type = lib.types.bool;
16     };
17   };
19   config = lib.mkIf config.services.sdrplayApi.enable {
20     systemd.services.sdrplayApi = {
21       description = "SDRplay API Service";
22       after = [ "network.target" ];
23       wantedBy = [ "multi-user.target" ];
24       serviceConfig = {
25         ExecStart = "${pkgs.sdrplay}/bin/sdrplay_apiService";
26         DynamicUser = true;
27         Restart = "on-failure";
28         RestartSec = "1s";
29       };
30     };
31     services.udev.packages = [ pkgs.sdrplay ];
33   };