diff options
author | Elis Hirwing <elis@hirwing.se> | 2019-02-24 08:57:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-24 08:57:31 +0100 |
commit | d7ba3764356317a8642b420a6c5995ed6a0e55a3 (patch) | |
tree | 2e3f0e4cd13b5774d2be6d98c1c709343195fb80 /nixos | |
parent | d4f487a78b92ebb6a9ffa3b8a8214dbd09b1a721 (diff) | |
parent | 0394b177c709c869f9bf34fc3aa10b4e4d2bc121 (diff) | |
download | nixpkgs-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.nix | 24 |
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"; |