diff options
author | Robin Lambertz <robinlambertz+dev@gmail.com> | 2016-07-27 22:24:08 +0200 |
---|---|---|
committer | Rok Garbas <rok@garbas.si> | 2016-07-27 22:24:08 +0200 |
commit | 103805dec5846038cacde27ab2f48225382b52cb (patch) | |
tree | d930111644642554c24f675f61ea7a3c8de3833f /nixos/modules | |
parent | 48829c78288de3e14917b2921124ec62127d32b8 (diff) | |
download | nixlib-103805dec5846038cacde27ab2f48225382b52cb.tar nixlib-103805dec5846038cacde27ab2f48225382b52cb.tar.gz nixlib-103805dec5846038cacde27ab2f48225382b52cb.tar.bz2 nixlib-103805dec5846038cacde27ab2f48225382b52cb.tar.lz nixlib-103805dec5846038cacde27ab2f48225382b52cb.tar.xz nixlib-103805dec5846038cacde27ab2f48225382b52cb.tar.zst nixlib-103805dec5846038cacde27ab2f48225382b52cb.zip |
nginx: Verify that configuration is syntactically correct (#17208)
Diffstat (limited to 'nixos/modules')
-rw-r--r-- | nixos/modules/services/web-servers/nginx/default.nix | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix index 27a33f33ff93..bd936c0ce993 100644 --- a/nixos/modules/services/web-servers/nginx/default.nix +++ b/nixos/modules/services/web-servers/nginx/default.nix @@ -5,7 +5,7 @@ with lib; let cfg = config.services.nginx; nginx = cfg.package; - configFile = pkgs.writeText "nginx.conf" '' + configFileText = '' user ${cfg.user} ${cfg.group}; daemon off; @@ -19,6 +19,17 @@ let ''} ${cfg.appendConfig} ''; + configFile = pkgs.runCommand "nginx.conf" { + text = configFileText; + passAsFile = ["text"]; + preferLocalBuild = true; + allowSubstitutes = false; + } '' + mkdir -p "$(dirname "$out")" + mv "$textPath" "$out" + (${nginx}/bin/nginx -t -c "$out" -p ${cfg.stateDir} || true) 2>&1 | grep -q 'syntax is ok' + ''; + in { @@ -91,8 +102,6 @@ in }; config = mkIf cfg.enable { - # TODO: test user supplied config file pases syntax test - systemd.services.nginx = { description = "Nginx Web Server"; after = [ "network.target" ]; |