* define udev-service-type fails with "did you forget to import.." error @ 2020-09-27 21:23 Stefan Huchler 2020-09-29 14:12 ` Ludovic Courtès 0 siblings, 1 reply; 10+ messages in thread From: Stefan Huchler @ 2020-09-27 21:23 UTC (permalink / raw) To: help-guix When I try to redefine the udev-service like described in: https://guix.gnu.org/manual/en/html_node/Service-Types-and-Services.html (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 eudev) ;the udev package to use (rules initial-rules)))))))) I get following error: /etc/config.scm:128:0: error: udev-shepherd-service: unbound variable hint: Did you forget `(use-modules (gnu services base))'? Despite having: (use-modules (gnu services base)...) Any Idea what I do wrong? btw I removed the append part of rules otherwise it's copied from that docu example. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-09-27 21:23 define udev-service-type fails with "did you forget to import.." error Stefan Huchler @ 2020-09-29 14:12 ` Ludovic Courtès 2020-09-29 16:23 ` Stefan Huchler 2020-10-04 10:18 ` Stefan Huchler 0 siblings, 2 replies; 10+ messages in thread From: Ludovic Courtès @ 2020-09-29 14:12 UTC (permalink / raw) To: Stefan Huchler; +Cc: help-guix Hi, Stefan Huchler <stefan.huchler@mail.de> skribis: > I get following error: > /etc/config.scm:128:0: error: udev-shepherd-service: unbound variable > hint: Did you forget `(use-modules (gnu services base))'? Could you send /etc/config.scm so we can see the context? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-09-29 14:12 ` Ludovic Courtès @ 2020-09-29 16:23 ` Stefan Huchler 2020-10-04 10:29 ` Ricardo Wurmus 2020-10-04 10:18 ` Stefan Huchler 1 sibling, 1 reply; 10+ messages in thread From: Stefan Huchler @ 2020-09-29 16:23 UTC (permalink / raw) To: help-guix [-- Attachment #1: Type: text/plain, Size: 364 bytes --] Ludovic Courtès <ludo@gnu.org> writes: > Hi, > > Stefan Huchler <stefan.huchler@mail.de> skribis: > >> I get following error: >> /etc/config.scm:128:0: error: udev-shepherd-service: unbound variable >> hint: Did you forget `(use-modules (gnu services base))'? > > Could you send /etc/config.scm so we can see the context? > > Thanks, > Ludo’. Yes of course. [-- Attachment #2: config.scm --] [-- Type: application/octet-stream, Size: 2860 bytes --] ;; This is an operating system configuration generated ;; by the graphical installer. ;; Import nonfree linux module. (use-modules (nongnu packages linux) (nongnu system linux-initrd) (gnu services base) (gnu system linux-initrd) (gnu services shepherd) (eudev) (gnu) ;; (ice-9 match) ;; (srfi srfi-1) ) (use-service-modules desktop networking ssh xorg base) (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 eudev) ;the udev package to use ;; (rules initial-rules) ))))))) (operating-system (kernel linux) (initrd microcode-initrd) (firmware (cons* iwlwifi-firmware %base-firmware)) ;; (firmware (list linux-firmware)) (locale "en_US.utf8") (timezone "Europe/Amsterdam") (keyboard-layout (keyboard-layout "us" "dvorak")) (host-name "neptun") (users (cons* (user-account (name "black") (comment "Black") (group "users") (home-directory "/home/black") (supplementary-groups '("wheel" "netdev" "audio" "video"))) %base-user-accounts)) (packages (append (list (specification->package "i3-wm") (specification->package "i3status") (specification->package "dmenu") (specification->package "my-eudev") (specification->package "st") ;; (specification->package "kodi") ;; (specification->package "eudev") (specification->package "emacs") (specification->package "wget") (specification->package "git") (specification->package "python2-pillow") (specification->package "nss-certs")) %base-packages)) (services (append (list (cons (udev-service-type) %base-services) (service openssh-service-type (openssh-configuration (permit-root-login #t))) ;; (service special-files-service-type ;; `(("/etc/udev/hwdb.d/90-X220-keyboard.hwdb" ;; ,(file-append x220-hwdb "90-X220-keyboard.hwdb")))) (set-xorg-configuration (xorg-configuration (keyboard-layout keyboard-layout)))) %desktop-services)) (bootloader (bootloader-configuration (bootloader grub-bootloader) (target "/dev/sda") (keyboard-layout keyboard-layout))) (swap-devices (list "/dev/sda1")) (file-systems (cons* (file-system (mount-point "/") (device (uuid "b11aa0fd-ebbe-4994-bfd5-8bf4c79bf6e7" 'ext4)) (type "ext4")) %base-file-systems))) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-09-29 16:23 ` Stefan Huchler @ 2020-10-04 10:29 ` Ricardo Wurmus 2020-10-04 14:18 ` Stefan Huchler 0 siblings, 1 reply; 10+ messages in thread From: Ricardo Wurmus @ 2020-10-04 10:29 UTC (permalink / raw) To: Stefan Huchler; +Cc: help-guix Stefan Huchler <stefan.huchler@mail.de> writes: > Ludovic Courtès <ludo@gnu.org> writes: > >> Hi, >> >> Stefan Huchler <stefan.huchler@mail.de> skribis: >> >>> I get following error: >>> /etc/config.scm:128:0: error: udev-shepherd-service: unbound variable >>> hint: Did you forget `(use-modules (gnu services base))'? >> >> Could you send /etc/config.scm so we can see the context? >> >> Thanks, >> Ludo’. > > Yes of course. That module does not export udev-shepherd-service AFAICT. -- Ricardo ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-10-04 10:29 ` Ricardo Wurmus @ 2020-10-04 14:18 ` Stefan Huchler 2020-10-04 15:00 ` Tobias Geerinckx-Rice 0 siblings, 1 reply; 10+ messages in thread From: Stefan Huchler @ 2020-10-04 14:18 UTC (permalink / raw) To: help-guix And which does, and why does guix cli interface claim it would do that, with it's hint? A bug? Ricardo Wurmus <rekado@elephly.net> writes: > Stefan Huchler <stefan.huchler@mail.de> writes: > >> Ludovic Courtès <ludo@gnu.org> writes: >> >>> Hi, >>> >>> Stefan Huchler <stefan.huchler@mail.de> skribis: >>> >>>> I get following error: >>>> /etc/config.scm:128:0: error: udev-shepherd-service: unbound variable >>>> hint: Did you forget `(use-modules (gnu services base))'? >>> >>> Could you send /etc/config.scm so we can see the context? >>> >>> Thanks, >>> Ludo’. >> >> Yes of course. > > That module does not export udev-shepherd-service AFAICT. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-10-04 14:18 ` Stefan Huchler @ 2020-10-04 15:00 ` Tobias Geerinckx-Rice 2020-10-04 20:06 ` Stefan Huchler 2020-10-04 20:25 ` Stefan Huchler 0 siblings, 2 replies; 10+ messages in thread From: Tobias Geerinckx-Rice @ 2020-10-04 15:00 UTC (permalink / raw) To: Stefan Huchler; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 1079 bytes --] Stefan, Stefan Huchler 写道: > When I try to redefine the udev-service like described in [0] [...] > I get following error: /etc/config.scm: [...] That's not what [0] describes, is it? It illustrates some service concepts, using real code as example. It doesn't imply that the example code can or should be added to a system configuration. >> That module does not export udev-shepherd-service AFAICT. > And which does, Nobody: (gnu services base) defines udev-shepherd-service but does not export it. It's not intended to be API, nor do I think it needs to be. You might be able to use (@@ (gnu services base) udev-shepherd-service), which forces the module to give up its secrets. It's not good style, and it won't always work but often does. > and why does guix cli interface claim it would do that, > with it's hint? Because it's naive. See <http://issues.guix.gnu.org/43498> and - please! - beat me to a fix ;-) Kind regards, T G-R [0]: https://guix.gnu.org/manual/en/html_node/Service-Types-and-Services.html [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-10-04 15:00 ` Tobias Geerinckx-Rice @ 2020-10-04 20:06 ` Stefan Huchler 2020-10-04 20:25 ` Stefan Huchler 1 sibling, 0 replies; 10+ messages in thread From: Stefan Huchler @ 2020-10-04 20:06 UTC (permalink / raw) To: help-guix Tobias Geerinckx-Rice <me@tobias.gr> writes: > That's not what [0] describes, is it? It illustrates some service > concepts, using real code as example. First maybe that is because of text messages and you don't see a face but your messages sounds a bit passive agressive, but independent from that I am happy to get a answer, so thanks. > It doesn't imply that the example code can or should be added to a > system configuration. I thought that meaned to be example code to extend such code, but I english is not my first language and I might read not everything extremely carefully. > Nobody: (gnu services base) defines udev-shepherd-service but does not > export it. It's not intended to be API, nor do I think it needs to > be. Yes and no, I reported 3 weeks ago: http://issues.guix.gnu.org/issue/43390 So if there would be a direct way to access the hwdb capability of udev service I would be happy to not use this hack, but for now I priotise something running over something done the right way, I am good at elisp but not so good with guile or with understanding the guix architecture, I try to get a laptop in a usable shape so that I can maybe start being more productive use the emacs module and well over time learn. I don't want to become a guix / scheme expert just to get my keyboard working on my laptop which is my second installation after my netbook on which I will not code much for guix. I am totally open to better solutions but if I have to write 10 messages in 3 weeks I take what I can get, to get the system working. > You might be able to use (@@ (gnu services base) > udev-shepherd-service), which forces the module to give up its > secrets. It's not good style, and it won't always work but often > does. I will test that and report back, thanks for the info. > Because it's naive. See <http://issues.guix.gnu.org/43498> and - > please! - beat me to a fix ;-) Maybe I will, just currently more into some elisp/emacs projects. Regards Stefan Huchler ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-10-04 15:00 ` Tobias Geerinckx-Rice 2020-10-04 20:06 ` Stefan Huchler @ 2020-10-04 20:25 ` Stefan Huchler 2020-10-04 20:55 ` Tobias Geerinckx-Rice 1 sibling, 1 reply; 10+ messages in thread From: Stefan Huchler @ 2020-10-04 20:25 UTC (permalink / raw) To: help-guix Tobias Geerinckx-Rice <me@tobias.gr> writes: > You might be able to use (@@ (gnu services base) > udev-shepherd-service), which forces the module to give up its > secrets. It's not good style, and it won't always work but often > does. A the double @ was a typo? tried it inside of (use-modules) with 1 or 2 @ the error I get is when I set it in the file: source expression failed to match any pattern ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-10-04 20:25 ` Stefan Huchler @ 2020-10-04 20:55 ` Tobias Geerinckx-Rice 0 siblings, 0 replies; 10+ messages in thread From: Tobias Geerinckx-Rice @ 2020-10-04 20:55 UTC (permalink / raw) To: Stefan Huchler; +Cc: help-guix [-- Attachment #1: Type: text/plain, Size: 1257 bytes --] Stefan, Stefan Huchler 写道: > A the double @ was a typo? No, it's a documented feature in the Guile manual: “You can also directly refer to bindings in a module by using the ‘@’ syntax. For example, instead of using the ‘use-modules’ statement from above and writing ‘unixy:pipe-open’ to refer to the ‘pipe-open’ from the ‘(ice-9 popen)’, you could also write ‘(@ (ice-9 popen) open-pipe)’. Thus an alternative to the complete ‘use-modules’ statement would be (define unixy:pipe-open (@ (ice-9 popen) open-pipe)) (define unixy:close-pipe (@ (ice-9 popen) close-pipe)) There is also ‘@@’, which can be used like ‘@’, but does not check whether the variable that is being accessed is actually exported. Thus, ‘@@’ can be thought of as the impolite version of ‘@’ and should only be used as a last resort or for debugging, for example. Note that just as with a ‘use-modules’ statement, any module that has not yet been loaded will be loaded when referenced by a ‘@’ or ‘@@’ form.” -- (guile)Using Guile Modules I think I'm done here though. Good luck, T G-R [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 247 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: define udev-service-type fails with "did you forget to import.." error 2020-09-29 14:12 ` Ludovic Courtès 2020-09-29 16:23 ` Stefan Huchler @ 2020-10-04 10:18 ` Stefan Huchler 1 sibling, 0 replies; 10+ messages in thread From: Stefan Huchler @ 2020-10-04 10:18 UTC (permalink / raw) To: help-guix Hello Ludo, did you see my answer? Ludovic Courtès <ludo@gnu.org> writes: > Hi, > > Stefan Huchler <stefan.huchler@mail.de> skribis: > >> I get following error: >> /etc/config.scm:128:0: error: udev-shepherd-service: unbound variable >> hint: Did you forget `(use-modules (gnu services base))'? > > Could you send /etc/config.scm so we can see the context? > > Thanks, > Ludo’. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2020-10-04 20:56 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-09-27 21:23 define udev-service-type fails with "did you forget to import.." error Stefan Huchler 2020-09-29 14:12 ` Ludovic Courtès 2020-09-29 16:23 ` Stefan Huchler 2020-10-04 10:29 ` Ricardo Wurmus 2020-10-04 14:18 ` Stefan Huchler 2020-10-04 15:00 ` Tobias Geerinckx-Rice 2020-10-04 20:06 ` Stefan Huchler 2020-10-04 20:25 ` Stefan Huchler 2020-10-04 20:55 ` Tobias Geerinckx-Rice 2020-10-04 10:18 ` Stefan Huchler
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).