Tor Service
Hello Guix! I added Tor Service with Default Configuration to my system config. I also added the user to Tor group. When I configured my browser to use localhost's tor port as proxy, I got error "proxy is refusing connection". When I check tor service with "herd status" as root, tor wasn't running. When I did "herd start tor", I am getting error "service tor failed to start". I have been asked to provide output of "dmesg", which I have attached with this email. NOTE TO CHRIS: I have started this new thread for clarity. :) Thank you! Regards, RG. dmesg_log Description: Binary data
Re: Input Attach Service
> Our inputattach says… > > --wacom -wacom Wacom W8001 > > …so I guess it was just renamed since that wiki article was > written. > > Then I'm all out of ideas, sorry. > That's okay. Let us see if others or maintainer of "inputattach-service-type" has any ideas. :) Regards, RG.
About conflicting entries in a profile
Hi! I've been using Guix on top of Debian for more than 2 years and I saw something that spurred a doubt about how Guix manages conflicts. So the other day I got the following output from ``guix package -u`` after a ``guix pull``: $ guix package --dry-run -u python-jsonschema The following package would be upgraded: python-jsonschema2.6.0 -> 3.0.1 /gnu/store/va4hgdfx8zbqzyah7vgqkm25g60p8lf3-python-jsonschema-3.0.1 guix package: error: profile contains conflicting entries for python-attrs guix package: error: first entry: python-attrs@18.2.0 /gnu/store/awb7awycpf1crpd1kllvk6qzchd4g7lw-python-attrs-18.2.0 guix package: error:... propagated from python-jsonschema@3.0.1 guix package: error: second entry: python-attrs@18.2.0 /gnu/store/s77kxps7sybxxdny68xkbcp51ffmiwfl-python-attrs-18.2.0 guix package: error:... propagated from python-automat@0.6.0 guix package: error:... propagated from python-twisted@17.5.0 guix package: error:... propagated from python-txtorcon@19.0.0 guix package: error:... propagated from magic-wormhole@0.11.2 hint: Try upgrading both `python-jsonschema' and `magic-wormhole', or remove one of them from the profile. I understand the error message, and upgrading both packages fixed the issue indeed. What I don't get is *why* having two different versions of ``python-attrs`` in the profile is considered an error. My understanding was that two different packages in the profile should be able to depend on different versions of the same library without problems, since they are referred by its absolute path in the store so they don't conflict. I understand that I may not directly ``guix install`` two versions of the same package (because the may e.g. put the same entry under ``$GUIX_PROFILE/bin``), but in my case ``python-attrs`` is just a dependency package which doesn't show up in ``guix package -I``. Can anybody shed some light on the issue? Thanks! PS: Yes, I started to write about this in the IRC channel but I pasted too many command output lines and got banned. Oops! -- Ivan Vilata i Balaguer -- https://elvil.net/
Re: Guix cookbook (was: guile scheme tutorial)
Pierre Neidhardt writes: > I agree with all your points! > > Regarding the bootstrapping process: we could already split the > packaging tutorial into 2 "recipes": > - A guile primer > - The actual packaging tutorial > > Of course we would interlink them. > > Once done, we should not forget to update the blog post to let the > readers know to refer to the corresponding cookbook instead. Sounds good. I’d like to keep the cookbook chapters rather short and focused, so splitting things up into independent chapters is fine. > Out of curiosity, can you remember which part of the tutorial is out of > date? I cannot think of anything. I think it was a misunderstanding: http://bayfront.guix.info:/2019-05-08.log#042356 The tutorial says: Follow the instruction from the "Contributing" chapter in the manual to set up the repository environment. I think they did not follow those instructions. Sorry for the false alarm! -- Ricardo
Re: good overview presentation?
Thanks Chris, A couple of follow-ups: On 5/9/19 12:39 PM, Christopher Baines wrote: 1: http://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/talks There's also two talks [2] which I've given in the past on Guix, they're a few years old, but I think most of the material is still correct. Silly me, but how does one view these things? The ones labeled with .pdf extensions come across as ascii files, that can't be read as pdf, and others look like they have to be assembled. These are pretty good, and helpful - but they do raise a key question: 2: https://www.cbaines.net/projects/guix/ The FOSDEM 2018 one is shorter, and higher level [3]. 3: https://www.cbaines.net/projects/guix/fosdem-2018/presentation/#/ The Freenode live! 2017 one is longer and more technical [4]. 4: https://www.cbaines.net/projects/guix/freenode-live-2017/presentation/#/ From the slides, it looks like GUIX keeps track of dependencies, but there's no discussion about how dependencies are identified, included in the package definitions, or resolved at install time. Details (or pointer) please! Thanks Again, Miles -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows why. ... unknown
Re: question re. packaging, build, init and shepherd
Ok... a few follow-on questions (in-line): On 5/9/19 1:03 PM, Christopher Baines wrote: Miles Fidelman writes: The GUIX documentation is great when it comes to installing GUIX, and then installing packaged software. It's not so clear on how do install software that isn't in the package repository - whether by creating a package, or via the classic ./configure;make;make install, or if there are tools that can bring classically installed software under package management (e.g., the Debian alien tool). I can't really think of a situation where creating a package would be a bad approach, and the manual does describe this. There's also the packaging tutorial blog post [1] 1: https://www.gnu.org/software/guix/blog/2018/a-packaging-tutorial-for-guix/ I think there could indeed be a lack of guidance about where do perhaps deviate from the instructions or common steps for installing software. Taking the shepherd as an example, the INSTALL file distributed with the source contains the common: './configure && make && make install' Ok.. see that. So it basically does what one would do manually, following the instructions in the configure & make files. With a Guix System, that would probably work, at least initially. But you'd be missing out on some of the advantages Guix packages offer, and would possibly run in to problems with garbage collection. As Guix doesn't really have binary packages like Debian, there isn't really the possibility of a Alien like tool. The dependencies between the "binary" package forms are very strict, using exact store paths, which would make generating a package to slot in to a system difficult. And then there's the question of init systems: Until systemd came along, ./configure;make;make install generally just works - leaving init files in the right places, starting up daemons, etc. Which leads to the question of, if I want to install something complicated in GUIX - say the Sympa list manager (to pick a non-random example), which comes with standard sysvinit scripts - can I just ./configure;make;make install? Does Shepherd do the right thing with sysvinit scripts? Can I invoke them through Shepherd (e.g, after a config change)? Can I still edit & invoke the init scripts in the classic ways (vi, /etc/init.d/ restart). The configuration of the shepherd is normally entirely managed through your Guix operating-system definition. The configuration is generated in te store, and shepherd looks at that. This is important as it allows you to boot in to previous generations of your system, which is useful for recovering the system if things go wrong. So, whereas I think things like systemd are aware of sysvinit scripts in the usual place, the shepherd is completely unaware. So... that kind of leaves out automatically setting up servers. I mean, most server software still comes with init files, maybe with systemd or other init files, but generally make install sets things up so that servers start & run. So how does GUIX support this? And, for that matter, how does GUIX handle any kind of post-install configuration? E.g., the kind of things that debconf might be used for. Thanks, Miles Fidelman -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows why. ... unknown
Re: collect2: fatal error: cannot find 'ld'
Ludovic Courtès writes: > Hello! > > Ricardo Wurmus skribis: > >> Ludovic Courtès writes: >> >>> Ricardo Wurmus skribis: >>> I still think that we should hide the plain gcc packages on the command line. >>> >>> Agreed. >> >> Is this the right way to hide the package (see patch)? I searched for >> GCC on the command line with “guix package --search=gcc” and the results >> did not include the plain gcc packages. > > It still includes the ‘gcc-toolchain’ packages, right? Yes. > Go for it! Done! -- Ricardo
Re: Input Attach Service
Raghav, Raghav Gururajan wrote: I tried it. But didn't work. Now the error output line during boot " inputattach: invalid type "--w8001"". Our inputattach says… --wacom -wacomWacom W8001 …so I guess it was just renamed since that wiki article was written. Then I'm all out of ideas, sorry. Kind regards, T G-R signature.asc Description: PGP signature
Re: question re. packaging, build, init and shepherd
Miles Fidelman writes: > The GUIX documentation is great when it comes to installing GUIX, and > then installing packaged software. > > It's not so clear on how do install software that isn't in the package > repository - whether by creating a package, or via the classic > ./configure;make;make install, or if there are tools that can bring > classically installed software under package management (e.g., the > Debian alien tool). I can't really think of a situation where creating a package would be a bad approach, and the manual does describe this. There's also the packaging tutorial blog post [1] 1: https://www.gnu.org/software/guix/blog/2018/a-packaging-tutorial-for-guix/ I think there could indeed be a lack of guidance about where do perhaps deviate from the instructions or common steps for installing software. Taking the shepherd as an example, the INSTALL file distributed with the source contains the common: './configure && make && make install' With a Guix System, that would probably work, at least initially. But you'd be missing out on some of the advantages Guix packages offer, and would possibly run in to problems with garbage collection. As Guix doesn't really have binary packages like Debian, there isn't really the possibility of a Alien like tool. The dependencies between the "binary" package forms are very strict, using exact store paths, which would make generating a package to slot in to a system difficult. > And then there's the question of init systems: Until systemd came > along, ./configure;make;make install generally just works - leaving > init files in the right places, starting up daemons, etc. > > Which leads to the question of, if I want to install something > complicated in GUIX - say the Sympa list manager (to pick a non-random > example), which comes with standard sysvinit scripts - can I just > ./configure;make;make install? Does Shepherd do the right thing with > sysvinit scripts? Can I invoke them through Shepherd (e.g, after a > config change)? Can I still edit & invoke the init scripts in the > classic ways (vi, /etc/init.d/ restart). The configuration of the shepherd is normally entirely managed through your Guix operating-system definition. The configuration is generated in te store, and shepherd looks at that. This is important as it allows you to boot in to previous generations of your system, which is useful for recovering the system if things go wrong. So, whereas I think things like systemd are aware of sysvinit scripts in the usual place, the shepherd is completely unaware. signature.asc Description: PGP signature
Re: good overview presentation?
Miles Fidelman writes: > Hi Folks, > > Is there a good, current, overview presentation on all things GUIX? > The whole who, what, where, when, why, how, how much, and who cares > overview that one might give at USENIX, describing a new distro. > > I've been doing a lot of googling, and not finding anything remotely > current. Lots of stuff on detailed aspects, some videos (but no > slides) from FOSDEM 2019 - but nothing that gives the big picture, the > overall architecture, the build process, and so forth. > > It seems like the release of v1.0.0 merits a serious > intro/overview/tutorial for those of us who might be interested in > exploring/adopting GUIX. > > If there's such a beast floating around, could someone point me at it > (and maybe add a prominent link at > https://www.gnu.org/software/guix/). > > If not... a polite suggestion to the team: Nobody else can put > something together, it's all too new, and you're the only folks who > have the big picture. Please share! Hi Miles, There are some talks described here [1]. Guix has only been around as a project for the last ~7 years, so recency shouldn't be too much of an issue, especially if you're interested in a more general overview. 1: http://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/talks There's also two talks [2] which I've given in the past on Guix, they're a few years old, but I think most of the material is still correct. 2: https://www.cbaines.net/projects/guix/ The FOSDEM 2018 one is shorter, and higher level [3]. 3: https://www.cbaines.net/projects/guix/fosdem-2018/presentation/#/ The Freenode live! 2017 one is longer and more technical [4]. 4: https://www.cbaines.net/projects/guix/freenode-live-2017/presentation/#/ Chris signature.asc Description: PGP signature
question re. packaging, build, init and shepherd
The GUIX documentation is great when it comes to installing GUIX, and then installing packaged software. It's not so clear on how do install software that isn't in the package repository - whether by creating a package, or via the classic ./configure;make;make install, or if there are tools that can bring classically installed software under package management (e.g., the Debian alien tool). And then there's the question of init systems: Until systemd came along, ./configure;make;make install generally just works - leaving init files in the right places, starting up daemons, etc. Which leads to the question of, if I want to install something complicated in GUIX - say the Sympa list manager (to pick a non-random example), which comes with standard sysvinit scripts - can I just ./configure;make;make install? Does Shepherd do the right thing with sysvinit scripts? Can I invoke them through Shepherd (e.g, after a config change)? Can I still edit & invoke the init scripts in the classic ways (vi, /etc/init.d/ restart). --- I'm sure I'm not the only one looking at GUIX as an alternative to the various distributions that have gone down the systemd rathole - particularly those of us who run Linux in production server environments that have been heavily customized over the years. GUIX seems to be reaching a maturity level where it can be considered for production use - but there's an awful paucity of information that might let us evaluate it. Miles Fidelman -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows why. ... unknown
good overview presentation?
Hi Folks, Is there a good, current, overview presentation on all things GUIX? The whole who, what, where, when, why, how, how much, and who cares overview that one might give at USENIX, describing a new distro. I've been doing a lot of googling, and not finding anything remotely current. Lots of stuff on detailed aspects, some videos (but no slides) from FOSDEM 2019 - but nothing that gives the big picture, the overall architecture, the build process, and so forth. It seems like the release of v1.0.0 merits a serious intro/overview/tutorial for those of us who might be interested in exploring/adopting GUIX. If there's such a beast floating around, could someone point me at it (and maybe add a prominent link at https://www.gnu.org/software/guix/). If not... a polite suggestion to the team: Nobody else can put something together, it's all too new, and you're the only folks who have the big picture. Please share! Miles Fidelman -- In theory, there is no difference between theory and practice. In practice, there is. Yogi Berra Theory is when you know everything but nothing works. Practice is when everything works but no one knows why. In our lab, theory and practice are combined: nothing works and no one knows why. ... unknown
Re: "System Package" vs "System Service"
> The Linux kernel logs information in a ring buffer as it runs. That log > can be viewed by invoking the "dmesg" tool. The tool is available in > the "util-linux" package. > > The same messages will eventually be logged to syslog, and on Guix > System I think the default place they are stored is /var/log/messages. > The ring buffer contains only the most recent messages. Chris, please find the dmesg output attached with this email. dmesg_log Description: Binary data
Fingerprint Service
Hello Guix! Based on this (https://www.gnu.org/software/guix/manual/en/html_node/Miscellaneous-Services.html#Miscellaneous-Services (https://www.gnu.org/software/guix/manual/en/html_node/Miscellaneous-Services.html#Miscellaneous-Services)), I have included "fprintd-service-type" (with default config, that is, values left blank) to my system services in the system config. The "guix system reconfigure" went without any errors. But it appears the service is not actually added to the system. When I checked "herd status" as root, the fprintd service was not running. Also, when I did "herd start fprintd", I am getting "service not found". That means the service itself is not available in the system right? Weird!? My device is RYF-Certified TET-X200T (https://tehnoetic.com/tet-x200t (https://tehnoetic.com/tet-x200t)). Thank you! Regards, RG.
Re: Input Attach Service
> > > > > This is probably just a typo in your e-mail, but the service is > > name inputattach-service-type (no third hyphen). > > > > Yes, it was a typo. :) > > > > > I don't own an X200T, and I don't know which guide your following, > > but a random search led me here[0]. They use ‘--w8001’ while our > > service defaults to ‘--wacom’. > > > > Does passing ‘(type "w8001")’ to inputattach-configuration change > > a thing? > > > > Ah, Thanks! I will try this and get back to you. > I tried it. But didn't work. Now the error output line during boot " inputattach: invalid type "--w8001"".
Re: Search for package output
Hi, mikadoZero writes: > `guix package -s cargo` > This does not return rust even though cargo is an output of rust. The > manual says it looks at name, synopsis, or description. So this is not > a surprise. > > Is there a way to search for programs that are an output of a package? > > I looked at "4.2 Invoking ‘guix package’" in the manual but it is not > covered there. I opened a bug report here for the issue in which a package's outputs are not included in the search results: https://bugs.gnu.org/35588 And we've fixed it in commit 387e6b9e340ce4b401f220f72881415623a466f7. Thank you for reporting the issue, mikadoZero! -- Chris signature.asc Description: PGP signature
Re: Wrong type argument in position 1 (expecting struct): #
On 5/9/19 2:55 PM, zna...@disroot.org wrote: > Hello! I try to reconfigure system with Gnome, sddm and wayland. > I also use sddm-configuration to define use wayland for greeter, but get the > error for my misconfiguration: > > # cat config.scm > ... > (services (cons* > ;(service xfce-desktop-service-type) > (service gnome-desktop-service-type) > (service dhcp-client-service-type) > (service sddm-service > (sddm-configuration > (display-server "wayland"))) > ... > ) > > # guix system reconfigure config.scm > Backtrace: > 14 (primitive-load "/root/.config/guix/current/bin/guix") > In guix/ui.scm: > 1734:12 13 (run-guix-command _ . _) > In ice-9/boot-9.scm: > 829:9 12 (catch _ _ # …) > 829:9 11 (catch _ _ # …) > In guix/scripts/system.scm: > 1301:8 10 (_) > In guix/status.scm: > 768:4 9 (call-with-status-report _ _) > In guix/scripts/system.scm: > 1159:4 8 (process-action _ _ _) > In guix/store.scm: > 623:10 7 (call-with-store _) > 1794:24 6 (run-with-store _ _ #:guile-for-build _ #:system _ # _) > In guix/scripts/system.scm: > 1175:13 5 (_ _) > 882:18 4 (perform-action reconfigure #< kerne…> …) > In gnu/system.scm: > 851:19 3 (operating-system-derivation _) > In gnu/services.scm: > 743:6 2 (instantiate-missing-services _) > In guix/combinators.scm: > 45:26 1 (fold2 # …) > In gnu/services.scm: > 733:11 0 (adjust-service-list _ (#< type: # …) …) > > gnu/services.scm:733:11: In procedure adjust-service-list: > In procedure struct_vtable: Wrong type argument in position 1 (expecting > struct): # > Please, let me know how to understand such errors. Here, I saw the same > structure > https://www.gnu.org/software/guix/manual/en/guix.html#index-sddm_002dservice (sddm-service ...) returns a service instance so you don't need to wrap it in (service ...). I think the key point to notice is it's `sddm-service` and not `sddm-service-type` - service types go in `(service ...)` as the second parameter but `service-*` functions replace the `(service ...)` call entirely. I'm not sure if there's more information you can get from the backtrace, but where it says: position 1 (expecting struct): # it's saying it wanted a struct but got `sddm-service` which is a `procedure` (function). And the last line of the trace has: 733:11 0 (adjust-service-list _ (#< type: # …) …) -- all the things make me think that it's probably looking for a struct of type . If you change it from `(service sddm-service)` to `(sddm-service (sddm-configuration))` it should work (although you might want to specify some values in sdm-configuration.
Re: Input Attach Service
> > This is probably just a typo in your e-mail, but the service is > name inputattach-service-type (no third hyphen). > Yes, it was a typo. :) > > I don't own an X200T, and I don't know which guide your following, > but a random search led me here[0]. They use ‘--w8001’ while our > service defaults to ‘--wacom’. > > Does passing ‘(type "w8001")’ to inputattach-configuration change > a thing? > Ah, Thanks! I will try this and get back to you. Regards, RG.
Re: "System Package" vs "System Service"
"Raghav Gururajan" writes: >> I'm sorry to hear that Tor is giving you such trouble. Maybe there is >> some helpful information in one of the files in /var/log? Perhaps dmesg >> has some useful output? > > I will check the log and get back to you. > How do I use dmesg? Should I install any package and use any specific command? The Linux kernel logs information in a ring buffer as it runs. That log can be viewed by invoking the "dmesg" tool. The tool is available in the "util-linux" package. The same messages will eventually be logged to syslog, and on Guix System I think the default place they are stored is /var/log/messages. The ring buffer contains only the most recent messages. -- Chris signature.asc Description: PGP signature