I build a package for it: (define-module (x220-hwdb) #:use-module (guix packages) #:use-module (guix download) #:use-module (gnu packages compression) #:use-module (guix build-system copy) #:use-module (guix licenses))
(define-public x220-hwdb (package (name "x220-hwdb") (version "1.0") (source (origin (method url-fetch) (uri "https://github.com/spiderbit/emacs-ergo-thinkpad-kb-layout/archive/master.zip") (sha256 (base32 "0rx791b7mq5visa9ckyf7py4lz5ml51hn4mzz4rmlpnlrcds4x8v")))) (build-system copy-build-system) (inputs `(("unzip" ,unzip))) (synopsis "Bla") (description "Bla bla bla") (home-page "https://www.gnu.org/blablabla") (license gpl3+))) and tried to link it to the expected location: (service special-files-service-type `(("/etc/udev/hwdb.d/90-X220-keyboard.hwdb" ,(file-append x220-hwdb "90-X220-keyboard.hwdb")))) the problem is that the hwdb is compiled but read only, so the file must basically be there before the eudev package builds this db. Is there a better way doing this? Stefan Huchler <stefan.huch...@mail.de> writes: > I use a custom keyboard layout on one of my laptops: > > https://github.com/spiderbit/emacs-ergo-thinkpad-kb-layout > > I use a hwdb which has the advantage that it works on tty and x11 and > that it's keyboard specific so if I connect a external keyboard it does > not swap keys on it. > > I would be ok with giving up the keyboard specific part, I could live > with X11 only for a start, but I would like to have it in the config.scm > file configured and not only in some home based modifications. > > Any idea how to do that best in guix, patching a custom my-modified-dvorak > keyboard-layout into the xkeyboard-config package maybe?