mothacehe pushed a commit to branch master
in repository guix.

commit 2d9dace8c297c957953fa77bfef785b9dc7b4d2e
Author: Mathieu Othacehe <m.othac...@gmail.com>
Date:   Sun Oct 28 11:10:52 2018 +0900

    services: kmscon: Add an auto-login option.
    
    Add an auto-login option that behaves as the one of mingetty-service.
    
    * gnu/services/base.scm (kmscon-configuration)[auto-login]: New field.
    (kmscon-service-type): Pass it to kmscon command.
    * doc/guix.texi (Base Services): Document it.
---
 doc/guix.texi         |  6 +++++-
 gnu/services/base.scm | 10 +++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index d410f2a..53aee4a 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -31,7 +31,7 @@ Copyright @copyright{} 2016, 2017, 2018 Jan Nieuwenhuizen@*
 Copyright @copyright{} 2016 Julien Lepiller@*
 Copyright @copyright{} 2016 Alex ter Weele@*
 Copyright @copyright{} 2017, 2018 Clément Lassieur@*
-Copyright @copyright{} 2017 Mathieu Othacehe@*
+Copyright @copyright{} 2017, 2018 Mathieu Othacehe@*
 Copyright @copyright{} 2017 Federico Beffa@*
 Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
 Copyright @copyright{} 2017 Thomas Danckaert@*
@@ -10939,6 +10939,10 @@ A gexp denoting the name of the log-in program. The 
default log-in program is
 @item @code{login-arguments} (default: @code{'("-p")})
 A list of arguments to pass to @command{login}.
 
+@item @code{auto-login} (default: @code{#f})
+When passed a login name, as a string, the specified user will be logged
+in automatically without prompting for their login name or password.
+
 @item @code{hardware-acceleration?} (default: #f)
 Whether to use hardware acceleration.
 
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 5b30ced..3409bd3 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -6,6 +6,7 @@
 ;;; Copyright © 2016, 2017 Leo Famulari <l...@famulari.name>
 ;;; Copyright © 2016 David Craven <da...@craven.ch>
 ;;; Copyright © 2016 Ricardo Wurmus <rek...@elephly.net>
+;;; Copyright © 2018 Mathieu Othacehe <m.othac...@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2040,6 +2041,8 @@ This service is not part of @var{%base-services}."
                            (default (file-append shadow "/bin/login")))
   (login-arguments         kmscon-configuration-login-arguments
                            (default '("-p")))
+  (auto-login              kmscon-configuration-auto-login
+                           (default #f))
   (hardware-acceleration?  kmscon-configuration-hardware-acceleration?
                            (default #f))) ; #t causes failure
 
@@ -2051,6 +2054,7 @@ This service is not part of @var{%base-services}."
            (virtual-terminal (kmscon-configuration-virtual-terminal config))
            (login-program (kmscon-configuration-login-program config))
            (login-arguments (kmscon-configuration-login-arguments config))
+           (auto-login (kmscon-configuration-auto-login config))
            (hardware-acceleration? 
(kmscon-configuration-hardware-acceleration? config)))
 
        (define kmscon-command
@@ -2059,7 +2063,11 @@ This service is not part of @var{%base-services}."
             "--vt" #$virtual-terminal
             "--no-switchvt" ;Prevent a switch to the virtual terminal.
             #$@(if hardware-acceleration? '("--hwaccel") '())
-            "--" #$login-program #$@login-arguments))
+            "--login" "--"
+            #$login-program #$@login-arguments
+            #$@(if auto-login
+                   #~(#$auto-login)
+                   #~())))
 
        (shepherd-service
         (documentation "kmscon virtual terminal")

Reply via email to