~ruther/guix-local

9fcc355529838f86f963dbdd7e47c0308df95a29 — Ludovic Courtès 12 years ago 30f25b0
gnu: vm: Add a service for the Guix daemon.

* gnu/system/dmd.scm (guix-service): New procedure.
* gnu/system/vm.scm (system-qemu-image): Use it.
2 files changed, 16 insertions(+), 1 deletions(-)

M gnu/system/dmd.scm
M gnu/system/vm.scm
M gnu/system/dmd.scm => gnu/system/dmd.scm +14 -0
@@ 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

M gnu/system/vm.scm => gnu/system/vm.scm +2 -1
@@ 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))