summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorElis Hirwing <elis@hirwing.se>2019-02-24 08:57:31 +0100
committerGitHub <noreply@github.com>2019-02-24 08:57:31 +0100
commitd7ba3764356317a8642b420a6c5995ed6a0e55a3 (patch)
tree2e3f0e4cd13b5774d2be6d98c1c709343195fb80 /nixos
parentd4f487a78b92ebb6a9ffa3b8a8214dbd09b1a721 (diff)
parent0394b177c709c869f9bf34fc3aa10b4e4d2bc121 (diff)
downloadnixpkgs-d7ba3764356317a8642b420a6c5995ed6a0e55a3.tar
nixpkgs-d7ba3764356317a8642b420a6c5995ed6a0e55a3.tar.gz
nixpkgs-d7ba3764356317a8642b420a6c5995ed6a0e55a3.tar.bz2
nixpkgs-d7ba3764356317a8642b420a6c5995ed6a0e55a3.tar.lz
nixpkgs-d7ba3764356317a8642b420a6c5995ed6a0e55a3.tar.xz
nixpkgs-d7ba3764356317a8642b420a6c5995ed6a0e55a3.tar.zst
nixpkgs-d7ba3764356317a8642b420a6c5995ed6a0e55a3.zip
Merge pull request #56280 from Izorkin/nginx-config
nginx: formating the config file
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix24
1 files changed, 21 insertions, 3 deletions
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 6c733f093ba..89dc8b3795e 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -44,7 +44,25 @@ let
     }
   ''));
 
-  configFile = pkgs.writeText "nginx.conf" ''
+  awkFormat = pkgs.writeText "awkFormat-nginx.awk" ''
+    awk -f
+    {sub(/^[ \t]+/,"");idx=0}
+    /\{/{ctx++;idx=1}
+    /\}/{ctx--}
+    {id="";for(i=idx;i<ctx;i++)id=sprintf("%s%s", id, "\t");printf "%s%s\n", id, $0}
+  '';
+
+  configFile = pkgs.stdenv.mkDerivation {
+    name = "nginx-config";
+    src = "";
+    phases = [ "installPhase" ];
+    installPhase = ''
+      mkdir $out
+      awk -f ${awkFormat} ${pre-configFile} | sed '/^\s*$/d' > $out/nginx.conf
+    '';
+  };
+
+  pre-configFile = pkgs.writeText "pre-nginx.conf" ''
     user ${cfg.user} ${cfg.group};
     error_log ${cfg.logError};
     daemon off;
@@ -638,10 +656,10 @@ in
       preStart =
         ''
         ${cfg.preStart}
-        ${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir} -t
+        ${cfg.package}/bin/nginx -c ${configFile}/nginx.conf -p ${cfg.stateDir} -t
         '';
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/nginx -c ${configFile} -p ${cfg.stateDir}";
+        ExecStart = "${cfg.package}/bin/nginx -c ${configFile}/nginx.conf -p ${cfg.stateDir}";
         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
         Restart = "always";
         RestartSec = "10s";