aboutsummaryrefslogtreecommitdiff
path: root/gnu/services/guix.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-03-01 20:56:37 +0000
committerChristopher Baines <mail@cbaines.net>2020-03-08 23:35:03 +0000
commitd8ab68b92941ca0286697b87a88254023a0b2dc9 (patch)
tree08ce1fcc385d39fb52f9303320988bad79f59207 /gnu/services/guix.scm
parent67d21e2b08f61972b79e643bd7de1c65a8002837 (diff)
downloadpatches-d8ab68b92941ca0286697b87a88254023a0b2dc9.tar
patches-d8ab68b92941ca0286697b87a88254023a0b2dc9.tar.gz
services: guix-data-service: Allow passing extra options.
This is so that the options supported by the service configuration don't have to always be changed. Generally though all options should be explicitly supported and documented, so this is mostly to facilitate experimentation. * gnu/services/guix.scm (<guix-data-service-configuration>): Add extra-options and extra-process-jobs-options to the record type. (guix-data-service-shepherd-services): Handle these new configuration record fields. * doc/guix.texi (Guix Data Service): Document these new options.
Diffstat (limited to 'gnu/services/guix.scm')
-rw-r--r--gnu/services/guix.scm15
1 files changed, 11 insertions, 4 deletions
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 0f0fad39b0..10a8581a62 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -68,7 +68,12 @@
(default #f))
(commits-getmail-retriever-configuration
guix-data-service-commits-getmail-retriever-configuration
- (default #f)))
+ (default #f))
+ (extra-options guix-data-service-extra-options
+ (default '()))
+ (extra-process-jobs-options
+ guix-data-service-extra-process-jobs-options
+ (default '())))
(define (guix-data-service-profile-packages config)
"Return the guix-data-service package, this will populate the
@@ -78,7 +83,7 @@ ca-certificates.crt file in the system profile."
(define (guix-data-service-shepherd-services config)
(match-record config <guix-data-service-configuration>
- (package user group port host)
+ (package user group port host extra-options extra-process-jobs-options)
(list
(shepherd-service
(documentation "Guix Data Service web server")
@@ -92,7 +97,8 @@ ca-certificates.crt file in the system profile."
#$(string-append "--host=" host)
;; Perform any database migrations when the
;; service is started
- "--update-database")
+ "--update-database"
+ #$@extra-options)
#:user #$user
#:group #$group
@@ -117,7 +123,8 @@ ca-certificates.crt file in the system profile."
(start #~(make-forkexec-constructor
(list
#$(file-append package
- "/bin/guix-data-service-process-jobs"))
+ "/bin/guix-data-service-process-jobs")
+ #$@extra-process-jobs-options)
#:user #$user
#:group #$group
#:environment-variables