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