summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/system/dmd.scm14
-rw-r--r--gnu/system/vm.scm3
2 files changed, 16 insertions, 1 deletions
diff --git a/gnu/system/dmd.scm b/gnu/system/dmd.scm
index 1e8767e357..a502c42e03 100644
--- a/gnu/system/dmd.scm
+++ b/gnu/system/dmd.scm
@@ -23,6 +23,8 @@
#:use-module (guix records)
#:use-module ((gnu packages system)
#:select (mingetty inetutils))
+ #:use-module ((gnu packages package-management)
+ #:select (guix))
#:use-module (ice-9 match)
#:use-module (srfi srfi-1)
#:export (service?
@@ -36,6 +38,7 @@
syslog-service
mingetty-service
+ guix-service
dmd-configuration-file))
;;; Commentary:
@@ -104,6 +107,17 @@
(inputs `(("inetutils" ,inetutils)
("syslog.conf" ,syslog.conf))))))
+(define* (guix-service store #:key (guix guix))
+ "Return a service that runs the build daemon from GUIX."
+ (let* ((drv (package-derivation store guix))
+ (daemon (string-append (derivation->output-path drv)
+ "/bin/guix-daemon")))
+ (service
+ (provision '(guix-daemon))
+ (start `(make-forkexec-constructor ,daemon))
+ (inputs `(("guix" ,guix))))))
+
+
(define (dmd-configuration-file store services)
"Return the dmd configuration file for SERVICES."
(define config
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index a864ab3de3..64d778b602 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -382,7 +382,8 @@ It can be used to provide additional files, such as /etc files."
(list (mingetty-service store "tty1")
(mingetty-service store "tty2")
(mingetty-service store "tty3")
- (syslog-service store)))
+ (syslog-service store)
+ (guix-service store #:guix guix-0.4)))
(parameterize ((%guile-for-build (package-derivation store guile-final)))
(let* ((bash-drv (package-derivation store bash))