Subject: [PATCH] services: nginx: Don't emit empty fields

From: Simen Endsjø <[email-masked]>
Date: Fri, 16 Sep 2022 09:50:37 +0200

An empty root or index field is an error in nginx.

* gnu/services/web.scm (emit-nginx-server-config): Don't emit root or
index fields when they are empty
---
 gnu/services/web.scm | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 5bac496f01..e347f5dbcc 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -14,6 +14,7 @@
 ;;; Copyright © 2020 Arun Isaac <[email-masked]>
 ;;; Copyright © 2020 Oleg Pykhalov <[email-masked]>
 ;;; Copyright © 2020, 2021 Alexandru-Sergiu Marton <[email-masked]>
+;;; Copyright © 2022 Simen Endsjø <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -646,8 +647,12 @@ (define-syntax-rule (and/l x tail ...)
      "      server_name " (config-domain-strings server-name) ";\n"
      (and/l ssl-certificate     "      ssl_certificate " <> ";\n")
      (and/l ssl-certificate-key "      ssl_certificate_key " <> ";\n")
-     "      root " root ";\n"
-     "      index " (config-index-strings index) ";\n"
+     (if (not (equal? "" root))
+         (list "      root " root ";\n")
+         "")
+     (if (not (null? index))
+         (list "      index " (config-index-strings index) ";\n")
+         "")
      (if (not (nil? try-files))
          (and/l (config-index-strings try-files) "      try_files " <> ";\n")
          "")

base-commit: 02c5ed4f1bbd83bddd81902604af6f8add41ac54
-- 
2.37.3