summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Kost <alezost@gmail.com>2016-04-09 00:21:15 +0300
committerAlex Kost <alezost@gmail.com>2016-04-17 10:33:08 +0300
commitb3d05f487014b1c34c45b8c693a974500e689603 (patch)
treebad72fb6628a8122eb772ff230ff609ca6acbebb
parenta78daf5e2bdd8e0b958d679c442d0f122a7d68cd (diff)
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'.
-rw-r--r--doc/guix.texi21
-rw-r--r--gnu/services/base.scm10
2 files changed, 23 insertions, 8 deletions
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 @@ strings or string-valued gexps."
(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