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.
This commit is contained in:
Mathieu Othacehe 2018-10-28 11:10:52 +09:00
parent f4e8bc5f25
commit 2d9dace8c2
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
2 changed files with 14 additions and 2 deletions

View File

@ -31,7 +31,7 @@ Copyright @copyright{} 2016, 2017, 2018 Jan Nieuwenhuizen@*
Copyright @copyright{} 2016 Julien Lepiller@* Copyright @copyright{} 2016 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@* Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2017, 2018 Clément Lassieur@* 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 Federico Beffa@*
Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
Copyright @copyright{} 2017 Thomas Danckaert@* 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")}) @item @code{login-arguments} (default: @code{'("-p")})
A list of arguments to pass to @command{login}. 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) @item @code{hardware-acceleration?} (default: #f)
Whether to use hardware acceleration. Whether to use hardware acceleration.

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; 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"))) (default (file-append shadow "/bin/login")))
(login-arguments kmscon-configuration-login-arguments (login-arguments kmscon-configuration-login-arguments
(default '("-p"))) (default '("-p")))
(auto-login kmscon-configuration-auto-login
(default #f))
(hardware-acceleration? kmscon-configuration-hardware-acceleration? (hardware-acceleration? kmscon-configuration-hardware-acceleration?
(default #f))) ; #t causes failure (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)) (virtual-terminal (kmscon-configuration-virtual-terminal config))
(login-program (kmscon-configuration-login-program config)) (login-program (kmscon-configuration-login-program config))
(login-arguments (kmscon-configuration-login-arguments config)) (login-arguments (kmscon-configuration-login-arguments config))
(auto-login (kmscon-configuration-auto-login config))
(hardware-acceleration? (kmscon-configuration-hardware-acceleration? config))) (hardware-acceleration? (kmscon-configuration-hardware-acceleration? config)))
(define kmscon-command (define kmscon-command
@ -2059,7 +2063,11 @@ This service is not part of @var{%base-services}."
"--vt" #$virtual-terminal "--vt" #$virtual-terminal
"--no-switchvt" ;Prevent a switch to the virtual terminal. "--no-switchvt" ;Prevent a switch to the virtual terminal.
#$@(if hardware-acceleration? '("--hwaccel") '()) #$@(if hardware-acceleration? '("--hwaccel") '())
"--" #$login-program #$@login-arguments)) "--login" "--"
#$login-program #$@login-arguments
#$@(if auto-login
#~(#$auto-login)
#~())))
(shepherd-service (shepherd-service
(documentation "kmscon virtual terminal") (documentation "kmscon virtual terminal")