~ruther/guix-local

b3d05f487014b1c34c45b8c693a974500e689603 — Alex Kost 10 years ago a78daf5
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'.
2 files changed, 23 insertions(+), 8 deletions(-)

M doc/guix.texi
M gnu/services/base.scm
M doc/guix.texi => doc/guix.texi +18 -3
@@ 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}] @

M gnu/services/base.scm => gnu/services/base.scm +5 -5
@@ 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