From 123dcaefe921d390a5670b39ef92ff614b99ac11 Mon Sep 17 00:00:00 2001 From: Tomas Volf <~@wolfsden.cz> Date: Sun, 6 Oct 2024 17:40:14 +0200 Subject: [PATCH] services: nginx: Print extra-content before the server-blocks. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The configuration file is processed sequentially, which meant that there was no way to set for example log format shared between the server-blocks, because the final configuration file would have this order: ... http { ... server { } ... $extra-content } Moving the extra-content before the serialization of server-blocks resolves this. * gnu/services/web.scm (default-nginx-config): Move extra-content before server-blocks. Change-Id: Ie8286a533dfed575abc58a0f4800706b3ad6adc2 Signed-off-by: Ludovic Courtès --- gnu/services/web.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/services/web.scm b/gnu/services/web.scm index 4cf7c68997..6f77efaaf2 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -771,10 +771,7 @@ (define (default-nginx-config config) (number->string server-names-hash-bucket-max-size) ";\n") "") - "\n" - (map emit-nginx-upstream-config upstream-blocks) - (map emit-nginx-server-config server-blocks) - (match extra-content + (match extra-content ((? list? extra-content) (map (lambda (line) `(" " ,line "\n")) @@ -782,7 +779,10 @@ (define (default-nginx-config config) ;; XXX: For compatibility strings and gexp's are inserted ;; directly. (_ extra-content)) - "\n}\n")))) + "\n" + (map emit-nginx-upstream-config upstream-blocks) + (map emit-nginx-server-config server-blocks) + "}\n")))) (define %nginx-accounts (list (user-group (name "nginx") (system? #t))