summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/services.scm3
-rw-r--r--gnu/services/dmd.scm4
-rw-r--r--gnu/system/install.scm4
3 files changed, 10 insertions, 1 deletions
diff --git a/gnu/services.scm b/gnu/services.scm
index 37ecc019ec..43e51b998c 100644
--- a/gnu/services.scm
+++ b/gnu/services.scm
@@ -27,6 +27,7 @@
             service-respawn?
             service-start
             service-stop
+            service-auto-start?
             service-activate
             service-user-accounts
             service-user-groups
@@ -51,6 +52,8 @@
   (start         service-start)                   ; g-expression (procedure)
   (stop          service-stop                     ; g-expression (procedure)
                  (default #~(const #f)))
+  (auto-start?   service-auto-start?              ; Boolean
+                 (default #t))
   (user-accounts service-user-accounts            ; list of <user-account>
                  (default '()))
   (user-groups   service-user-groups              ; list of <user-groups>
diff --git a/gnu/services/dmd.scm b/gnu/services/dmd.scm
index 59c2373779..35b6b384c1 100644
--- a/gnu/services/dmd.scm
+++ b/gnu/services/dmd.scm
@@ -68,7 +68,9 @@
           (setenv "PATH" "/run/current-system/profile/bin")
 
           (format #t "starting services...~%")
-          (for-each start '#$(append-map service-provision services))))
+          (for-each start
+                    '#$(append-map service-provision
+                                   (filter service-auto-start? services)))))
 
     (gexp->file "dmd.conf" config)))
 
diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index 6b3aa6cbf2..961361b937 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -102,6 +102,10 @@ the user's target storage device rather than on the RAM disk."
              (documentation
               "Make the store copy-on-write, with writes going to \
 the given target.")
+
+             ;; This is meant to be explicitly started by the user.
+             (auto-start? #f)
+
              (start #~(case-lambda
                         ((target)
                          #$(make-cow-store #~target)