diff --git a/doc/guix.texi b/doc/guix.texi index 34683d2555..d5f7dcb30b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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. @end deffn -@deffn {Scheme Procedure} console-keymap-service @var{file} +@deffn {Scheme Procedure} console-keymap-service @var{files} ... @cindex keyboard layout -Return a service to load console keymap from @var{file} using -@command{loadkeys} command. +Return a service to load console keymaps from @var{files} using +@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 @deffn {Scheme Procedure} gpm-service-type [#:gpm @var{gpm}] @ diff --git a/gnu/services/base.scm b/gnu/services/base.scm index b168543a65..a3585cc5a3 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -494,18 +494,18 @@ (define (unicode-start tty) (define console-keymap-service-type (shepherd-service-type 'console-keymap - (lambda (file) + (lambda (files) (shepherd-service (documentation (string-append "Load console keymap (loadkeys).")) (provision '(console-keymap)) (start #~(lambda _ (zero? (system* (string-append #$kbd "/bin/loadkeys") - #$file)))) + #$@files)))) (respawn? #f))))) -(define (console-keymap-service file) - "Return a service to load console keymap from @var{file}." - (service console-keymap-service-type file)) +(define (console-keymap-service . files) + "Return a service to load console keymaps from @var{files}." + (service console-keymap-service-type files)) (define console-font-service-type (shepherd-service-type