grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / misc / sdrplay.nix
blobd56b1e4124d6ce57b634367769ba76e305369f67
1 { config, lib, pkgs, ... }:
2 with lib;
4   options.services.sdrplayApi = {
5     enable = mkOption {
6       default = false;
7       example = true;
8       description = ''
9         Whether to enable the SDRplay API service and udev rules.
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   };
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 ];
34   };