help-guix
[Top][All Lists]
Advanced

[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?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]