diff options
author | EuAndreh <eu@euandre.org> | 2024-08-20 07:53:42 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-08-20 07:53:42 -0300 |
commit | 9806213c26dd2f71851a7edbe3f29e1f9a404606 (patch) | |
tree | d874b914421c0263bf419ab044d1e3412a782375 /src/org/euandre/packages.scm | |
parent | packages.scm: Update syskeep package (diff) | |
download | packages-9806213c26dd2f71851a7edbe3f29e1f9a404606.tar.gz packages-9806213c26dd2f71851a7edbe3f29e1f9a404606.tar.xz |
packages.scm: Conditionally run git-shepherd-services based on new configuration attribute
Diffstat (limited to 'src/org/euandre/packages.scm')
-rw-r--r-- | src/org/euandre/packages.scm | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/src/org/euandre/packages.scm b/src/org/euandre/packages.scm index c6fc9e0..3721ecc 100644 --- a/src/org/euandre/packages.scm +++ b/src/org/euandre/packages.scm @@ -538,7 +538,8 @@ (base-path git-configuration-base-path (default "/srv/git")) (user-path git-configuration-user-path (default #f)) (run-in-container? git-configuration-run-in-container? (default #f)) - (container-name git-configuration-container-name (default "git-container"))) + (container-name git-configuration-container-name (default "git-container")) + (run-server? git-configuration-run-server? (default #f))) (define-public (git-command config) (match-record config <git-configuration> @@ -563,22 +564,24 @@ (define-public (git-shepherd-services config) (match-record config <git-configuration> - (user group export-all? base-path user-path) - (list - (shepherd-service - (provision '(git)) - (requirement '(networking)) - (start - #~(make-forkexec-constructor - (list #$(git-command config) - "daemon" "--syslog" "--reuseaddr" - #$@(mklist (and export-all? "--export-all")) - #$@(mklist (and base-path (str "--base-path=" base-path))) - #$@(mklist (and user-path (str "--user-path=" user-path)))) - #:user #$user - #:group #$group)) - (stop #~(make-kill-destructor SIGKILL)) - (documentation "Daemon process of the git:// protocol."))))) + (user group export-all? base-path user-path run-server?) + (if (not run-server?) + (list) + (list + (shepherd-service + (provision '(git)) + (requirement '(networking)) + (start + #~(make-forkexec-constructor + (list #$(git-command config) + "daemon" "--syslog" "--reuseaddr" + #$@(mklist (and export-all? "--export-all")) + #$@(mklist (and base-path (str "--base-path=" base-path))) + #$@(mklist (and user-path (str "--user-path=" user-path)))) + #:user #$user + #:group #$group)) + (stop #~(make-kill-destructor SIGKILL)) + (documentation "Daemon process of the git:// protocol.")))))) (define-public (git-accounts config) (match-record config <git-configuration> |