aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Volf <~@wolfsden.cz>2024-10-06 17:22:57 +0200
committerLudovic Courtès <ludo@gnu.org>2024-11-20 23:41:08 +0100
commitad09bf96388acd8302dfd9ed52f8c88464064472 (patch)
tree81b4f749fe34cdb07ec9f87f9ff263af3b354a8c
parent123dcaefe921d390a5670b39ef92ff614b99ac11 (diff)
downloadguix-ad09bf96388acd8302dfd9ed52f8c88464064472.tar.gz
guix-ad09bf96388acd8302dfd9ed52f8c88464064472.zip
services: nginx-upstream-configuration: Allow file-like objects
* gnu/services/web.scm (emit-nginx-upstream-config): Support file-like objects. * doc/guix.texi (Web Services)[nginx-upstream-configuration]: Document it. Change-Id: I49996e358174dc77b31e3c91b908a6a72f3eb705 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--doc/guix.texi11
-rw-r--r--gnu/services/web.scm6
2 files changed, 14 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index f71f0b6561..1c39628ffa 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -32342,7 +32342,16 @@ the default port is 80, and a different port can be specified
explicitly.
@item @code{extra-content}
-A string or list of strings to add to the upstream block.
+Additional content to be appended to the upstream block. Can be a
+string or file-like object or list of thereof. In case of list, each
+item is prefixed with indentation and suffixed with a new line. Nested
+lists are flattened.
+
+@lisp
+(extra-content "include /etc/nginx/custom-config.conf;")
+(extra-content `("include /etc/nginx/custom-config.conf;"
+ ("include " ,%custom-config.conf ";")))
+@end lisp
@end table
@end deftp
diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 6f77efaaf2..3997fe2ab8 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -704,8 +704,10 @@ of index files."
(cons
"\n"
(map (lambda (line)
- (simple-format #f " ~A\n" line))
- (flatten extra-content)))
+ `(" " ,line "\n"))
+ (if (list? extra-content)
+ extra-content
+ (list extra-content))))
'()))
" }\n"))