diff --git a/nixos/modules/services/networking/nats.nix b/nixos/modules/services/networking/nats.nix index f159ef068b56..4851daae4dba 100644 --- a/nixos/modules/services/networking/nats.nix +++ b/nixos/modules/services/networking/nats.nix @@ -10,6 +10,13 @@ let configFile = format.generate "nats.conf" cfg.settings; + validateConfig = file: + pkgs.runCommand "validate-nats-conf" { + nativeBuildInputs = [ pkgs.nats-server ]; + } '' + nats-server --config "${configFile}" -t + ln -s "${configFile}" "$out" + ''; in { ### Interface @@ -104,7 +111,7 @@ in { }) { Type = "simple"; - ExecStart = "${pkgs.nats-server}/bin/nats-server -c ${configFile}"; + ExecStart = "${pkgs.nats-server}/bin/nats-server -c ${validateConfig configFile}"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecStop = "${pkgs.coreutils}/bin/kill -SIGINT $MAINPID"; Restart = "on-failure";