services: 'console-keymap-service' takes multiple files.

* gnu/services/base.scm (console-keymap-service-type): Type procedure
takes a list of files instead of a single file.
(console-keymap-service): Take 'files' as rest arguments.
* doc/guix.texi (Base Services): Improve documentation of
'console-keymap-service'.
This commit is contained in:
Alex Kost 2016-04-09 00:21:15 +03:00
parent a78daf5e2b
commit b3d05f4870
2 changed files with 23 additions and 8 deletions

View file

@ -7262,10 +7262,25 @@ Return a service that runs the Guix build daemon according to
Run @var{udev}, which populates the @file{/dev} directory dynamically. Run @var{udev}, which populates the @file{/dev} directory dynamically.
@end deffn @end deffn
@deffn {Scheme Procedure} console-keymap-service @var{file} @deffn {Scheme Procedure} console-keymap-service @var{files} ...
@cindex keyboard layout @cindex keyboard layout
Return a service to load console keymap from @var{file} using Return a service to load console keymaps from @var{files} using
@command{loadkeys} command. @command{loadkeys} command. Most likely, you want to load some default
keymap, which can be done like this:
@example
(console-keymap-service "dvorak")
@end example
Or, for example, for a Swedish keyboard, you may need to combine
the following keymaps:
@example
(console-keymap-service "se-lat6" "se-fi-lat6")
@end example
Also you can specify a full file name (or file names) of your keymap(s).
See @code{man loadkeys} for details.
@end deffn @end deffn
@deffn {Scheme Procedure} gpm-service-type [#:gpm @var{gpm}] @ @deffn {Scheme Procedure} gpm-service-type [#:gpm @var{gpm}] @

View file

@ -494,18 +494,18 @@ (define (unicode-start tty)
(define console-keymap-service-type (define console-keymap-service-type
(shepherd-service-type (shepherd-service-type
'console-keymap 'console-keymap
(lambda (file) (lambda (files)
(shepherd-service (shepherd-service
(documentation (string-append "Load console keymap (loadkeys).")) (documentation (string-append "Load console keymap (loadkeys)."))
(provision '(console-keymap)) (provision '(console-keymap))
(start #~(lambda _ (start #~(lambda _
(zero? (system* (string-append #$kbd "/bin/loadkeys") (zero? (system* (string-append #$kbd "/bin/loadkeys")
#$file)))) #$@files))))
(respawn? #f))))) (respawn? #f)))))
(define (console-keymap-service file) (define (console-keymap-service . files)
"Return a service to load console keymap from @var{file}." "Return a service to load console keymaps from @var{files}."
(service console-keymap-service-type file)) (service console-keymap-service-type files))
(define console-font-service-type (define console-font-service-type
(shepherd-service-type (shepherd-service-type