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
|
||||
|
||||
@item @code{extra-content} (default: @code{""})
|
||||
Extra content for the @code{http} block. Should be string or a string
|
||||
valued G-expression.
|
||||
Additional content to be appended to the @code{http} block. Can either
|
||||
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 deftp
|
||||
|
|
|
@ -771,7 +771,14 @@ of index files."
|
|||
"\n"
|
||||
(map emit-nginx-upstream-config upstream-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"))))
|
||||
|
||||
(define %nginx-accounts
|
||||
|
|
Reference in New Issue