IRC channel logs

2024-10-15.log

back to list of logs

<PuercoPop>I'm trying to use transforms to update the version for a rust package. Reading the manual it seems that options->transformation returns a function I can apply the pacakge to? However I am not sure how the format of the spec https://gist.github.com/PuercoPop/35ca1d75a293b5ac5d7b902e2a7c9242
<PuercoPop>hmm it seems I need to pass the package name in the version spec, ie. "rust-chrono=0.4.38"
<mange>Yep, that's it. Otherwise the transformation doesn't know which package to transform (because it transforms all the packages in the graph). From memory, the command line argument works the same way.
<Rutherther>sneek: later tell x8dcc, you should add ~/.guix-profile/share to XDG_DATA_DIRS in your shell profile file. That way fonts can be detected and also other things (launcher apps, icons, themes). You might have to run fc-cache manually first time/after adding fonts
<PuercoPop>For some reason it 'works' on the REPL but when pasing the result to cargo-inputs it seems I still get the old version of the file 🤔
<sneek>Will do.
<PuercoPop>Is it common to write tests for the serialization of configurations? I'm trying to write a home service to configure git. I use ~10 variables and they should mostly be straigh-forward mappings. Trying to find out an iterative approach to building the service
<civodul>Hello Guix!
<weary-traveler>civodul: hello!
<Lumie>Morning #guix
<krascovict>I am continuing to translate from English to Brazilian Portuguese
<krascovict>I managed to translate 100% of the documentation-cookbook to PTBR
<krascovict>I'm very excited
<civodul>krascovict: woow, congrats!
<krascovict>civodul, thanks bro
<krascovict>I'm going to sleep a little, later I'll continue translating more
<skrech>Is there possibility to pin version of a package? I installed a package that I modified in my git checkout of guix and want to stay with this version until my patch is eventually accepted?
<civodul>skrech: as long as you don’t ‘guix pull’, your ‘guix’ command sticks to the same package set
<civodul>so that’s what i would do
<civodul>(and also avoid installing with ./pre-inst-env guix …)
<kimjetwav>skrech: You can also just do the lazy thing I do and shadow the main package with your own in a channel or the like.
<Kabouik>Does that error when building cyrus-sasl with an extra compilation option (--enable-login, required for Exchange servers in nmail) say anything meaningful to anyone? https://0x0.st/X672.txt
<Kabouik>I had a package for cyrus-sasl with the same tarball/hash and this extra option on my private channel since years, and it was building fine, so I guess one of the deps for cyrus-sasl changed something but I don't know where to look.
<vhns>Does `guix lint -c cve´ only show results pertaining to packages in the current home and or system profile?
<efraim>vhns: without giving it a list of packages it'll check all the packages in Guix
<vhns>efraim: hmm, so I'd need to list all the packages in the current profile and pass them as parameters then, right?
<efraim>yes. I normally end up with a shell script to parse a profile and return a list of packages
<efraim>`guix package -p ~/.guix-home/profile -I | awk '{print $1 "@" $2}' | xargs -n1 ./pre-inst-env guix lint -c cve` is what I normally end up with for the profile from guix-home
<vhns>thanks
<vhns>I settled on `guix package -p /run/current-system/profile/ -I | cut -f 1,2 | guix lint -c cve´
<vhns>oh, sorry, just realized you do need the "@" to specify the version
<efraim>that's why I ended up with awk
<dariqq>has anyone else seen this error during shutdown: elogind: Error unmounting /run/user/1000 : Device or ressource busy. This seems to be a pam-automount created by greetd service
<f1refly>I'd like to inspect my installed fontawesome to find replacements for missing symbols in my waybar
<f1refly>what is the best tool for that on guix?
<dariqq>hmm i replaced the etc extension of greetd with the default file of greetd-pam-mount (which is very empty) and /run/user/1000 is till getting mounted but the errors are gone. Maybe a conflict with logind and the default greetd configuration?
<dariqq>also is there a better way to customize a service-type other than inheriting and mapping over its extensions replacing extensions with what I want?
<vhns>efraim: sorry for bashing over this so many times, but I asked a friend for help and we ended up with this: https://sqt.wtf/~vhns/share/guix_cve.sh I thought it was neat and might be helpful to others here
<efraim>vhns: looks nice. wait until you see guix refresh --list-transitive, to see all the packages which are in the graph of a package, to see if one of those has a vulnerability
<janneke>ACTION adds perl packages to support building the hurd's website (on guix)
<efraim>ACTION continues to poke commencement.scm to merge riscv64 from stage0 support
<vhns>efraim: I'm not sure I follow. You mean that by listing the packages within a profile with guix-package I'm exclusively looking at them and not the full dependency graph?
<efraim>vhns: yeah, it's just those specific packages
<vhns>so I could be missing dependencies in use in the selected profile?
<vhns>I see
<efraim>some of them are not directly used, but they're in the dependency graph of that package
<vhns>hmm
<PotentialUser-37>hello
<yash56>ERROR: failed to solve: process "/bin/sh -c /root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild --disable-chroot & GUIX_DAEMON_PID=$! && echo \"Guix daemon started with PID $GUIX_DAEMON_PID\" && for i in $(seq 1 30); do if [ -S /var/guix/daemon-socket/socket ]; then echo \"Guix daemon socket is
<yash56>ready\"; break; fi; echo \"Waiting for Guix daemon socket... ($i/30)\"; sleep 1; done && if [ ! -S /var/guix/daemon-socket/socket ]; then echo \"Guix daemon socket failed to appear\" >&2; exit 1; fi && guix pull && guix package -i nss-certs && guix gc && guix gc
<yash56>--optimize && [ -e /root/.guix-profile/etc/ssl/certs/ca-certificates.crt ] && [ \"$(cat /root/.config/guix/channels.scm | grep commit | cut -d\"'\" -f 2)\" = \"$(guix --version | head -n 1 | awk '{print $NF}')\" ] && kill $GUIX_DAEMON_PID && echo \"Guix daemon stopped\"" did not complete successfully: exit code: 1
<yash56>Reference
<yash56>Check build summary support
<yash56>Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c /root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild --disable-chroot & GUIX_DAEMON_PID=$! && echo \"Guix daemon started with PID $GUIX_DAEMON_PID\" && for i in $(seq 1 30); do if [ -S /var/guix/daemon-socket/socket ]; then
<yash56>echo \"Guix daemon socket is ready\"; break; fi; echo \"Waiting for Guix daemon socket... ($i/30)\"; sleep 1; done && if [ ! -S /var/guix/daemon-socket/socket ]; then echo \"Guix daemon socket failed to appear\" >&2; exit 1; fi && guix pull && guix package -i nss-certs &&
<yash56>anyone have idea why that happed when building multi archs images using GH actions in bookworm image
<Rutherther>yash56 please use paste site. Your messages got removed
<yash56> https://github.com/Bcoderx6/guix/actions/runs/11345085072/job/31551187835
<Rutherther>I suppose here is the error: builder for "/gnu/store/4xrbn6wh5m1rpj03zcxb224yzg7nf708-autoconf-2.69.tar.xz.drv' failed to produce output path "/gnu/store/n2d3rwbvrlag5c1spv1b73vvg9w2r8cw-autoconf-2.69.tar.xz'
<Rutherther>I would expect this to happen only if there is a problem with network connection or disk writes in cases of sources not creating an outpuy
<yash56>any idea to fix it
<Rutherther>So first I would suggest to rerun it, possibly also with no-substitutes if it cannot connect to substitutes
<yash56>sure i'll try
<ds-ac>Hi, I am trying to add more info manuals in my default home-profile without installing associated packages profile-wide. Any idea?
<ds-ac>I tried to alter INFOPATH, but `INFOPATH=$(guix build gcc-toolchain)/share/info info' does not list any manual (same with Emacs).
<lynn_sh>hello geeks. im adding someone to my channel to help out, but we are running into an issue with pulling. ice-9/boot-9.scm:1685:16: In procedure raise-exception:
<lynn_sh>#<unknown port>:7:1: unexpected end of input while searching for: ) the .guix-authorization file: https://git.transistor.house/lynn/artoria/src/branch/main/.guix-authorizations it seems correct to me?
<lynn_sh>nevermind i know why :)
<PuercoPop>Is there a reason to prefer gexps (~#) to regular quasi-quotation inside a package arguments?
<singpolyma>Makes you look cool
<civodul>PuercoPop: in addition to that, it lets you insert things via #$
<civodul>it’s also a matter of consistency
<civodul>see https://guix.gnu.org/en/blog/2021/the-big-change/
<krascovict>Hello everyone, continuing to translate GUIX to PTBR
<janneke>jpoiret, civodul: just pushed rough draft post on hurd progress, maybe you'd like to add something eg on the glibc update(s) and locale update woes?
<janneke>and WDYT?
<janneke>jpoiret: i think we said we'd wait with a post until we had 64bit support...but maybe better to do another post when we have that?
<z572>civodul: hi, can you see https://issues.guix.gnu.org/73006#4 ? now all cross-compilation image is failed.
<PuercoPop>civodul: Thanks, I'll read that. I have a vague understanding that gexps are about evaluating things 'at build time'/on the guix daemon.
<PuercoPop>A more concrete question, what would be the difference between using #~ and ` for the phases argument here in this package definition? I had been running a version that uses ` for the modify phases expression for some time. Are there edge-cases where ` does the wrong thing? maybe cross compilation? https://git.savannah.gnu.org/cgit/guix.git/commit/?id=aaa12db63270c487e3be1963b0fdfe93fdb2544d
<civodul>z572: sure, done!
<z572>thanks!
<civodul>PuercoPop: it’s still possible to use the “old style” with quasiquote ` etc.
<civodul>it’s just a bit less expressive
<Rutherther>can import from derivation be done in guix? In Nix, you can make a derivation, and evaluate its output into Nix code, like generating a file, and then loading it as string. I am having hard time imagining how to do this in guix. Maybe with the store monad directly?
<fnat>I've been using a lightweight 'startx-command-service-type'-based setup for a while. Adding 'set-xorg-configuration' to my config seems to bring in a lot of Gnome/GDM/... related stuff that I don't normally use. Is there a way to prevent that?
<z572>ACTION go to sleep
<civodul>Rutherther: Guix is even more flexible here, but what you describe (“dynamic dependencies”) is often undesirable from a UI and performance viewpoint
<PuercoPop>civodul: Ok, so its mostly a style issue. I'll try to keep it in mind in future patches
<Rutherther>civodul: I agree it is undesirable. I don't want to actually do it, I like to avoid it even in Nix. It's just that I have a hard time imagining how to do go about it in Guix. In Nix it is quite straigthforward and thus can be done mistakenly when one is not careful
<civodul>here you’d have to do it on purpose
<civodul>there’s no pretty declarative API to do it
<Rutherther>civodul: but if I found right resources based on dynamic dependencies, it looks like it is indeed just using the store monad directly, right? For example with package-derivation that uses it
<civodul>yes
<civodul>‘guix pull’ uses dynamic dependencies (the infamous “computing Guix derivation” thing)
<Rutherther>civodul: oh right, it's true I can see it getting substitutes twice
<civodul>getting substitutes twice? hmm!
<civodul>that may be another problem then :-)
<fnat>Ha, ok, I need to use the Xorg configuration as a value for 'startx-command-service-type', no need to use 'set-xorg-configuration' at all, apparently.
<fnat>Trying that now.
<fnat>Yay, it seems to work! '(service startx-command-service-type (xorg-configuration (extra-config %xorg-extra-config)))'.
<rynn>Anyone know offhand how I would update the UUID used by my swap partition without doing a full guix system reconfigure?
<rynn>Though I'm also moving home to a new directory so I should probably just do it anyway.
<gabber>rynn: i do no think that is possible
<iK0u>Hi everyone
<sneek>iK0u, you have 1 message!
<sneek>iK0u, civodul says: fixed two test failures; ‘tests/crate.scm’ remains, but requires a bit more expertise; any idea?
<Rutherther>rynn: why do you want to do that
<rynn>Rutherther: You mean why do I want to change the swap UUID?
<yash56>Rutherther its not working
<iK0u>I have been having a lot of trouble creating a live graphical iso with guix system image, has anyone managed to get this working? Any working examples?
<Rutherther>rynn: no, why you want to do it without reconfigure
<rynn>Just seems a bit overkill do a full reconfigure for a simple UUID update.
<iK0u>I have tried sddm, gdm, gnome and kde, nothing manages to get to the graphical login
<iK0u>and I am unable to even login on the tty to check what's going on
<iK0u>because it keeps refreshing the tty after I login
<Rutherther>iK0u: what happens in the tty?
<iK0u>I login, and then it seems to restart the tty and brings me back to the login screen
<iK0u>So I can never get past that
<iK0u>You know, what is weird is I tested the live iso in a virtual machine and it works, loads into the graphical environment, but not when I burn it on a CD
<iK0u>My guess is either the root filesystem isnt mounting properly or the graphical session is in some kind of loop, but maybe someone has a better idea
<iK0u>I also tried with nomodeset in grub, I tried several different laptops, tried various kernels, etc
<Rutherther>iK0u: and tty also works in virtual machine?
<iK0u>Rutherther: As the desktop environment loaded fine, I did not test that, but I will test that now
<iK0u>I am using a pretty normal config with desktop services and the services for the login manager and desktop environment, and using guix system image -t iso9660 to create it
<Rutherther>iK0u: can you send the config? Though I will probably not see anything
<iK0u>Rutherther: Here it is https://paste.debian.net/hidden/093d6723/
<iK0u>I also tried changing the bootloader and filesystem device to /dev/sr0 but, it does not seem to be the issue as it system image seems to ignore that and produced exact same hash and derivation for iso
<silicius_>huh, got permission denied on my mcron job, isn't it running as root by default?
<iK0u>Just imagine being able to put your regular desktop config and applications onto a live iso, it would be cool
<iK0u>And one of the advantages of GUIX - if it can work
<nckhexen>iK0u: I don't think guix system image cares about your bootloader, like it doesn't care about your 'ext4' root file system when you ask for an ISO one instead.
<silicius_>ah, local-file didn't preserve the executable permission
<iK0u>nckhexen: yeah that's what I thought and confirmed when I got the same derivation despite modifying it
<nckhexen>OK, I wasn't sure whether you understood why. Then all is as expected.
<silicius_>now I'm out of ideas on how to run a python file in a job without writing tons of wrapping code or packaging it...
<nckhexen>silicius_: #:recursive? #t
<iK0u>I tried to get this working about a year ago and gave up after trying various configurations and modifying desktop services and ttys and stuff
<iK0u>But it's one of the last things I am still relying on NixOS for - and I would really like to go full guix :P
<Rutherther>iK0u: looking into gnu/system/install.scm under guix I see one distinction that could be important. The installation operating system defines pseudo terminal file system and also shared-memory-file-system
<silicius_>nckhexen: thanks, it worked. Though the naming threw me off
<iK0u>Rutherther: I actually tried modifying the install.scm itself last year to add the correct services for a GUI desktop and still did not work, but as the install.scm seems more complicated to me there is more room that I could have made a mistake
<iK0u>Gave it a solid try though, tried to understand everything in it as well as removing unnecessary stuff
<nckhexen>Rutherther: Both of those are already in %base-file-systems. The installer restates them because it wants fewer.
<silicius_>Had to Had to do a guix shell shebang for my python script, because all other ways I could think of required me to write lots of code rivaling my system config
<iK0u>But considering that without using the install.scm and the regular guix system image command works when I boot the iso in a VM - i think there is some other issue here
<nckhexen>Logs would really be handy here.
<iK0u>I wanted to check the logs but I couldn't log into the tty properly so, I'm not sure how to get them
<Rutherther>silicius_: packaging python scripts is quite easy. See https://systemreboot.net/post/deploy-scripts-using-g-expressions#org3f832f8
<nckhexen>iK0u: So the issue isn't related to the desktop, right? Removing the gnome services still leaves you enable to log in at a VT?
<nckhexen>*unable, ironic.
<silicius_>Rutherther: I tried that approach, but then I found out I would have to also add search paths for all the transient python dependencies
<nckhexen>Oh, I missed the REMOVE, nvm.
<silicius_>when I added python-requests to the GUIX_PYTHONPATH, it complained about missing urllib3, so I added that, then it complained about missing something else...
<nckhexen>No, wait, you're adding gdm again.
<nckhexen>Am I missing the reason for that?
<iK0u>nckhexen: I am removing both gdm and sddm from desktop services because I was trying both and re adding them
<silicius_>I would rather have a manifest and a function that invokes a program under a profile from that manifest
<iK0u>nckhexen: I will have to make a fresh CD to test it without a login manager or desktop, I will do so, I may have tried this in the past but I will do it again since I forget
<iK0u>nckhexen: It would be later today before it will be tested as it takes awhile for my PC to build iso's
<podiki>iK0u: continuing here. i would just try a template config from the guix repo, like https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples desktop one
<nckhexen>iK0u: Is there a possibility of setting up enough networking to enable SSH? Alternatively, the bare-bones.scm gives an example of enabling a serial port, you might be able to log in on QEMU's serial console or at least see an error message (serial consoles aren't cleared).
<podiki>or to test, just run a vm with the system config to try it before burning and booting
<nckhexen>Sorry for the half-baked suggestions; not at a PC.
<nckhexen>podiki: It purportedly works in a VM.
<podiki>i see
<nckhexen>Yeah...
<podiki>could be a hardware thing then, e.g. if needs some nonfree
<iK0u>nckhxen: I have tested many configurations and they all seem to work in the VM
<iK0u>on the VM it works perfect - like how I would imagine
<podiki>anything from dmesg or system log? or did you not have tty (sorry coming in late)
<nckhexen>podiki: I guess 'linux' takes care of that but I'm no expert on the unfreedoms.
<nckhexen>But, er, good point (sorry if I missed this): are you testing the ISO on different hardware than the VM?
<podiki>well, and not to stray here, typically some firmware is needed if it is a graphical card issue
<nckhexen>If the ISO boots in QEMU hardware is the likely problem.
<podiki>you can try booting with nomodeset, that should get you basic video no matter what
<iK0u>I tried this as well
<nckhexen>They also mentioned trying that.
<iK0u>the nomodeset
<podiki>ah
<podiki>darn
<podiki>i'm out of tricks!
<iK0u>on 3-4 different laptops, which are all old
<Rutherther>silicius_: right, you could just build a profile with the packages and use that as pythonpath, if you don't want to iterate through the propagated dependencies nor use the python-build-system(with some phases removed)
<nckhexen>iK0u: but QEMU?
<nckhexen>The serial console trick would require that anyway.
<nckhexen>Unless you're really old school.
<iK0u>nckhexen: Do you mean the hardware options for QEMU? I have only tried the default
<nckhexen>I meant the same (=default) options you used when testing the same system configuration in a 'vm' instead of 'image'.
<nckhexen>Sounds like you have.
<nckhexen>So if the 'hardware' is identical, hard hmm.
<iK0u>nckhexen: Oh, yes, but I am using the image itself for the vm, not guix system vm, however that also works fine
<iK0u>nckhexen: I want to specify I am booting the actual iso for the VM
<iK0u>Like putting in the CDROM for the vm
<iK0u>nckhexen: there might be a misunderstanding, there is no identical hardware that I am testing
<nckhexen>Oh, that is not what I thought. When you say the 'VM' works, you mean that 'booting the ISO with QEMU"' *does* work? I thought you meant that 'guix system vm' worked but 'guix system image' didn't, even when virtualised.
<nckhexen>Yes.
<nckhexen>Misunderstanding detected.
<iK0u>nckhexen: I have never used serial console so, I am unsure but - if I were to enable the serial console as well as the regular graphical, would I be able to get the appropriate logs from the serial? without blocking the graphical startup?
<nckhexen>Another hacky idea because they are fun: repurpose the log-to-info service from gnu/system/install.scm to start not-info, e.g., a bash.
<nckhexen>I'd only recommend the serial console under QEMU, I didn't mean a physical one. But yes, it's a normal (ge)tty, it's won't block anything, it's just like any otter tty. It used to be the most common type of terminal, hence the 'V' in these newfangled 'VT's :-)
<iK0u>nckhexen: I kind of wanted try the serial but, unfortunately it seems none of these laptops have a serial port, my only device with a serial port requires microcode to boot without a kernel panic unfortunately
<Rutherther>is there an alternative to guix import crate that would work with rust stuff that is not on crates.io, but only on github?
<nckhexen>iK0u: Frustrated that I can't do it for you right now, but documentation-shepherd-service is a good template to write your own run-bash-on-tty12 service.
<nckhexen>I think that's the best way forward if there's really no way to log into these machines.
<iK0u>nckhexen: I'm going to take note of that but, what might be easier for me to test first would be to fully install guix with the regular libre kernel to eliminate any possible hardware issues, as I use GUIX on a different machine from these devices
<iK0u>I mean I will install it on one of these devices to make sure they fully work with it
<nckhexen>👍
<nckhexen>Not debugging what doesn't strictly need to be debugged at all is a good first rule of debugging.
<wickedshimmy>anybody have any pointers for trying to debug/resolve a segfault in guix commands? on a foreign distro but no LD_LIBRARY_PATH shenanigans (that I can see), but whatever changed seems to be affecting many previous generations (at different points?), so I've not been able to successfully roll-back or use an old binary to pull to update to anything new :(
<silicius_>is it blender or telegram?
<silicius_>there were some problems recently
<wickedshimmy>it's the guix commands themselves
<Rutherther>wickedshimmy: can you show output of ldd on guix and guile?
<wickedshimmy> http://paste.debian.net/1332395/
<wickedshimmy>Rutherther: sorry, that's for guile (which does not segfault)
<wickedshimmy>`guix repl` also launches okay, then faults on `,use (guix)`
<wickedshimmy>getting to the bottom of what the actual guix lib being called is
<Rutherther>wickedshimmy: okay, then it's not what I had in mind initially, but unfortunately I don't have anything else in mind:(
<wickedshimmy>this one's the guile being called by guix: http://paste.debian.net/1332398/
<Rutherther>and does that segfault when you call it yourself?
<wickedshimmy>it does not
<wickedshimmy>this is the result of `,use (guix)` from that latter guile (called as `guix repl`): http://paste.debian.net/1332400/
<iK0u>Rutherther: You asked if the tty works in the vm, I was able to test it just now and yes it works fine there.
<Rutherther>iK0u: uh. Interesting. Then I don't really see other way to debug than that nckhexen suggested with bash tty
<iK0u>Rutherther: If the login manager is continuously trying to start or something, wouldn't it be able to keep "pulling" me out of that tty anyways? Not sure if I'm using the correct terms but I've had things happen like this in the past when login managers fail to start
<Rutherther>iK0u: there would be no login manager
<iK0u>Oh this is where I am testing the tty on it's own with a barebones install iso, I am going to test that as well
<iK0u>I mean, an iso that is not an install iso*
<Rutherther>iK0u: normally a tty runs login program, but what nckhexen suggested is to run bash
<iK0u>Rutherther: Yeah, I will be testing that as well, but first I can test system image on a non-graphical config to see if the tty works there
<krascovict>40% translated from English to pt-BRin GUIX-PACKAGES
<krascovict>It's hard work, but it's worth it
<jonsger>:)
<gabber>since my newest home reconfiguration i get LC_CTYPE warnings. did anything change on the Guix side recently?
<nckhexen>gabber: Maybe. There was a core-updates merge and hence glibc update 'lately' (month or two ago?). Mixing old and new glibcs in different profiles (e.g., system and package) can cause locale weirdness.
<nckhexen>Even if that's not news to you, you *might* have a forgotten outdated package or profile?
<nckhexen>You don't even need to be mixing profiles, just old & new packages, if you're unlucky.