IRC channel logs

2026-05-24.log

back to list of logs

<PotentialUser-53>Good time of day! I am wondering if someone could help me with something. I have installed guix for the first time on my home server today, and I'm trying to mount a directory. I have made the corresponding change to `config.scm` and am trying to apply it with `guix system reconfigure /et/config.scm`, but I am getting repeated "SWH vault: requested
<PotentialUser-53>bundle cooking, waiting for completion..." messages for about an hour now. Am I missing a step somewhere? Thanks in advance.
<ieure>PotentialUser-53, Did you change anything else?
<PotentialUser-53>I did not
<ieure>PotentialUser-53, Did you `guix pull' in between reconfigures?
<PotentialUser-53>I tried, but got a 504 back
<ieure>PotentialUser-53, The message is saying.... The command you issued needs to build something that isn't already on your machine, so it has to download the source code for that. But the source location didn't work, so it fell back to the Software Heritage Archive (SWH). But SWH is in the middle of the process of preparing that source tarball.
<ieure>PotentialUser-53, So there are a number of puzzling things about this: SWH shouldn't be taking so long to do this, but also, you shouldn't need to compile anything in the first place.
<PotentialUser-53>That was my understanding as well, but the only thing I added is: `(file-system (mount-point "/storage") (device "/dev/storage/volume01") (type "ext4"))`
<PotentialUser-53>I have confirmed this works via a manual `mount` command
<ieure>Yes.
<PotentialUser-53>I have ^C'd and tried running the command again, noticed it also outputs "SWH: found revision 230aa373f315f247852ee07dff34146e9b480aec with directory at 'https://archive.softwareheritage.org/api/1/directory/15b3ea27d68711b283d20a82cfb1942159632a53/'", if relevant
<ieure>PotentialUser-53, Can you put the log of your reconfigure in a pastebin service, and paste the URL to it in the channel? https://paste.debian.net is one.
<PotentialUser-53> https://paste.debian.net/hidden/68bc5a56 is there any cli flag I can use for more verbose reporting?
<ieure>PotentialUser-53, No. Log is not very helpful, unfortunately. I suggest you run `guix pull', as suggested, then try the reconfigure again.
<ieure>PotentialUser-53, This will take a while.
<PotentialUser-53>guix pull fails with a gateway timeout; is there an alternative url I could use?
<ieure>PotentialUser-53, What URL is it pulling from?
<ieure>It could be either savannah.gnu.org or git.guix.gnu.org
<ieure>Guix 1.4.0 used Savannah, 1.5.0+ uses git.guix.gnu.org.
<ieure>(which points to Codeberg)
<PotentialUser-53>Ah, this time it went through, looks like it might have been a transient error
<PotentialUser-53>It was the latter
<ieure>PotentialUser-53, Okay, that's what it should be.
<PotentialUser-53>Thanks for your help, I will try another reconfigure after the pull
<ieure>No problem, that ought to work.
<PotentialUser-53>ieure, after `guix pull`, the reconfigure was successful and the mount point got set up correctly. Thanks again for the help, have a great day!
<waffles2>oh joy. so remember i ordered that t580? i found a 256gb ssd in my drawer
<waffles2>also a 512gb ssd but thats for desktop
<apteryx>is it just me, or 'herd restart NetworkManager' does not work?
<apteryx>it stays stuck in a 'starting' state
<apteryx>ah, it eventually started, it just took an unexpectedly long time
<apteryx>switchy: are you able to forward dns to a certain dns resolver for a particular (sub)domain with networkmanager?
<apteryx>I tried, and I'm a bit confused at the moment on how it can work
<apteryx>switchy: think I found the trick: dns=dnsmasq in network-manager-configuration
<ajarara>csantosb: for libcbor, cmocka as input instead of native input kept cross compilation working. Moving it to native inputs causes: `Could NOT find CMocka` for all targets.
<Guest10>Can you use a local git repository in the origin field of a package?
<efraim>is there an automatic way to get a service to restart when switching system generations? (reconfiguring, rolling-back)
<trev>efraim: there is a note in the Info pages that reconfigure doesn't restart already running services
<efraim>trev: thanks
<trev>would be nice if they did that though
<yelninei>ACTION rebuilds the world again
<trev>adanska: thanks for following up on that zsh PR!
<trev>hehe yelninei
<yelninei>trev: It is at least 5h of tests for python, python-minimal, libtool and 2 cmakes with one core
<adanska>trev, no problem!
<adanska>im keen to see it merged
<stephen0>trev: are you actually using a risc-v with guix?
<trev>stephen0: no, what? did i say that? must've been joking
<stephen0>Yeah, but the context made it unclear if it was a joke. I was hoping anyway.
<trev>stephen0: i wish tbh
<trev>the world govts will probably shutdown open hardware by then and i'll have to get it on the blackmarket
<apteryx>is doing 'guix system roll-back' repeatedly always rolling *back*?
<test202020>some body using guix shell with emacs sly?
<Rutherther>apteryx: it should always switch one generation back, yeah
<apteryx>weird; I couldn't fix my nginx config just by 'guix system roll-back && herd restart nginx' repeatedly
<apteryx>though it was just broken in the last 2 'guix deploy'
<apteryx>I had to revert and run 'guix deploy' anew
<bjc>did a python update go in recently?
<bjc>hurd seems to be having some new issues with the tests
<apteryx>also 'herd reload nginx' would not switch the configuration file, so I'm not sure what's the point :-) (you need 'herd restart nginx' when changing the conf file)
<apteryx>maybe useful for certbot/reloading when certs change
<Rutherther>apteryx: hmm, yeah, the thing is the config is in the /gnu/store and until you restart, you are using the old config. Restart switches the start command with the new config
<yelninei>bjc: https://codeberg.org/guix/guix/pulls/8793, default got updated to 3.12 which is missing the recent test skips from 3.11
<bjc>oof
<bjc>thanks
<yelninei>i am currently rebuilding both 32bit and 64bit manifests with that but some tests run for an eternity with 1 core
<rogerfarrell>Dumb question: Is there a Guix command for checking things like installed kernel version?
<stephen0>uname -a shows the current kernel, but that's not guix specific
<identity>test202020: ask your question
<test202020>identity: if i pass -C sly is not connecting
<bjc>stephen0: you can ‘cat /proc/cmdline’ to see what you're running
<bjc>if there's a better way, i don't know it
<stephen0>rogerfarrell: ^
<bjc>oops. sorry
<ekaitz>nmeum: just wanted to thank you for fixing the treesitter in neovim
<stephen0>ekaitz: are you using neovim with the orgmode plugin?
<ekaitz>stephen0: orgmode? nope
<randomguixuser>Hi guys. Some days ago I was around here looking for help installing zed editor. Everything ok, was just a missing dependencies. Now, I need use a .deb package that isn't in the guix software repositories. On a Debian-based distribution, you could simply extract it with dpkg, and that's it. But I don't know how to do it correctly in Guix. Any
<randomguixuser>thoughs?
<ekaitz>randomguixuser: you can make a package for it so it installs it for you
<ekaitz>you shouldn't touch the store, the daemon is the owner of that
<randomguixuser>ekaitz how hard is it? i mean i know programming but never before i touched guile or a similar language
<ekaitz>randomguixuser: as easy as writing a JSON and some JavaScript
<identity>randomguixuser: programming in Guile is going to be an adjustment, but you are going to be filling out forms instead of programming, at least for the most part
<randomguixuser>i'm not to clear about how binary finds system libraries once unpacked. I'll be giving a try to the packaging tutorial...
<ekaitz>randomguixuser: you probably need to patchelf the binaries
<ekaitz>randomguixuser: https://git.elenq.tech/guix-packages/tree/dnie.scm#n81 something like that, but take in account that package installs privative software, which we don't encourage
<ieure>randomguixuser, Guix is possibly the worst distro for running random binaries off the internet. You could try running it in a container with --emulate-fhs, the only other option is creating a binary package using the binary-build-system in nonguix.
<randomguixuser>ekaitz thanks for the resource!! I don't like privative software too, but I'll just install it in the meanwhile. I mean I need get some advance, so I choose free software as my primary option, and if I don't have a free software option, I will simply install proprietary software for the time being and do my best to get rid of that proprietary
<randomguixuser>software as soon as possible.
<randomguixuser>ieure: I'm currently using nonguix for the kernel. I need a propietary firmware for the wifi card, I guess make the binary package is the most robust way, as I understand will use patchelf as ekaitz saids
<ekaitz>randomguixuser: if it's just for the wifi card try in #nonguix it's probably packaged there
<randomguixuser>ekaitz: Well, I suppose I could get rid of the Nonguix kernel and use the free kernel with the specific blob for the Wi-Fi card and write an expression for a custom kernel, but I'm not that good at doing that, and in fact, that's not what I'm looking for. I just want to install the Binance app locally because the browser version is spiking my CPU.
<futurile>randomguixuser: you could use flatpak to install Zed I guess, that seems to be the most common way people install applications that aren't in Guix (after using nonguix)
<randomguixuser>futurile: No, I don't have any more problems with Zed; it was actually fun, I just needed to install the Vulkan library.
<stephen>Made some changes to my config.scm, I thought I only added grim (including grimshot doesn't depend on it apparently) but while it was rebuilding, I saw gnome desktop getting pulled in. So I did a gc --referrers and it was gnome-shell pulling that in, and checking referrers on that showed me the shepherd-xorg-server? I must be doing it wrong. How does one typically figure out what packages are causing othe
<stephen>r packages to be pulled in?
<futurile>stephen: have you looked at guix graph yet? If you use it with --path it will tell you how one package gets to another
<yelninei>i think thats for gdm
<stephen>Is there a way to black list a package so that if I include something I'll get an error instead of it including a package in the list?
<futurile>stephen: not that I know of.
<stephen>Trying out graph, but feeding the result to dot seems to be taking a while.
<RavenJoad>Just double-checking before I do something silly. I have a bunch of GC roots in /var/guix/gcroots/auto which point to /var/guix/profiles/per-user/<me>/profiles/... Is there a guix command to see why those profiles are alive? I need to clear up a bunch of space.
<Rutherther>RavenJoad: all profile generations are always alive, since there is /var/guix/gcroots/profiles symlink to /var/guix/profiles.
<Rutherther>RavenJoad: you cannot know what is using them generally, but probably nothing, that's just how profiles work, you make gcroots for all of them so they are kept until you explicitly delete the generations. Only current generation is supposed to be kept
<Rutherther>oh and specifically per-user/$USER/profiles are just cached guix shells, so they are completely safe to be removed
<Rutherther>in case a guix shell has been using them, nothing would happen to it
<Rutherther>they will get removed automatically after some time, upon running guix shell
<RavenJoad>I only have the latest system & home generations alive. I have 2 guix pull generations right now, the old one and the one I pulled yesterday. I should not have any other profiles alive (other than shells, which can be nuked anyways right now.)
<RavenJoad>Rutherther: So I'm good to just 'rm' all of the profiles my per-user/$USER/profiles directory? Also, there is a last-expiry-cleanup file in there, which I assume Guix puts there for time-based tracking. Is there a way to trigger Guix to just do that cleanup?
<Rutherther>RavenJoad: that file is just a guard so that all files there are not iterated too often, the expiry is checked once per 24 hours thanks to it. And the expiration of the items is also 24 hours.
<Rutherther>RavenJoad: sure you can just remove that last-expiry-cleanup and then let guix shell run, but I doubt you will cleanup much with that, better to just remove all if you really want to cleanup
<RavenJoad>Gotcha. I didn't know that's what that file was for.
<RavenJoad>Yeah, my main development machine's disk is too small for all the work I do on it and I need to GC constantly (Nix and Guix). So good to know about the expiry thing.
<futurile>stephen: there's a way to limit the depth of the graph, which you can need in some cases. If you use the '--path' (I think) option then it just shows it to you on the screen
<csantosb>Something like ? `guix graph --max-depth=2 nvc | dot -Tpng > dag.png`
<csantosb>Or `guix graph --path nextpnr llvm`
<bdunahu>is there a way to remove all the content of a file after a certain regex without a patchfile? i.e., everything after the comment "# nonfree stuff below". Substitute only seems to work on one line
<bdunahu>it's for packaging
<bdunahu>I could maybe invoke `head` or something, but that might be kind of flimsy
<ieure>bdunahu, There's not a nice way to express what you want, and any method of doing what you're asking is going to be extremely fragile and prone to breakage when the package updates.
<bdunahu>okay thank you ieure, I'll just use a small patch for that part
<k00s2>What's the best way to do reproducible builds from source for javascript apps I write, especially dependencies? I'm willing to drastically change how I write JS. But even react or jquery for example doesn't seem to be packaged in guix?
<untrusem>js packaging is a mess
<k00s2>Anything else to target the browser which is better possible in guix? I like ClojureScript for example (compiles clojure to javascript), but that also doesn't seem to be packaged
<identity>k00s2: ClojureScript is just a Maven package
<identity>and, well, see <https://www.spritely.institute/hoot/>
<k00s2>identity: ah hoot looks cool, thanks
<k00s2>identity: Doesn't using maven packages download binaries from an external repo?
<identity>sure, but it also does not make too much sense to package ClojureScript, especially considering it has no dependents
<identity>we would not be packaging crates if we did not build Rust programs
<k00s2>Ok, does that mean packaging libraries for the sake of having the libraries for development is not a priority/wish, unless it is used by some running program that needs to be packaged?
<k00s2>If so, it feels like guix is unsuitable for development if the output doesn't run on a linux machine? For example if the target is web?
<identity>from what i know, unused libraries are certainly not a priority
<identity>after all, we have enough work with used libraries
<k00s2>identity: Clear, thanks :)
<identity>there can be exceptions, it is not a rule by any means, but leaf library packages, especially those that are not especially popular, are not going to last long
<ieure>untrusem, "js is a mess" fixed it for you
<chris0ax>so from my understanding, its probably possible to do something like what we do for rust for js but doing it all from source with js is really hard?
<Rutherther>the issue is that node packages commonly come with bundled binaries