~ruther/guix-local

0081410da011228ce0eef83f50b13bf70932fd3f — Ludovic Courtès 10 years ago 82aa2a2
Revert "services: 'mingetty-service' no longer takes monadic values."

This reverts commit daa48c31797b27e3a0991d0db7406c951ebc86df.
3 files changed, 15 insertions(+), 8 deletions(-)

M doc/guix.texi
M gnu/services/base.scm
M gnu/system/linux.scm
M doc/guix.texi => doc/guix.texi +1 -1
@@ 5699,7 5699,7 @@ automatically.  @var{login-pause?} can be set to @code{#t} in conjunction with
@var{auto-login}, in which case the user will have to press a key before the
login shell is launched.

When true, @var{login-program} is a gexp denoting the name
When true, @var{login-program} is a gexp or a monadic gexp denoting the name
of the log-in program (the default is the @code{login} program from the Shadow
tool suite.)


M gnu/services/base.scm => gnu/services/base.scm +12 -5
@@ 357,7 357,7 @@ stopped before 'kill' is called."

(define* (mingetty-service tty
                           #:key
                           (motd (plain-file "motd" "Welcome.\n"))
                           (motd (text-file "motd" "Welcome.\n"))
                           auto-login
                           login-program
                           login-pause?


@@ 374,12 374,19 @@ automatically.  @var{login-pause?} can be set to @code{#t} in conjunction with
@var{auto-login}, in which case the user will have to press a key before the
login shell is launched.

When true, @var{login-program} is a gexp denoting the name
When true, @var{login-program} is a gexp or a monadic gexp denoting the name
of the log-in program (the default is the @code{login} program from the Shadow
tool suite.)

@var{motd} is a file-like object to use as the ``message of the day''."
  (with-monad %store-monad
@var{motd} is a monadic value containing a text file to use as
the ``message of the day''."
  (mlet %store-monad ((motd motd)
                      (login-program (cond ((gexp? login-program)
                                            (return login-program))
                                           ((not login-program)
                                            (return #f))
                                           (else
                                            login-program))))
    (return
     (service
      (documentation (string-append "Run mingetty on " tty "."))


@@ 854,7 861,7 @@ gexp, to open it, and evaluate @var{close} to close it."

(define %base-services
  ;; Convenience variable holding the basic services.
  (let ((motd (plain-file "motd" "
  (let ((motd (text-file "motd" "
This is the GNU operating system, welcome!\n\n")))
    (list (console-font-service "tty1")
          (console-font-service "tty2")

M gnu/system/linux.scm => gnu/system/linux.scm +2 -2
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 136,7 136,7 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE."
    (lambda* (name #:key allow-empty-passwords? motd)
      "Return a standard Unix-style PAM service for NAME.  When
ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords.  When MOTD is true, it
should be a file-like object used as the message-of-the-day."
should be the name of a file used as the message-of-the-day."
      ;; See <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-example.html>.
      (let ((name* name))
        (pam-service