[bug#77186,04/13] services: gitolite-rc-file: Add extra-content field.
Commit Message
* gnu/services/version-control.scm (<gitolite-rc-file>): Add extra-content
field.
(gitolite-rc-file-compiler): Handle it during configuration file generation.
* doc/guix.texi (Version Control Services): Document it.
Change-Id: I5082e1d7a27cc746641ba9ec8ae07c703da5f279
---
doc/guix.texi | 3 +++
gnu/services/version-control.scm | 8 ++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
@@ -41164,6 +41164,9 @@ Version Control Services
@item @code{enable} (default: @code{'("help" "desc" "info" "perms" "writable" "ssh-authkeys" "git-config" "daemon" "gitweb")})
This setting controls the commands and features to enable within Gitolite.
+@item @code{extra-content} (default: @code{""})
+Extra content to add verbatim into the @code{%RC} hash.
+
@end table
@end deftp
@@ -63,6 +63,7 @@ (define-module (gnu services version-control)
gitolite-rc-file-host-name
gitolite-rc-file-roles
gitolite-rc-file-enable
+ gitolite-rc-file-extra-content
gitolite-service-type
@@ -269,13 +270,15 @@ (define-record-type* <gitolite-rc-file>
"ssh-authkeys"
"git-config"
"daemon"
- "gitweb"))))
+ "gitweb")))
+ (extra-content gitolite-rc-extra-content
+ (default "")))
(define-gexp-compiler (gitolite-rc-file-compiler
(file <gitolite-rc-file>) system target)
(match-record file <gitolite-rc-file>
( umask local-code unsafe-pattern git-config-keys log-extra
- host-name roles enable)
+ host-name roles enable extra-content)
(apply text-file* "gitolite.rc"
`("%RC = (\n"
" UMASK => " ,(format #f "~4,'0o" umask) ",\n"
@@ -301,6 +304,7 @@ (define-gexp-compiler (gitolite-rc-file-compiler
(simple-format #f " '~A',\n" value))
enable)
" ],\n"
+ ,extra-content "\n"
");\n"
"\n"
,(if unsafe-pattern