[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: how to add hwdb of keyboard
From: |
Stefan Huchler |
Subject: |
Re: how to add hwdb of keyboard |
Date: |
Sat, 19 Sep 2020 23:34:14 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
>> I forked now the eudev definition to add my hwdb data:
>>
>> (add-before 'build-hwdb 'add-my-hwdb-file
>> (lambda* (#:key outputs #:allow-other-keys)
>> (let ((out (assoc-ref outputs "out")))
>> (call-with-output-file
>> (string-append out
>> "/etc/udev/hwdb.d/90-X220-keyboard.hwdb")
>> (lambda (port)
>> (display
>>
>> "keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPadX220*\n" port)
>> (display "KEYBOARD_KEY_7b=compose\n" port)
>> (display "KEYBOARD_KEY_39=enter\n" port)
>> (display "KEYBOARD_KEY_79=space\n" port)
>> (display "KEYBOARD_KEY_70=tab\n" port)
>> (display "KEYBOARD_KEY_0f=backspace\n" port)
>> (display "KEYBOARD_KEY_3a=home\n" port)
>> (display "KEYBOARD_KEY_1c=end\n" port)
>> (display "KEYBOARD_KEY_0e=backspace\n" port)
>> (display "KEYBOARD_KEY_7d=backspace\n"
>> port))))))
>>
>> Is there a way to make guix system priotise my modified eudev over the
>> upstream one?
>
> No, you would need to rebuild with your eudev as a replacement.
When I try to do that:
(define udev-service-type
(service-type (name 'udev)
(extensions
(list (service-extension shepherd-root-service-type
udev-shepherd-service)))
(compose concatenate) ;concatenate the list of rules
(extend (lambda (config rules)
(match config
(($ <udev-configuration> udev initial-rules)
(udev-configuration
(udev my-eudev) ;the udev package to use
(rules initial-rules))))))))
I get the message:
hint: Did you forget `(use-modules (gnu services base))'?
Even I have the use-module of that in there:
(use-modules (nongnu packages linux)
(nongnu system linux-initrd)
(gnu services base)
(gnu system linux-initrd)
(gnu services shepherd)
(eudev)
(gnu))
Another annoying thing is that I have to use the -I parameter from guix:
guix system reconfigure /etc/config.scm -L guix-packages/
I set that to .bashrc:
export GUIX_PACKAGE_PATH="~/guix-packages"
Why do I have to use the -L parameter when I already have defined that
path?
Any ideas?