aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-11-10 23:23:32 +0100
committerLudovic Courtès <ludo@gnu.org>2014-11-10 23:23:32 +0100
commitfdaacbad85a23f89db9431477684fb1333de03f3 (patch)
tree6817ad6bfc18cde17837f14bd1d29980589e4519 /gnu
parent03920078d5073a9b0674b01f3e4d1f5b082a5195 (diff)
downloadguix-fdaacbad85a23f89db9431477684fb1333de03f3.tar
guix-fdaacbad85a23f89db9431477684fb1333de03f3.tar.gz
services: Add 'auto-start?' field to <service>.
* gnu/services.scm (<service>)[auto-start?]: New field. * gnu/services/dmd.scm (dmd-configuration-file): Honor it. * gnu/system/install.scm (cow-store-service): Add 'auto-start?' field.
Diffstat (limited to 'gnu')
-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)