diff --git a/machines/dl1ssk/configuration.nix b/machines/dl1ssk/configuration.nix index f7afe54..4b3fcc1 100644 --- a/machines/dl1ssk/configuration.nix +++ b/machines/dl1ssk/configuration.nix @@ -3,7 +3,17 @@ # https://search.nixos.org/options and in the NixOS manual (`nixos-help`). { config, lib, pkgs, ... }: - +with lib; +let + satnogs-env = { + SATNOGS_ANTENNA = "RX"; + SATNOGS_RF_GAIN = "5"; + SATNOGS_RX_SAMP_RATE = "2.048e6"; + SATNOGS_SOAPY_RX_DEVICE = "driver=rtlsdr"; + SATNOGS_STATION_ELEV = "225"; + SATNOGS_STATION_ID = "517"; + }; +in { imports = [ @@ -66,11 +76,17 @@ virtualisation.docker.enable = true; systemd.services.satnogs-docker-compose = { - script = '' - ${pkgs.docker-compose}/bin/docker-compose -f ${./satnogs-docker-compose.yml} up - ''; - wantedBy = ["multi-user.target"]; - after = ["docker.service" "docker.socket"]; + script = concatStringsSep " \\\n " ([ + "${pkgs.docker-compose}/bin/docker-compose" + "-f ${./satnogs-docker-compose.yml}" + ] + ++ (mapAttrsToList (k: v: "-e ${escapeShellArg k}=${escapeShellArg v}") satnogs-env) + ++ [ "up" ]); + + preStop = "${pkgs.docker-compose}/bin/docker-compose -f ${./satnogs-docker-compose.yml} down"; + + wantedBy = [ "multi-user.target" ]; + after = [ "docker.service" "docker.socket" ]; }; # List packages installed in system profile. To search, run: diff --git a/machines/dl1ssk/satnogs-docker-compose.yml b/machines/dl1ssk/satnogs-docker-compose.yml index 3b2ebf4..048e4ec 100644 --- a/machines/dl1ssk/satnogs-docker-compose.yml +++ b/machines/dl1ssk/satnogs-docker-compose.yml @@ -24,13 +24,6 @@ services: SATNOGS_RIG_IP: 'rigctld' SATNOGS_RIG_PORT: '4532' - SATNOGS_ANTENNA: 'RX' - SATNOGS_RF_GAIN: '5' - SATNOGS_RX_SAMP_RATE: '2.048e6' - SATNOGS_SOAPY_RX_DEVICE: 'driver=rtlsdr' - SATNOGS_STATION_ELEV: '225' - SATNOGS_STATION_ID: '517' - command: 'satnogs-client' # default device_cgroup_rules: - 'c 189:* rwm'