IRC channel logs

2026-02-27.log

back to list of logs

<RavenJoad>So I sorted out why texdoc does not pull up the package's documentation PDF. texlive-scheme-* and texlive-collection-* packages don't actually do anything with the doc output on the individual TeX packages. Is there a nice way to install all the documentation too? Or do I need to do a tree-traversal of the package inputs and do this manually?
<meati>has anyone here changed their hostname before on guix?
<meati>will it break anything or will it "just work" when i reconfigure
<meati>and the same question for user name
<vagrantc>i have changed hostnames by reconfiguring and rebooting ...
<vagrantc>username is a little more tricky
<vagrantc>you might have leftover home directories for the old user, might have matching uid/gid and such ... but nothing too difficult to clean up later
<hanker>Morning, I wrote a PR to fix lesspipe's behavior with tput https://codeberg.org/guix/guix/pulls/4786
<Hamled_>What's the best way to debug why installing a package is not using substitutes when `guix weather` says they're available for the target system
<apteryx>Hamled_: maybe check the daemon logs
<apteryx>I don't know if execution will make it this far, but this is where the daemon would reject an input which signature isn't trusted/authorized, I think: throw Error(std::format("imported archive of `{}' lacks a signature", dstPath)); in LocalStore::importPath
<Hamled_>Hmmmm okay thanks
<Hamled_>I have gotten other packages as substitutes from there but hopefully the daemon logs will have something
<apteryx>it won't make it there though, I continued reading and the substitute script should filter it before I think, there's a valid-narinfo? that uses the ACL and would print something like: "substitute at '~a' is signed by an unauthorized party~%""
<apteryx>(this is assuming that the root problem is that you haven't yet trusted the substitute server's signing key)
<Hamled_>Perhaps what is more confusing or concerning is that building the same derivation locally fails, but the official cuirass instance has a successful build job for it
<apteryx>builds can fail running out of memory
<apteryx>if it's a large thing like a browser for example
<Hamled_>This is consistently failing for the same problem, afaict
<apteryx>OK; can you paste the error you see somewhere? it may be a reproducibility bug (most common ones are flaky tests).
<Hamled_>Log was too large for the debian paste site: https://upload.disroot.org/r/uP6tvx6T#1HL9xSxVPPjG1X18gPcVha3jEpj6WA4TtUzbnu3JeLI=
<Hamled_>this is the job that I thought was succeeding, but when I went to check the log just now, it clearly didn't actually build anything... https://ci.guix.gnu.org/build/18888944/details
<Hamled_>that or i'm misunderstanding how to use the cuirass website
<xdej>g
<theesm>good morning guix o/
<futurile>Morning all
<NegateThis>👋
<mcarmo>heya folks, need some help. I finished installing guix with the installer, but KDE is just giving me a black screen.
<mcarmo>I'd imagine that it's because my cpu has no igpu
<mcarmo>and my gpu is nvidia
<mcarmo>what can I do to get this working with wayland?
<untrusem>mcarmo, this is better asked in #nonguix
<mcarmo>ah, thanks. didn't notice that channel
<mcarmo>are there other main guix substitutes beyond bordeaux and ci? My computer is giving OOM when trying to build webkitgtk for gnome and there's no substitute for that available
<mcarmo>this feels really weird too, actually. 32gb should be enough for webkitgtk
<futurile>mcarmo: it could be a slightly different problem. If you try and use the 'latest' guix then sometimes the build server hasn't built it yet.
<futurile>mcarmo: we just had a major rebuild due to a security issue, so that _could_ be the problem.
<futurile>mcarmo: did you find the 'guix weather' command yet?
<futurile>mcarmo: but the direct answer to your question is - yes there's some other subsitute servers - uh let me find you the link
<mcarmo>oh yeah I tried it, that's how I found out there weren't substitutes yet
<futurile>mcarmo: https://libreplanet.org/wiki/Group:Guix/Mirrors
<mcarmo>frankly I'm slightly concerned about how webkitgtk failed to build lol, maybe it's a job issue. does guix system reconf set max-jobs = cpu cores by default?
<futurile>mcarmo: your other option will be to use a specific commit of guix, a few days earlier and then try that
<futurile>mcarmo: not sure honestly; you can definitely set it in the daemon - don't know what the default is
<mcarmo>I passed it --cores=8 to see if it compiles
<mcarmo>but how do I set guix to an older commit? this is my first install haha
<dariqq>is there a way i can test if a shell completion works as expected?
<civodul>dariqq: hi! i usually spawn a shell, source the completion script, and test the relevant bits
<civodul>obviously that only works for simple tests
<jlicht>hey guix o/
<mcarmo>heya!
<mcarmo>damn webkitgtk takes a hell of a long time to compile...
<csantosb>dariqq: other than building the package and installing it locally, doing your tests, then removing it ? This is how I proceed
<dariqq>sourcing the completion works but then i dont know if it gets picked up automatically which is what i actually want to test as I have to install it manually
<dariqq>but installing it seems to work. I am very confused how that gets found
<andreas-e>mcarmo: I have just pushed changes to webkitgtk to master, normally substitutes should appear shortly.
<andreas-e>Does your setting enable several parallel builds? There is a risk that you launch in parallel webkitgtk, webkitgtk-for-gtk3 and webkitgtk-with-libsoup2, and then the available memory quickly is not enough.
<mcarmo>I am not exactly sure, I just finished installing guix for the first time here
<mcarmo>I am working off the basic config.scm, so I have not done any additional settings beyond that, unless that's the default
<andreas-e>I suppose you already did a "guix pull"?
<mcarmo>yeah
<mcarmo>guix weather said 0.0% substitutes available
<mcarmo>but this thing has been going for almost an hour now so maybe a substitute could have popped up in the meantime?
<andreas-e>For now, maybe you could do a "guix pull --commit=121ef5ebdea210993b7c96ee87db126f77c36fbe --allow-downgrades", which will send you back to a commit from this night, for which the substitutes should be there.
<mcarmo>just as I sent that last message it wrapped up the build lol
<mcarmo>but it's good to know I could do that, will keep it noted for the future
<mcarmo>is there a way to check for what version of guix a substitute has a given package for?
<andreas-e>Or better yet (for everyone who may listen) use commit 84e4ab8c55da3630cd6a8428702d23459aa61515 .
<andreas-e>I do not think so, at least not easily; the data service has the transposed information, for every commit it has treated the list of packages for which substitutes are available.
<mcarmo>I'll look into that later, but if there's a list of commits it has packages for that's already handy
<mcarmo>now to see if my reconfigure actually finishes this time lol
<mcarmo>andreas-e: quick question, people were talking about a recent security update, is the 84e4a... commit you mentioned after that update:
<mcarmo>?*
<andreas-e>mcarmo: Yes, this is after the update, and before a few commits that changed a lot of packages...
<mcarmo>ah nice
<dariqq>andreas-e: Would it be safe to assume that anywhere where git-minimal is used in native-inputs it can be changed to git-minimal/pinned? There are a lot of these, maybe this should be a lint rule?
<fhang>Holy no substitutes available, Batman! Many packages are taking a long time to build locally. T_T
<andreas-e>dariqq: I suppose so, but do not really know. Actually come to think of it, once the packages has been built with the not-pinned git-minimal, it will be costly to recompile (including dependents). So it might make sense to carry out the change at the same time that one updates git-minimal/pinned to the latest version.
<andreas-e>fhang: It should not be that bad. https://qa.guix.gnu.org/branch/master shows an availability of 96.9% on master, which is maybe 1.9% or 500 packages below its all time high.
<mcarmo>quick thing, I'm getting a hint for setting GUIX_PROFILE. the guix reference says this shouldn't really happen on a guix system, how can I fix this?
<mwette>On foreign distro, to update guix-daemon, man says `sudo -i guix pull'. No `upgrade' needed?
<andreas-e>mcarmo: Are these the three lines sometimes shown after installing new packages? Then you can stay in the same shell and copy-paste the three lines, or open a new shell.
<dariqq>andreas-e: other than meson-python git-minimal only has ~100 dependants of which 33 direct ones are in native-inputs so it should not be a runtime requierement or it is a packaging bug
<Hamled_>besides running mitmproxy or modifying guix, is there any way to get information about what requests are being made by the build daemon when looking for substitutes? I've tried running the daemon with --debug and the build command with --debug=5, but didn't get any further details beyond what is normally displayed. Guix is looking for substitutes at multiple URLs which `guix weather` says has the
<andreas-e>I think these are probably packaging bugs, as in the two cases you uncovered. Actually I do not quite understand why we need git and git-minimal and git-minimal/pinned. I would argue that git-minimal could probably be dropped.
<Hamled_>specific package (and which I've verified by manually downloading the nar), but `guix build` is still attempting to build locally
<mwette>never mind, rtfm answered
<dariqq>andreas-e: The full git e.g. depends on julia
<andreas-e>dariqq: But git-minimal/pinned probably serves most purposes of git-minimal already. I did not even know about them, so in my own profile I have installed the big git.
<andreas-e>My argument would be that people who want a very lightweight git most probably are okay with a slightly outdated one.
<dariqq>git-minimal is used by guix-daemon
<folaht>I have a question. I have duplicate packages, same package, same version. Is that normal? Should I get rid of one?
<folaht>Also, some of these packages have configurations. If I install a new version of that package, do the configurations disappear?
<futurile>folaht: the way guix works is a bit different to how other Linux packages managers work (excluding Nix). So having more than one version of a "library" is pretty normal: each package tracks the 'inputs' (libraries etc) that it needs, some-times that means you land up with two or more copies of a library. You wouldn't expect to see more than one copy of a "tool/program" - so if you land-up with two
<futurile>copies of your email program that would be weird.
<futurile>folaht: make sense?
<folaht>No, why would you have copies of a library when they are the same?
<folaht>I have two copies of xkeyboard-config and I would like to edit it. Do I have to edit two of them now? What if a third one appears?
<folaht>I'm already worried that when I do an update that my configuration edits would disappear.
<folaht>update => guix upgrade
<folaht>By the way, is it normal for 'guix upgrade' to be taking so much longer than other repos, like those of Arch/Debian/Fedora?
<mcarmo>andreas-e: sorry for the delay in my response, I had gone out to eat. yeah it shows after package installs
<mcarmo>I was just a tad confused because I thought that'd be more automatic in a full guix system install
<gr1n>Quick question, where should I do the PR for this? https://github.com/georgewhewell/undervolt It builds and runs locally but I don't know where to add it, in python-xyz.scm or maybe some other
<andreas-e>mcarmo: I think it can happen when you install something that requires a new environment variable to be set, such as GUIX_PYTHON_PATH or so.
<andreas-e>folaht: I am a bit confused by what you mean. All packages are in /gnu/store, and these are read-only, so there is no configuration you could edit. That would happen as usual in dot files, $HOME/.config/ and so on (unless you use "guix home", then it is done in the file you pass to this command).
<andreas-e>Without "guix home", Guix does not manage your configuration.
<andreas-e>And it is normal for "guix pull" to take a long time since all the package definitions need to be compiled; for "guix upgrade" it depends whether binary substitutes for your packages are available or not. In the latter case it can take arbitrary time to compile them locally...
<folaht>andreas-e, now that I think of it, I tried to edit /gnu/store packages multiple times and thought I did, but ultimately haven't. I'm still new to guix.
<futurile>gr1n: there's basically two ways that the archive is structured. One is by interest area, like 'mathematics', or 'version-control'. The other is by 'language' which is really about the build-type that people are familiar with. You can put it wheever you want - what I generally do is try to find similar packages / apps if I can for clis. If it's a library I normally see if we have a team for that
<futurile>language and then try to put it there.
<futurile>gr1n: so in this case I'd look for other tools that manipulate the CPU etc and see if it logically fits there
<andreas-e>folaht: Guix is quite unusual, so it can take a little time to get used to it. Maybe you could read the Chapter 5: "Package management" in the manual. Definitely 5.1 gives a high level overview of how package installation works.
<janneke>ACTION is wondering if the guix project should provide bouncer services for committers/contributers
<janneke>or what the possible problem with IRC could be
<andreas-e>What is a bouncer service? You are not speaking of kicking us out of dance clubs? ;-)
<ieure>andreas-e, Something like ZNC, it's a proxy that stays connected to the IRC server so you get things like scrollback.
<andreas-e>I had a vague idea ;-) What would be the advantage to browsing through the logs? That once you reconnect, you are presented with all messages directed at you?
<ieure>andreas-e, Yes, when disconnected, the bouncer buffers messages sent to your channels. On your next connection to the bouncer, it replays them all.
<ieure>So you don't miss conversations happening when you're away.
<bjc>speaking of, are there bouncers that allow multiple users? last time i used one was dircproxy, which very much didn't
<ieure>bjc, ZNC does.
<bjc>cool. i'll look into it. thank you
<ieure>No problem.
<Hamled_>What would cause the guix daemon to first download a substitute for a derivation and then proceed to build the derivation locally? The output from `guix build` does not indicate any problem with the downloaded nar
<ieure>Hamled_, Can put the output in a paste service and paste the link to it here?
<ieure>Hard to answer generally.
<Hamled> https://paste.debian.net/hidden/f7d97081
<gr1n>futurile: Thats a good methodology, thanks! I'll search for something that does stress tests (it fits the CPU and undervolt theme)
<mcarmo>folks, newbie question here. how exactly does use-modules, use-service-modules and use-package-modules differ? I'm going through docs but I can't quite understand it
<bjc>they differ in the prefix they use. use-modules is called by the other two with (gnu services) and (gnu packages) prefixes respectively
<mcarmo>oh so it's just shorthand
<bjc>yep
<mcarmo>makes sense. and how can I look about which modules are where? I was trying to add pipewire-service-type
<untrusem>mcarmo: you search in the manual
<untrusem>are you using emacs?
<mcarmo>I am going to set it up right after I get firefox going
<mcarmo>need to redo my keys to fetch my dots lol
<untrusem>you can look up on the web too
<folaht>How can I manually add a custom keyboard layout?
<folaht>Because these packages are now read-only.
<untrusem>I use kanata for this
<untrusem>guix show kanata
<untrusem>folaht:
<ieure>folaht, If you want to add a layout ex. to xkeyboard-config, you need to create a package variant which includes the layout, then replace the xkeyboard-config package where it's used in your operating-system.
<untrusem>ohh yeah that too
<untrusem>But isn't it only applicable for xorg?
<ieure>No, Wayland uses XKB as well.
<ieure>Not sure about changing it in the console.
<folaht>untrusem, I use XFCE, so for now I still use xorg.
<untrusem>xfce has wayland too
<folaht>Xorg is still default with XFCE as far as I know.
<untrusem>I only used xfce as my DE before i switched to niri
<untrusem>xfce is <3
<ieure>folaht, Guix doesn't let you arbitrarily edit what packages install; packages are immutable. Having administered plenty of boxes with load-bearing undocumented hacks, I genuinely appreciate that Guix forces you to do things in the intended way, by removing the ability to do the wrong thing. But it does make some things like your need more difficult.
<mcarmo>anyone here uses pipewire? turns out pipewire-service-type isn't a thing lol
<mcarmo>kinda confused on how to set it up. my headphones don't work through bt with pulseaudio
<ieure>Guix is the only distro I've run that feels very hackable, but not hacky, if that makes sense. You have a ton of leverage to manipulate the system how you like, but you can't violate the fundamental invariants about how the system works.
<ieure>mcarmo, It's a home service.
<seres_>macabro: home-pipewire-service-type is a thing
<mcarmo>is that the best option? I was planning on keeping using stow but if I must use home for a few things...
<folaht>ieure, does that mean that I need to maintain this package variant whenever xkeyboard-config updates?
<untrusem>mcarmo: I use pipewire
<futurile>mcarmo: it's often useful because it can start actual user-services, and you can also define packages for the user. You can use stwo for config files etc
<untrusem> https://codeberg.org/untrusem/verito
<untrusem>here is my config, might be helpful to you, its an org file of course :D
<untrusem> https://guix.gnu.org/manual/devel/en/guix.html -> here is the whole manual in single page
<untrusem>so search away till you get emacs setup
<untrusem>mcarmo:
<folaht>ieure, I get the feeling that I need to read this in order to achieve my custom keyboard layout wants? -> https://guix.gnu.org/manual/1.5.0/en/html_node/Defining-Package-Variants.html
<ieure>folaht, That's a good place to start, you will also need to know, generally, how to package stuff.
<folaht>ieure, looks like that's gonna take a long time to learn it all ;_;
<ieure>folaht, It requires some investment, yeah
<mcarmo>untrusem: thanks! I really need some more references lol. also love me some literate configs
<futurile>OK, that's every committer and team contributor invited to the secret community site
<futurile>^D^D^D
<futurile>damm it - sorry - wrong window
<FuncProgLinux>q
<futurile>FuncProgLinux: you are special, I already emailed you
<FuncProgLinux>futurile: :O i'll check asap
<gr1n>futurile: secret community site?
<bdunahu>hello, does anyone have the time to leave a review on https://codeberg.org/guix/guix/pulls/5403 please?
<futurile>gr1n: now don't tell anyone - here's your special, secret, only usable by you invite - https://guix-test.zulipchat.com/join/r3di6wbzsu2gbjnlicunbetj/
<futurile>gr1n: and don't say I never do anything for you
<futurile>bdunahu: you could try emailing AVP to ask them for a review - or ping them using @ on the PR
<futurile>bdunahu: they are at the top of the radio file and I guess have an interest in this area - I know they actively review and push PRs
<ekaitz>futurile: thanks for the email, really
<futurile>ekaitz: no worries, just trying to make sure everyone knew that we were doing a bit of an experiment. Lets us have a play to see if we think it's useful/different/fun
<ekaitz>:)
<bdunahu>futurile: that's helful, thanks! I've asked them
<rgarcia>Hi! So I run guix shell python-mido python-ipython. Inside that shell I run ipython and am able to import mido. However if I run python the module cannot be found. What's going on?
<ekaitz>rgarcia: you mean python -m blablah?
<ekaitz>i think you are missing python itself, so when you run python that's using the one from your system and then that doesn't find the things because it's not properly wrapped
<ekaitz>`guix shell python python-mido python-ipython` debería funcionar
<ekaitz>ACTION throws from the three point line
<rgarcia>lemme try guix shell python python-mido
<rgarcia>I did guix shell python python-mido. Module not found, it says. I ask which python: /usr/bin/python. I expected a path from /gnu/store
<mcarmo>wait, I'm a tad confused. I enabled guix home to get pipewire running, but now new applications I install with guix install don't have their desktop entries show up. what gives?
<mcarmo>does every single package I want to use now need to be added to my home configuration?
<untrusem>.
<gr1n>futurile: wouldn't darenow that I'm on the cool kids exclusive club :D
<rgarcia>oh wait... which python yields /usr/bin but which python3 finds the right one. Solved!
<ekaitz>when is debian going to stop with that python vs python3
<ekaitz>i love them but also...
<ieure>ekaitz, The package names or the binaries they install?
<ekaitz>idk maybe both
<ekaitz>lol
<ieure>ekaitz, I think it's standard for the binary names to be python and python3 (Guix's Python 3.x package install a python3 binary), for backwards compatibility with Python 2 programs that use "python" in the shebang.
<ieure>ekaitz, Homebrew does the same thing, Python 3.x packages install a python3 binary.
<ieure>This is the normal approach as far as I know.
<ekaitz>hm
<ieure>There's a python-wrapper package in Guix which will give you python / pip commands instead of python3 / pip3. I believe Debian has something similar.
<mcarmo>ok really I need some help. KDE just seems to be incapable of finding desktop files in my .guix-home or .guix-profile at all
<mcarmo>I've even restarted and no dice
<ieure>mcarmo, Want to post to the help-guix list?
<mcarmo>is that a mailing list?
<mcarmo>I never posted in one
<mcarmo>if that's more proper sure
<ieure>mcarmo, Yes.
<untrusem>mcarmo: yo can also post a issue in codeberg and tag kde team
<mcarmo>I'm not really sure if this is an actual issue or if I configured it wrong tbh
<mcarmo>it's really weird, $XDG_DATA_DIRS shows all the share folders properly, but KDE just ignores them...
<untrusem>just create one, I am sure it will help your regardless :)
<Hamled>ieure: did you have a chance to look at the guix build output here? https://paste.debian.net/hidden/f7d97081 after taking a break I tried building again and it downloaded that binary substitute as well as the -debug one, since I guess the derivation has multiple outputs. I'm guessing that's actually what is happening, it starts trying to build the one that it couldn't find a substitute for?
<untrusem>test
<redacted>I'm unsure how best to use channels with guix deploy. I have a personal channel for stuff. It exists on my filesystem, so systems deployed don't have access to it. This means the unattended upgrades service will fail to update the server.
<redacted>Should I try to add that channel to the store so it gets copied over?
<redacted>(With local-file, for example)
<untrusem> https://codeberg.org/guix/guix/pulls/6745 this might help you in future, redacted
<redacted>Hmmmm. unattended-upgrades already lets you specify the channels to use, so really the only problem here is that I'd prefer *not* to host my channel on HTTP.
<redacted>Yeah, I'm realizing the solution here is probably to add my channel list to the store with (local-file "channels.scm") and references that.
<redacted>Then, if I insist on not hosting the channel over HTTP, I can do the same thing for that channel in the channels definition
<redacted>with (local-file "file:///path/to/channel"") or so
<redacted>(the long-term solution is to upstream all my package definitions to guix, but that's going to take abit)
<redacted>I think I'm a little fuzzy on gexps still. It seems I can't just do something like (channel (url (local-file "/path/to/channel" "channel" #:recursive? #t)))
<redacted>That's "invalid G-expression input"
<ieure>redacted, I believe you just need (url "file:///path/to/channel")
<redacted>I'm doing this in an OS definition I deploy with guix deploy. That directory is not going to exist on the remote system. Right?
<ieure>I see.
<redacted>Maybe I should take server-related stuff out of the channel and load it as a guile module. Might be no point in the channel if I'm not going to publish it.
<redacted>Ah, but that does complicate the load-path situation
<redacted>since the config dir now needs to be in the load path
<ieure>redacted, I'm genuinely don't know if you can ship a channel over like that. I mean, it isn't working for you, which implies that you can't, but I also don't know what you could do to make it work.
<ieure>Package the channel, include it in the o-s package list, use a file:/// url pointing at its store item?
<redacted>That'd still involve setting the url to a gexp, right? I was trying to get the channel into the store with local-file. Maybe I invoked it wrong.
<redacted>Yeah, channel urls are supposed to be strings. local-file returns a gexp
<ieure>redacted, Right, because local-file puts the local contents into the store.
<ieure>redacted, Why are you doing it like that instead of storing the channel in a Git repo?
<redacted>You mean a repo accessible via HTTP? Yeah, I could. Unsure why I've resisted thus far.
<redacted>Maybe I'm trying to do this as simply and as in as few steps as possible. But I wasn't sure up front what was possible.