~ruther/guix-local

ba47851fac503f005d2bc496161638c46cc29ffc — Ludovic Courtès 12 years ago 43a2779
gnu: vm: Add 'host-name' service.

* gnu/system/dmd.scm (host-name-service): New procedure.
  (mingetty-service): Require the 'host-name' service.
* gnu/system/vm.scm (system-qemu-image): Add the 'host-name' service.
  Set PS1 in /etc/bashrc to something sensible.
2 files changed, 17 insertions(+), 1 deletions(-)

M gnu/system/dmd.scm
M gnu/system/vm.scm
M gnu/system/dmd.scm => gnu/system/dmd.scm +14 -0
@@ 36,6 36,7 @@
            service-stop
            service-inputs

            host-name-service
            syslog-service
            mingetty-service
            guix-service


@@ 61,6 62,14 @@
  (inputs        service-inputs                   ; list of inputs
                 (default '())))

(define (host-name-service store name)
  "Return a service that sets the host name to NAME."
  (service
   (provision '(host-name))
   (start `(lambda _
             (sethostname ,name)))
   (respawn? #f)))

(define (mingetty-service store tty)
  "Return a service to run mingetty on TTY."
  (let* ((mingetty-drv (package-derivation store mingetty))


@@ 68,6 77,11 @@
                                      "/sbin/mingetty")))
    (service
     (provision (list (symbol-append 'term- (string->symbol tty))))

     ;; Since the login prompt shows the host name, wait for the 'host-name'
     ;; service to be done.
     (requirement '(host-name))

     (start `(make-forkexec-constructor ,mingetty-bin "--noclear" ,tty))
     (inputs `(("mingetty" ,mingetty))))))


M gnu/system/vm.scm => gnu/system/vm.scm +3 -1
@@ 447,7 447,8 @@ Happy birthday, GNU!                                http://www.gnu.org/gnu30

  (define %dmd-services
    ;; Services run by dmd.
    (list (mingetty-service store "tty1")
    (list (host-name-service store "gnu")
          (mingetty-service store "tty1")
          (mingetty-service store "tty2")
          (mingetty-service store "tty3")
          (mingetty-service store "tty4")


@@ 488,6 489,7 @@ Happy birthday, GNU!                                http://www.gnu.org/gnu30
           (profile  (derivation->output-path profile-drv))
           (bashrc   (add-text-to-store store "bashrc"
                                        (string-append "
export PS1='\\u@\\h\\$ '
export PATH=$HOME/.guix-profile/bin:" profile "/bin:" profile "/sbin
export CPATH=$HOME/.guix-profile/include:" profile "/include
export LIBRARY_PATH=$HOME/.guix-profile/lib:" profile "/lib