IRC channel logs

2025-04-27.log

back to list of logs

<nomike>hi
<nomike>Just out of curiosity: In package definitions, I can use (substitute*). Where can I findthe documentation of that? I use it by following examples, but I would like to see the "official" documentation of that command. I haven't found anything in the guix manual and google also didn't turn up anything usual...
<jA_cOp>nomike: I can find it in the info manual; in a terminal, you can do `info guix` then `i` (for index search) then `substitute*`
<jA_cOp>nomike: in the web version it's on this page https://guix.gnu.org/manual/devel/en/html_node/Build-Utilities.html
<jA_cOp>the info manual can also be searched in Emacs, if you use that
<nomike>Google has gotten more and more worse over the years. If I search for ="substitute*" guix= there is no way I could ever this page. I found it in the info pages though... Anyway, lot's of thanks for the hint.
<nomike>BTW: I don't know why, but at least in this chapter, the info-page on my system suddenly switches from english to spanish (I'm a German native speaker, but I've set all my locales and languages to English since like ever). That's quite weird.
<nomike> https://i.postimg.cc/SK9TS4Kt/image.png
<nomike>I don't speak spanish, so it's very unlikely that a language setting on my machine is causing this...
<hanker>What's the best way to load `manifest.scm` and `guix.scm` ?
<hanker>When I run `guix shell -f guix.scm -m manifest.scm`, it takes about 15 seconds to load entirely (more than `guix shell -f guix.scm` + `guix -m manifest.scm`)
<apteryx>got this running 'guix lint opensta': gnu/packages/electronics.scm:431:7: opensta@2.6.2-0.eb8d39a: 'https://archive.softwareheritage.org/api/1/extid/nar-sha256/hex:85e3b2555a98e9c40288123c20e40c4f2d294881790b6ffd08a7b44ba43bec2e/?extid_version=1' returned 504
<apteryx>luca: many guix system services often offer some 'extra' config field where you can insert an abritrary, verbatim config snippet to be appended to the rest. if you write your own service, nothing stops you from taking the original configuration file as-is as well.
<apteryx>but one of the pluses of guix system services is that it reduces the chance of getting something wrong, is expressed neatly in scheme and is usually documented along the rest of Guix System in the reference manual.
<divya>I have a biber and biblatex version conflict.
<divya>And I have no idea how I can update texlive-biber package
<divya>the only system package I had installed was texlive
<divya>How did get biblatex get updated without biber?
<lfam>Do we have a procedure to return the version of the kernel when building a system? The name of the cirrus module was changed to cirrus-qemu in linux 6.14, and we add this module to the initrd when building a VM. The name change breaks this procedure and I'm not sure what's the best approach here
<lfam>This is what we do now: <https://codeberg.org/guix/guix-mirror/src/commit/b8e2d556d9b9673a4520222ebe8719ddecee9a81/gnu/system/vm.scm#L194>
<lfam>I think we need to make this conditional on the kernel version, although that seems like a kludge
<lfam>We could also drop this special procedure, which is a workaround for VPS providers that are running QEMU from 2014
<lfam>Or we could break this for older kernels, since from what I've noticed approximately nobody uses any kernel besides the default version
<ieure>lfam, (package-version (operating-system-kernel os)) will tell you the kernel version, but this approach feels hacky to me. :(
<ieure>Maybe you can look into the kernel package's outputs to see if there's a cirrus.ko or cirrus-qemu.ko?
<lfam>I feel like this whole idea of adding a module to support some specific VPS providers is a kludge, and it's unexpected that the kernel changed this name. So I'm not above a hack
<lfam>I also don't feel up to checking for the file name in the kernel store item. I'm not much of a Schemer
<dhoffman>have there been any updates to the riscv guix bootstrap effort over the past four months or so?
<dhoffman>last commit in the wip-riscv-bootstrap channel was in december
<dhoffman>*wip-riscv-bootstrap branch
<dhoffman>also i've been getting a lot of 502 errors while running guix pull (and pulling the guix git repo normally)
<dhoffman>just as an fyi
<luca>dhoffman: Regarding the 502s, personally I've switched to https://codeberg.org/guix/guix-mirror as it's more stable. Defended by anubis and all that ;)
<sham1>Thank you Anubis!
<worni>my hard drive is regularly filling up, and its because the /gnu/store/.links which is currently at 75GB which is 71% of my entire drive, I ran `guix gc --delete-generations=1w` already any other advice on what I could do?
<identity>worni: try deleting more generations. i am unsure if gc --delete-generations deletes all of system, user package and home generations, so make sure to delete those too
<identity>you may also want to run guix gc regularly with a shepherd timer
<worni>oh duh I should run it with sudo as well
<ruther>worni: /gnu/store/.links is not taking any space, it is actually saving space. You need to look at the base /gnu/store to see what are the paths that are taking up space.
<worni>I'll look into it thanks, I'm just going by what Disk Usage Analyzer says
<ruther>worni: the tool probably doesn't know about the hard links.
<luca>Does anyone know where "maybe-string" comes from? It's a bit difficult to grep around the guix repo to find it
<ruther>luca: From (define-maybe/no-serialization string)
<luca>Oh I just copy that in my file? Neat
<luca>Anyone know how I can view stdout logs from a shepherd service?
<sham1>Wouldn't those just get logged onto the /var/log/whatever?
<sham1>And/or maybe `herd status`
<luca>`herd status` only tells me "Process exited with code 1.", so I was hoping for a tiny bit more
<divya>Any clue on the biber and biblatex conflict? I've got a thesis to be compiled soon and I still can't do it.
<lilyp>you probably won't see this conflict with `guix shell'
<lilyp>as a general rule though, try to update your entire profile
<PotentialUser-19>hi, i have very long updating url https://ci.guix.gnu.org/ on the guix system init config step
<PotentialUser-19>what is it?
<PotentialUser-19>what happened, url doesnt resolved by dns server for check some access or availability
<luca>The link works for me
<dvr>Continuous integration features
<PotentialUser-19>from browser?
<luca>yep
<PotentialUser-19>as me noupe i promising response error
<PotentialUser-19>dvr what?
<dvr>The url you posted is being hit by guix for gathering continuos integration software
<luca>It's a service that builds stuff for guix so you don't have to
<dvr>and since it is choosing to go directly to GNU's hosting and not a mirror, that could contribute to its slowness
<Kabouik>I think I've read everything there is about wrong cursor sizes in Wayland and some applications like ungoogled-chromium and haven't found a fix. So just to make sure I didn't miss anything: this isn't a Guix peculiarity with some package missing, right?
<Kabouik>(In Sway)
<dvr>half the time I hit anything direct from gnu I get a 502 error and have to hit it a few times and it is usually slow, sometimes not.
<PotentialUser-19>that is interesting if on the logs below i has success response with list of utilites and next request is down
<PotentialUser-19>what you think i want to wait where it will be end?
<PotentialUser-19>should*
<dvr>hard to say, sometimes I leave it running and then go out, come back later in the day haha
<dvr>sometimes it's five minutes.
<PotentialUser-19>i wait 30 or more minutes
<PotentialUser-19>mb 1 hour
<dvr>sounds reasonable to me
<ruther>PotentialUser-19: so you have 'updating substitutes' line with the ci. url?
<PotentialUser-19>OK. its fucking russian political special services ruther yeas
<dvr>ano - yes
<dvr>bleh, ignore that, wrong window
<ruther>PotentialUser-19: that is strange, that shouldn't take so long, maybe better to not use this substitute and use other one like bordeaux or a mirror somewhere closer to you
<PotentialUser-19>i dont know how i can stop it and where change urls
<ruther>PotentialUser-19: you stop it with C-c, you change urls by passing --substitute-urls
<PotentialUser-19>ok and where i can get list of mirrors and check thier
<PotentialUser-19>ruther
<ruther>PotentialUser-19: there isn't a centralized location, you need to look it up somewhere. Some are listed here https://libreplanet.org/wiki/Group:Guix/Mirrors
<PotentialUser-19>singapoure look likes
<PotentialUser-19>pure chine streams ;)
<PotentialUser-19>ruther how you think this command is correctly: guix system init --substitute-urls https://mirrors.sjtug.sjtu.edu.cn/guix /mnt/etc/config.scm
<ruther>PotentialUser-19: looks fine
<ruther>PotentialUser-19: maybe should be = instead of ' ' after --substitute-urls, I am never sure.
<PotentialUser-19>ruther thanks updatings is started fastly
<PotentialUser-19>guix fairly i love it
<luca>I vaguely remember reading somewhere that someone managed to get podman and forgejo running on guix in a declarative way. Does anyone happen to know the blog post I'm refering to?
<mjw>luca, maybe https://mastodon.social/@futurile/114218113438819212 ?
<luca>Actually I think it was https://github.com/fishinthecalculator/gocix (linked from a video from a comment there). Thanks!
<divya>lilyp: I /do/ see the conflict in guix shell.
<lilyp>oho?
<divya>Also lilyp, when are we merging emacs-team upstream?
<elevenkb>Hello there, is the guix repo offline?
<ieure>elevenkb, Savannah's availability has been dire the last couple weeks, so, probably.
<ieure>elevenkb, I don't have visibility, but it's likely getting hammered by the same so-called "AI" scrapers destroying the internet.
<sham1>Maybe we should convince GNU to add Anubis there
<ieure>sham1, How do you expect `guix pull' to complete an Anubis challenge?
<lilyp>do we have a count on broken/non-broken builds on emacs-team yet?
<elevenkb>ieure: [🥺] Thanks for letting me know.
<sham1>ieure: well clearly it works for other git forges
<lilyp>if most packages work, we should submit a merge request
<luca>ieure: anubis can (and has) exceptions based on user agents and such, as well as exceptions for paths. A git clone in general is less expensive than the many git blame these scrapers run
<ieure>Good to know.
<luca>elevenkb: Personally I've switched to https://codeberg.org/guix/guix-mirror for now
<luca>also guix having a GIANT monorepo means a lot of blame to go around spaning across years of work. So it's tough on poor cgit
<luca>Hi, anyone know how I can pass "secrets" to guix system configs? Like an API key to an oci container
<ieure>luca, Guix doesn't currently have a facility for this.
<ieure>There are some third-party approaches, but nothing built-in.
<luca>hmmm ok. Maybe I'll end up with --env-file or something
<luca>thanks!
<ieure>Things are extra difficult because everything ends up world-readable in the store.
<ieure>So probably the best you can do is have the ciphertext in the store and decrypt during service activation. I wouldn't want to rely on secrecy, but would honestly prefer if the ciphertext wasn't world-readable.
<luca>i was thinking a file somewhere that only docker's user can read, and point docker to it
<luca>it's not a "generic secret" but it should do for this one use case
<ieure>Sure, but if you do that, it can't be declarative.
<ieure>Anything declarative will have to have a package in the store, and everything in the store is world-readable.
<luca>true. But it's probably a positive in a way. no need to rebuild when I leak it :P
<lilyp>does anyone else's builder for gtk-icon-themes fail?
<ruther>lilyp: what does it fail on?
<lilyp>how should I know, the logs are empty :<
<ruther>oh
<ruther>what fonts are you using?
<ruther>(in that profile you're building)
<ruther>(or icons rather)
<lilyp>well, I have one package that pulls in evolution
<lilyp>looks like the new builder is my problem
<ruther>lilyp: I can build a profile with evolution on latest Guix
<lilyp>hmm, looks like a "my package" problem then
<ruther>lilyp: that sounds strange... like it shouldn't fail based on a package. Also an update has been committed just today to gtk theme icon hook, so I would rather think there is something wrong in it, just not sure what.
<lilyp>looks like a spacebar heater
<ruther>lilyp: still strange, since the logic wasn't really supposed to change, only what is kept from the output.
<lilyp>well, it did change
<lilyp>I think it requires icons now
<lilyp>nope, still fails
<lilyp>ahh
<ruther>lilyp: I still don't see any change in logic even after rereading the code
<lilyp>it's missing `(mkdir-p destdir)`
<ruther>lilyp: ther is mkdir-p for the individual themes though, before anything is copied
<lilyp>only if there's a cache file
<lilyp>if none is generated, nothing will be copied
<lilyp>actually, (mkdir-p #$output) at the start would suffice
<lilyp>the "nothing to do check" is no longer valid
<ruther>lilyp: right, if there is gtk+, but no icons, it will fail currently, my bad.
<lilyp>we all make mistakes
<lilyp>it's getting late for me – do you want to write the follow-up commit?
<ruther>lilyp: sure, I can submit a patch
<ruther>lilyp: although I agree the 'nothing to do check' is not ideal, I don't really see a better way, we cannot really check what's in the profile here as far as I can tell
<lilyp>not without some deep magic anyway
<lilyp>also, defensive programming is always a good idea
<sham1>Hm, savannah doesn't seem to be the only thing that's down
<sham1>Can't access the issues
<ruther>lilyp: submitted as #78100, included you in cc. Could you clarify what you imagined should've done in the first place to accomodate defensive programming?