services: web: Improve nginx formatting for extra-content.
When extra-content is a list, add 4 space indentation and a newline to every line. If it's a string, continue inserting it directly. This makes the list serialization behavior more consistent with other services. * gnu/services/web (default-nginx-config): Support lists. * doc/guix.texi (Web Services)[nginx-configuration]: Document it. Change-Id: Iec8614ba3cfc37292a566197e8d39b352b04846a Signed-off-by: Christopher Baines <mail@cbaines.net>master
parent
ffdbf1f11e
commit
da3e71f472
|
@ -32073,8 +32073,17 @@ configuration. Values may themselves be association lists.
|
||||||
@end lisp
|
@end lisp
|
||||||
|
|
||||||
@item @code{extra-content} (default: @code{""})
|
@item @code{extra-content} (default: @code{""})
|
||||||
Extra content for the @code{http} block. Should be string or a string
|
Additional content to be appended to the @code{http} block. Can either
|
||||||
valued G-expression.
|
be a value that can be lowered into a string or a list of such values.
|
||||||
|
In the former case, it is inserted directly. In the latter, it is
|
||||||
|
prefixed with indentation and suffixed with a newline. Nested lists are
|
||||||
|
flattened into one line.
|
||||||
|
|
||||||
|
@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 table
|
||||||
@end deftp
|
@end deftp
|
||||||
|
|
|
@ -771,7 +771,14 @@ of index files."
|
||||||
"\n"
|
"\n"
|
||||||
(map emit-nginx-upstream-config upstream-blocks)
|
(map emit-nginx-upstream-config upstream-blocks)
|
||||||
(map emit-nginx-server-config server-blocks)
|
(map emit-nginx-server-config server-blocks)
|
||||||
extra-content
|
(match extra-content
|
||||||
|
((? list? extra-content)
|
||||||
|
(map (lambda (line)
|
||||||
|
`(" " ,line "\n"))
|
||||||
|
extra-content))
|
||||||
|
;; XXX: For compatibility strings and gexp's are inserted
|
||||||
|
;; directly.
|
||||||
|
(_ extra-content))
|
||||||
"\n}\n"))))
|
"\n}\n"))))
|
||||||
|
|
||||||
(define %nginx-accounts
|
(define %nginx-accounts
|
||||||
|
|
Reference in New Issue