IRC channel logs

2024-04-08.log

back to list of logs

<WyvernH>hello!
<WyvernH>i was wondering if anyone could help me with a weird error while invoking guix system init
<WyvernH>i'm running 'guix system init /mnt/etc/config.scm /mnt' from a livecd
<ryan77627>Does anyone have a good way of debugging services? I'm trying to write a service definition along the lines of guix home's "home-files-service-type" and whenver I try to reconfigure I get an unbound variable error, so I know the error is in my service definition somewhere, I just don't know where to begin looking. Usually (like if working on a package) I'd run guix build to get more verbose output
<db48x>does anyone know how Emacs gets its load-path set correctly?
<db48x>I installed the emacs and emacs-guix packages in my user profile, but emacs-guix isn’t available
<db48x>Emacs’s load-path has ~/.emacs.d/elpa/* in it, and /run/current-system/profile/share/emacs/site-lisp, but not ~/.guix-profile/share/emacs/site-lisp where the emacs-guix package put its files
<db48x>oh, I see!
<db48x>my updated profile has an etc/profile file that contains “export EMACSLOADPATH="${GUIX_PROFILE:-/gnu/store/i60v7gngji6qf5nhrd2l7hwiwpsi7z59-profile}/share/emacs/site-lisp${EMACSLOADPATH:+:}$EMACSLOADPATH"”
<blum>Is it possible to dual boot guix and windows?
<blum>In which case which bootloader? what to install first?
<db48x>blum: there aren’t really any bootloaders any more, aside from UEFI
<blum>db48x: hmm ok. what do i make of that? If I reserve a partition for installing guix, will i be good to go?
<bonz060>Hi. Guix. I can't do a "guix gc". I keep getting an error with statting: https://pastebin.com/QQeMNDh4. Anyone know how to work around this?
<bonz060>I'm using a guix system FWIW
<efraim>bonz060: looks like some filesystem corruption. try 'sudo guix gc --verify=repair,contents' first
<efraim>s/filesystem/guix store database/
<bonz060>efraim: Thanks. Let me give that a shot.
<futurile>Morning
<efraim>futurile: o/
<efraim>ugh this is going to be a pain to debug. python-tomli FTBFS on powerpc-linux on python-team, probably because of the toml parser
<efraim>might just put that on the TODO list for later
<adanska>i see that octave received an update to 9.1: reading the notes, it looks like the gui is now compatible with qt6. im a bit busy right now to try and sumbit a patch myself, but it might be a nice and easy patch for someone to do if they would like.
<bonz060>efraim: I'm still getting "guix gc: error: statting `/gnu/store/.links/0f99x44gw�04v3l6lykz332dv1pnjsgrvqrf7bi88i4vzk5r01hg': No such file or directory" after running "sudo guix gc --verify=repair,contents". Any ideas on how to proceed?
<efraim>`guix gc -C 1` maybe?
<bonz060>Let me try that.
<bonz060>Still getting the same thing.
<efraim>I'm not sure
<bonz060>:'(
<adanska>is it just me or is reconfiguring slower now? like hanging for a long time after the command is mostly finished
<thaenz>I have also noticed the slow start but I haven't used guix to know if it's out of the ordinary
<adanska>interesting. i reconfigure most days, and the commands are hanging a lot more.
<adanska>today that is
<adanska>i didnt use my laptop over the weekend
<adanska>so i think if there is a regression in happened from thursday till now
<efraim>looks like inxi uses perl-mozilla-ca transitively, so I can try to use that to test changes to it
<adanska> https://paste.debian.net/1313463/ running `sudo guix system reconfigure --debug=7 --fallback config.scm` shows it getting stuck on this.. its right after its built install-bootloader
<adanska>not sure what this means to be honest
<peanuts>"debian Pastezone" https://paste.debian.net/1313463
<adanska>is there a way i can actually see what its doing?
<adanska>actually, i dont think its doing much of anything. its not using any cpu
<gabber>hi! `guix shell linux-libre-documentation -- info linux` does not work ("info: No menu item 'linux' in node '(dir)Top'"). this is contrary to the indication in the package description ("This package provides the documentation for the kernel Linux-Libre, as an Info + manual. To consult it, run `info linux'.")
<gabber>am i missing something, doing that wrong or does the package need some fixing?
<efraim>try adding info also into the shell
<efraim>like needing to add man-db for the man pages to show up
<gabber>ah yes, thank you! `guix shell linux-libre-documentation info-reader -- info linux` works as expected
<adanska>efraim: this is a problem i actually ran into not too long ago. none of the section 2 or 3 man pages for linux syscalls or libc functions appear when using man. `man -k fork` for example comes up empty. adding man-db to my shell doesnt seem to help this either.
<adanska>would you know how to fix this?
<adanska>ive tried this will glibc and gcc-toolchain as a part of my shell too
<adanska>*with
<efraim>adanska: there's also a man-pages package which might have them
<adanska>efraim: that fixed it, thankyou! i feel like that should be documented somewhere. man pages for libc and system calls are taken for granted to just be avaliable on any other system. if they arent by default, it should be obvious how to get them.
<cdo256>Hi, I'm packaging a rust package which is trying to use pkg-config to get all of its dependencies. That's great except not all its dependencies are producing pkg-config outputs. Would people reccomend I try to: create a package config file, or disable pkg-config altogether?
<gabber>adanska, efraim: i'm up for creating a small section in the info manual on "getting help" (in the command line, with info-reader or man). would chapter "7 Development" be the right place for a small page on that topic or can you think of a better place?
<gabber>or maybe "14 Documentation" fits better?
<mgd>Hello. I am trying to get Guix SD working on a Thinkpad X220. The guix pull takes around 15-20mins to finish even after the first time. Is this normal or is my hardware to old to run this?
<gabber>mgd: what image did you install? if you use 1.4.0 this is somewhat expected on an older machine, since guix needs to pull thousands of commits.
<mgd>yes, it was 1.4.0
<civodul>mgd: unfortunately ‘guix pull’ is slow (takes ~5mn on my 8yo laptop, more if there are things to build)
<gabber>if you have guix running on another system you can create your own installer with the most recent checkout, shortening the time of your first pull. but going from 1.4.0 works too, it just takes some time (: have patience
<civodul>also, the very first ‘guix pull’ is expensive because it clones the repo
<mgd>ok, good to know. Also, I tried to follow the docs on this but is it possible to use startx with a .xinitrc? I'm trying to keep memory down and I'm only using EXWM
<gabber>mgd: it is certainly possible /somehow/ but most people (me included) opted for a desktop manager (mostly for sanity and usability's sake)
<mgd>I keep telling myself the same but it's been very useful to have access to the tty before logging in.
<gabber>you usually do have - if you press Ctrl-Alt-F1 to F7 (or so) you can switch to bare TTYs
<gabber>you can get back into your graphical session with F7
<mgd>Yes, but I often (at least when using Arch) need to make changes to the .xinitrc before logging in. Never the less, it's nice to have EXWM as an option on the installer
<gabber>i'd suggest you give the Guix Way™ a try and come back here if that doesn't suit you or you need any other pointers/help with some topic :)
<gabber>out of curiosity: what kind of changes do you (often) need to do to your .xinitrc before logging in?
<mgd>That's the plan :) I enjoy lisp so this felt like a great OS to play with. I have used Nix briefly but I don't fully get the model yet. I sometimes have to change keyboard settings through setxkbmap or disable/enable the trackpad with xinput
<mgd>also, I do some Java development with requires some options with EXWM
<gabber>huh, interesting (:
<gabber>so, let me inofficially welcome you to one of the most beautiful rabbit-holes i've happily spent the past couple of years in! enjoy!
<mgd>gabber many thanks
<gabber>but be aware, getting on the Guix train might leave you craving hardly for switching to Guix everywhere ;) my tolerance for non-guix systems has vanished almost completely
<mgd>I had the same problem when I started using Arch so looking forward to having that problem again :)
<civodul>:-)
<ekaitz>hi, how does Guix deal with XDG_DATA_HOME?
<ekaitz>i have a package that should write things there
<ekaitz>just writing my output to /share would work?
<cdo256>Is there a way to substitute* matching multiple lines?
<PotentialUser-2>Hello guix. I wonder how you manage your .emacs file with GUIX. For smaller config files you can generate them like in the guix home example for test.conf. But how would you do this for a 200 lines .emacs file
<PotentialUser-2> https://guix.gnu.org/manual/en/html_node/Declaring-the-Home-Environment.html
<peanuts>"Declaring the Home Environment (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Declaring-the-Home-Environment.html
<cdo256>PotentialUser-2: You can use `local-file` to access a file in the same directory as the script. So my home.scm lives in a directory with a bunch of config files to be placed in ~/.config on reconfigure.
<PotentialUser-2>cdo256: Can this be done by some git-checkout function instead? I saw this somewhere, but can not find it anymore?
<gabber>PotentialUser-2: you can manage your .emacs file through Guix but be careful: Emacs wants to alter your configuration (e.g. customize-face) - making that file read-only might lead to unwanted side-effects
<cdo256>PotentialUser-2: Not sure what doing it with a git-checkout function would involve exactly. Please could you elaborate.
<PotentialUser-2>gabber: Usually my emacs config is never touched from within emacs. I do not use the customize functions at all
<PotentialUser-2>cdo256: To put my ,emacs under version control and push / pull changes into a gitlab repository, so that guix home reconfigure always use the latest version on all my machines if called.
<cdo256>you should be able to do it with cron. Though personally I wouldn't as it'd mean if you pushed a broken change then it'd break on all of your machines.
<PotentialUser-2>cdo256: This risk is there, you are right. I have to think about it
<ekaitz>forget about my previous question: It just works^TM
<RavenJoad>Is there a tool to update all of kde-frameworks.scm at once? Or do I have to manually change each one?
<apteryx>anyone has working sound with the bsnes emulator?
<apteryx>I don't even after choosing the pulseaudio driver
<dariqq>rekado: sent the patch for the screenrecording issue as #70282. i also cc'ed you. I hope that worked out.
<peanuts>"[PATCH 0/2] Fix gnome-shell screenrecorder" https://issues.guix.gnu.org/70282
<apteryx>podiki: any idea how to get gnu/stubs-32.h on a 64 bit system?
<apteryx>from the glibc headers
<RavenJoa`>apteryx: Wouldn't you have to cross-build GCC for a 32-bit target to get those?
<gabber>apteryx: does 64 bit need a special header for that library? from my non-existing knowledge and super quick look this could just work™ when used on a different target (or be replaced with your own 7 lines of #defines)
<apteryx>RavenJoa`: I think so, but the official doc mentions it should be on a x86_64 machine
<apteryx>and "supporting 32-bit platforms is not a goal"
<apteryx> https://github.com/xyproto/zsnes
<podiki>apteryx: don't know. Build with explicit --system=i686-linux?
<apteryx>do you mean --target= ?
<peanuts>"GitHub - xyproto/zsnes: A maintained fork of ZSNES, a Super Nintendo emulator. The original project needs patches to build and is not maintained anymore: https://sourceforge.net/projects/zsnes/" https://github.com/xyproto/zsnes
<podiki>Try looking at the dxvk package, it forces a 32bit input
<podiki>(or maybe it is wine?)
<apteryx>I see wine-minimal which sets 'system'
<gibbs_phenomenon>Hey, I got a quick question. I  obtained raylib using the package manager. However, I also want to use an immediate-mode-gui library called raygui. Do I have to build from source?
<RavenJoad>Is there a tool to update all of kde-frameworks.scm at once? Or do I have to manually change each one?
<ieure>RavenJoad, What's the update? I usually lean on search and replace or an Emacs kmacro for applying an edit repeatedly.
<podiki>apteryx: ah, dxvk was removed. but did something similar http://git.savannah.gnu.org/cgit/guix.git/commit/?id=94b5db7bbc28195de29d71caf219330dc960dbad
<peanuts>"guix.git - GNU Guix and GNU Guix System" http://git.savannah.gnu.org/cgit/guix.git/commit/?id=94b5db7bbc28195de29d71caf219330dc960dbad
<podiki>set #:system in arguments explicitly, and then used as input in another package; if that is what you are looking to do?
<freakingpenguin>Has anyone used rust-cargo? I'm getting SSL errors in containers even with nss-certs. e.g. guix shell rust rust-cargo nss-certs -CN -- cargo search ox
<efraim>freakingpenguin: try rust:cargo instead of rust-cargo
<freakingpenguin>efraim: Thanks, no dice. Works fine outside the container.
<freakingpenguin>I can do non-cargo SSL stuff just fine, like cloning https repos.
<db48x>what ssl error?
<freakingpenguin> https://paste.debian.net/1313505/
<peanuts>"debian Pastezone" https://paste.debian.net/1313505
<db48x>yea, weird. nss-certs is in the container but /etc/ssl doesn’t exist
<freakingpenguin>Glad to see I'm breaking things in fun and creative ways :)
<RavenJoad>ieure: I want to test updating kdelibs4support from 5.114 to 5.115, and see if that fixes my Plasma build problems.
<RavenJoad>freakingpenguin: The reason /etc/ssl does not exist is because on Guix that file does not exist until a generation is activated. See (gnu build activation):247. It should be present in /run/current-system/profile/etc/ssl though.
<freakingpenguin>RavenJoad: I see what you mean. Although, In the container /run doesn't exist, just a partial /gnu/store. I think git only works because GIT_SSL_CAINFO is set to /gnu/store/...-profile/etc/ssl/...
<freakingpenguin>And cargo definitely won't use GIT_SSL_CAINFO
<freakingpenguin>I assume the native-search-paths part of the git package is what's adding that variable to the container when combined with nss-certs.
<RavenJoad>Oh, you're inside a "guix shell --container" environment? You may be able to get away with finding what you need in "$GUIX_ENVIRONMENT/...".
<freakingpenguin>RavenJoad: Thanks, if I run SSL_CERT_FILE=$GUIX_ENVIRONMENT/.../ca-certificates.crt cargo works.
<freakingpenguin>It's odd that only git can work in a container with nss-certs automatically and everything else requires finding the specific flavor of environment variable they use.
<RavenJoad>freakingpenguin: I think it is a compromise that was just made. It is easier to drop the nearly-universally-needed SSL packages in one spot and assume they live there, rather than setting a unique environment variable for every program under the sun.
<freakingpenguin>RavenJoad: I agree that environment variables aren't the way to go, but what about always linking the profile's ssl certs to /etc/ssl/certs?
<db48x>yea, why doesn’t that happen in a container?
<RavenJoad>Probably should be done, I agree.
<freakingpenguin>I see there's some timely #guix-devel discussion on nss-certs, I'll post there.
<RavenJoad>Linking nss-certs in a container is up there with not providing an easy way to get the lib output of gcc in terms of annoyance.
<RavenJoad>At least for me.
<podiki>for sure gcc:lib being hidden is a bug and we have a patch for it; i might just merge it if no one says otherwise in a week (i sent a simplified one to the bug number i can't remember off the top of my head... 6339...something)
<podiki>this too seems like for a container we should set /etc/ssl to GUIX_ENVIRONMENT/etc/ssl
<podiki>so if there isn't a bug report about it already, i would suggest it
<RavenJoad>podiki: Oh sweet! Thanks! I had to fight and tinker to get libstdc++ and libgcc_s into the right spots for some compiler work I did because gcc-toolchain does not expose those libraries.
<podiki>yes, it is an oversight/bug
<podiki>relevant thing is a one line fix: https://issues.guix.gnu.org/63393#12
<peanuts>"[PATCH 0/2] Fix libstdc++.so and gcc-toolchain" https://issues.guix.gnu.org/63393#12
<RavenJoad>Ok. I'm glad I am not crazy then. I found this back in January, but did not have time to fix it.
<podiki>there is a discussion on including nss-certs by default (on guix-devel)
<podiki>unfortunately the gcc:lib issue has lingered since first discussion last year spring
<db48x>guix shell -CN --expose=/etc/ssl works
<freakingpenguin>db48x: Interesting, when I use --expose I get some weirdness. ls finds it but cat and similar commands can't read it.
<freakingpenguin>it being ssl/certs/ca-certificates.crt
<freakingpenguin>podiki: Thanks for working on the gcc:lib fix! I ran into that a while ago.
<RavenJoad>freakingpenguin: I've seen that before. I think that happens because --expose=/etc/ssl exposes only the ssl directory as a file, not anything beneath it. It might need to be --expose=/etc/ssl/?
<freakingpenguin>RavenJoad: No luck, although exposing /etc/ssl/certs/ca-certificates.crt alone does work at least.
<db48x>oh, hrm
<db48x>it exposes the link, but the thing the link points to isn’t there?
<db48x>vTrus_Root_CA.pem -> /gnu/store/5y39gqnvlfrw9gxyxbqqkdr8cxgp1fa1-nss-certs-3.88.1/etc/ssl/certs/vTrus_Root_CA.pem
<db48x>/etc/ssl/certs/ca-certificates.crt -> /gnu/store/sfkwzz52yz0a5lra1qks4y5pxqwfdpq6-ca-certificate-bundle/etc/ssl/certs/ca-certificates.crt
<db48x>the vTrus link points to a package that exists in /gnu/store, but the ca-certificates.crt link does not
<freakingpenguin>In my case the ca-certificates.crt link does exist in /gnu/store. The file opens just find outside the container.
<freakingpenguin> https://paste.debian.net/1313516/
<peanuts>"debian Pastezone" https://paste.debian.net/1313516
<db48x>freakingpenguin: right, but inside the container /gnu/store is synthesized from just those packages installed in the container
<db48x>and look at the link; it’s not pointing to a package
<freakingpenguin>Oh I see what you mean, silly me
<db48x>it’s the output of a derivation defined in (guix profiles), as part of %default-profile-hooks
<freakingpenguin>Speaking of, one solution to the nss-certs problem could be setting SSL_CERT_DIR in (guix profiles) ca-certificate-bundle. That might be a bit too broad though.
<db48x>or to just not make it a container
<db48x>a guix system container might work better too, though I haven’t investigated, as it can have a whole OS rather than just a set of packages
<freakingpenguin>True, I think I found enough solutions to my specific problem. I wonder if that behavior would be better though as a default in the future.
<freakingpenguin>It makes Guix similar to Docker in providing easy containerized dev environments for things that aren't fully packaged with guix.
<db48x>yep
<fnat>How do I configure my Guix to connect to two WireGuard VPNs? If I use two 'wireguard-service-type' services, the former seems to hide the latter.
<freakingpenguin>fnat: I've not done this but I think you just put the extra peer in the `peers` field. That's a list.
<freakingpenguin>Instead of two wireguard-service-type, one wireguard-service-type with two peers.