IRC channel logs

2026-06-02.log

back to list of logs

<LambdaFiend>Hello, I have a problem: Git error:cannot redirect 'git.savannah.gnu.org' to 'https.git.savannah.gnu.org'
<LambdaFiend>I have tried codeberg as well as git.git.savannah.gnu.org over at channels.scm
<LambdaFiend>It initially works but at the end a pull it fails with this error.
<LambdaFiend>of a pull*
<LambdaFiend>Is there some channel I am not aware of? The only one I have changed it guix
<mwette>this is what I have for the default-channel: https://git.guix.gnu.org/guix.git
<mwette>not really sure what you are trying to do
<LambdaFiend>I'm trying to install guix following a tutorial for bad hardware, and I'm now at the last step of doing system init using time-machine
<LambdaFiend>Using what you have for the default-channel is (I'm using the name guix for the channel) throws the same error but for git.guix.gnu.org to codeberg.org
<loquatdev>Hello, everyone! I'm currently building a small device using a Raspberry Pi Zero 2 W and I'd like to build a custom image for it. Is there a good resource for doing this sort of embedded development with Guix?
<loquatdev>I suppose I could just do it by writing a custom derivation that builds a properly configured image.
<LambdaFiend>Did I miss something? I lost connection
<loquatdev>LambdaFiend: Nope, only thing that was sent was an unrelated question of mine
<FuncProgLinux>is it normal for guix not to find modules in gnu/packages/guile.scm when using manifests?
<ieure>FuncProgLinux, Do you mean packages? gnu/packages/guile.scm is the source code for the (gnu packages guile) module, and modules cannot contain other modules.
<FuncProgLinux>Yes, sorry. I keep getting that "guile-json" is an unbound variable but I'm importing (gnu packages guile).
<ieure>FuncProgLinux, Does that module define a `guile-json' symbol?
<FuncProgLinux>No, on the contrary, doing that was the only fix I could find.
<FuncProgLinux>My temporal fix so far has been "guix edit guile-json" and copying the package definition into the manifest, that has been the only way to slap some sense into the guix shell -m ./manifest.scm command.
<ieure>Doing what was the only fix?
<ieure>Copying the package definition?
<FuncProgLinux>quick fix*
<FuncProgLinux>And all of it's inherited versions until guix shell was happy basically...
<ieure>FuncProgLinux, Do you understand the difference between package name and symbol?
<FuncProgLinux>ieure: Yes, I think I'm doing a terrible job at reporting this due to language. I have a manifest that has a package definition that requires guile-json at native-inputs. Nothing else (originally), I've added the definition to a (packages->manifest) list inside another (concatenate-manifests list)
<FuncProgLinux>I have a clean copy. https://paste.debian.net/hidden/750c7ea3
<ieure>FuncProgLinux, Okay, I see. Can you point me to the exact line of gnu/packages/guile.scm which defines the `guile-json' symbol, then?
<FuncProgLinux>oh my 😶 so this is epiphany
<FuncProgLinux>So that's why you told me the string/symbol difference. I was mistaking those two in there.
<ieure>Yes.
<FuncProgLinux>Thanks a bunch, I have to stop relying on search name: tags and start using edit more :/
<ieure>No problem, happy to help.
<FuncProgLinux>I see these libraries get updates with inherited definitions, this is something I've seen too in other programming languages at guix. Is there a particular pattern for those? Or that's the best practice instead of simple version bumps?
<PotentialUser-23>i feel like this has an obvious answer but how do i install a package that was locally built? in other words, how do i sync my package repository so that the package is available to install?
<apteryx>you can install a store output directly
<apteryx>guix install /gnu/store/xxx-your-package
<apteryx>or from the same file it was built, e.g. guix install -f your-file.scm
<waffles>hey so when i tried to reconfigure my configuration.scm it would not allow me to upgrade i had to roll back to a commit from 9 months ago despite this being a fresh install
<identity>«it would not allow me to upgrade» is not quite descriptive
<waffles>lemme try pulling again see what happens
<waffles>maybe its updated since i left for work
<AliceAnD>you can git clone and pull from taht too if normal pull for some reason breaks. it is the only way in Hurd, and described in a shorter way in the blog post about Hurd on x86_64
<waffles>speaking of is there a way i can run hurd on hardware
<waffles>or is that a "wait until its ready" kinda thing
<identity>waffles: Hurd support for Guix is under development; you probably want to look at either childhurds, or some other Hurd distro
<waffles>im fine with guix for now im just excited for the stopgap to become reality
<AliceAnD>Debian Hurd is the most developed
<identity>look for ‹The Hurd in a Virtual Machine› in (info "(guix) Virtualization Services") for childhurds
<AliceAnD>yep, that's the best on guix now
<AliceAnD>I did get guix Hurd on hardware, but far from usable so far
<AliceAnD>or, not far
<identity>but not usable :3
<waffles>hey i run haiku on metal if thats possible anythings possible
<identity>yeah but i think you cannot reconfigure the system under Hurd yet, or something like that
<AliceAnD>you can't pull from online, must be local
<identity>that too
<waffles>alright so when i guix pull itll download latest commit. when i reconfigure it says commit is not a descendent of new commit
<AliceAnD>and only like 10 or 20% of the repo works
<waffles>so it says use allow-downgrades to force
<identity>waffles: maybe a force-push happened?
<waffles>yeah not sure i literally installed this like yesterday
<waffles>this is all so new to me and so confusing
<identity>i do not recall anything in particular, but perhaps there was a force-push since the release
<waffles>is there a way i can force it to update to latest commit
<waffles>or should i wait for bug to be fix
<identity>waffles: it told you how to do that
<waffles>the allow-downgrades?
<identity>yes
<waffles>oh that pulls a commit from 9 months ago
<identity>well that is weird
<waffles>which is why i asked about it in the first place i was trying to download yt-dlp and it pulled 25.09.23
<identity>yeah, for me the current yt-dlp is 2026.03.17
<waffles>yeah it is for me too now that ive guix pulled i just cant actually install it
<AliceAnD>do a local pull as a reset
<waffles>do i need a tarball or something
<identity>waffles: git clone https://git.guix.gnu.org/
<AliceAnD> https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix-pull.html
<AliceAnD>I advise a shallow clone
<waffles>ur not gonna believe this but i cant install git
<identity>i though so
<identity>thought
<identity>too many letters in that word
<AliceAnD>that's really weird
<AliceAnD>none at all? what happens if you add it to /etc/config.scm and rebuild
<AliceAnD>or guix shell
<waffles>well itll downgrade me to 9 months ag
<identity>waffles: could you pastebin a shell session of you trying and failing to do that?
<waffles>if u want me to downgrade to 9 months ago to install git i can do that
<AliceAnD>waffles: guix shell git
<AliceAnD>?
<waffles>got it
<AliceAnD>and didn't guix install work?
<waffles>hm thats not a repo tho
<waffles>im getting 404 on https://git.guix.gnu.org/
<identity>are you sure put the URL in correctly?
<AliceAnD>works for me
<waffles>no
<identity> <https://git.guix.gnu.org/guix/>, i guess
<waffles>yeah /guix was needed
<identity>but ‹git clone https://git.guix.gnu.org/› does not give a 404, it gives «fatal: repository not found»
<waffles>ok so now i guix pull --file something right
<identity>waffles: guix pull does not have a ‹--file› option; ‹guix pull --url=/path/to/checkout›
<AliceAnD> https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix-pull.html
<AliceAnD>use the manual
<waffles>i saw it yeah
<identity>(info "(guix) Invoking guix pull"), even
<waffles>ok so with guix pull --url=/home/user/guix its saying cannot locate remote-tracking branch origin/keyring
<identity>the local manual is more likely to be accurate than the hosted one, most of the time
<identity>waffles: you need to fetch the origin/keyring branch too
<waffles>lemme google
<waffles>need to get back into shell
<waffles>ok ive done local pull tried to reconfigure again still saying not a descendent
<identity>waffles: did you try downgrading, reconfiguring the system, and then pulling again?
<waffles>yeah i did that before
<identity>which commit is the latest commit of the repository you cloned?
<waffles>its looking like that was from 8 months ago
<waffles>and its trying to be a descendent of a commit from 9 months ago
<identity>does not answer my question
<waffles>sorry i cant copy paste it thats on another machine
<identity>just type the first 10 digits
<waffles>679c9b0d8b
<identity>waffles: and that is the same as what you get from ‹git log|head -n1›?
<waffles>no i get 4acc2765aa
<identity>which is the latest commit. then why does guix try to get 679c9b?
<waffles>idk i just ran the commands i was told to run :(
<identity>07:38 <identity> waffles: could you pastebin a shell session of you trying and failing to do that?
<waffles>maybe if i can install pastebin
<identity>…you do not need to install anything?
<identity> <https://paste.debian.net/>
<waffles> https://paste.debian.net/hidden/181520f3
<waffles>alright i think i gotta go to bed lmk if u have any insight
<identity>waffles: did you do what guix pull told you (i.e. setting PATH and running ‹hash guix›)? if not, that might be the reason why you got stale guix. logging out and back in should have the same effect
<adanska>is there a way to redefine an internal variable of a module and then rexport a function from that module that uses the new definition of the internal variable?
<adanska>what i want to do is to modify `open-connection` from (gnu services herd) to open a non-blocking port, then use `restart-service` that uses this new definition of `open-connection`
<loquatdev>Hello, everyone. Is there a good resource for using Guix on embedded platforms? Long story short, I'm building a phone with a spare SBC and some other parts. I'd love to power it with Guix.
<loquatdev>The only thing is that the system would be mainly read-only, since the storage chip is very fickle and likely couldn't handle multiple pulls or reconfigurations.
<loquatdev>I feel like I could at least use Guix to create a derivation that uses the necessary package files to create an image. Is aarch64 on Guix mature enough to do something like that?
<cdegroot>The hard part is probably more Grub than Guix. Once you got all the firmware setup and binary blobs loaded and generally are ready to boot, it's easy sailing. I don't think a ready made guide exists - do a lot of studying of other SBC platforms (like Raspbian, compare to Debian) and see what they had to do. Guix on aarch64 works fine, I'm typing this on Guix on aarch64. There's some #nonguix stuff (some electron apps) that doesn't
<cdegroot>work, but that's all I've noticed.
<cdegroot>(but I'm typing this on an aarch64 VM, so no difficulties in the bootstrap process for me :-))
<loquatdev>Alright, thank you. I'll look into those. At first I'll probably be booting over the network via u-boot to avoid writing my broken kernels several hundred times, so I'll save the problem of GRUB for later, haha.
<loquatdev>My stack will be pretty small so as long as I'm able to properly compile stuff the few things I need it should be a breeze.
<loquatdev>Is there a way I could remove the Guix daemon, services, etc from the system image since it'll be read-only on the machine?
<loquatdev>Would it be as simple as removing the guix-service-type?
<cdegroot>Never tried it but yeah, that's where I'd probably start digging in.
<cdegroot>(I do hope you have an aarch64 box that can do VMs available, because I shudder to think how slow discovering how to do this would be with just hardware :-))
<loquatdev>I think I do, thanks for the heads-up.
<yelninei>hmm the commit on the guix pacakge is quite old at this point
<psycotica0>loquatdev: Maybe I'm misunderstanding you, but have you looked at `guix pack`?
<psycotica0>It produces a tarball of all the static-stuff, without any of the guix parts.
<psycotica0>In theory you could bake that onto a ROM and run it on a system with no guix knowledge
<loquatdev>I think that could work as well. I'll add it to the list of things to try out
<yelninei>has anyone done x11 forwarding? it complains about not finding xauth on the server?
<RavenJoad>Is there an example of using shepherd as a channel dependency? I want my channel to rely on (shepherd support) for access to some variables.
<RavenJoad>Because right now I need to find the right commit and signer to put in my channel's .guix-channel file for Shepherd.
<ieure>RavenJoad, Guix channels can only depend on other Guix channels. I don't believe Shepherd has one.
<yelninei>the shepherd channel only is https://codeberg.org/shepherd/shepherd/src/branch/main/.guix/modules/shepherd-package.scm which only has shepherd from git main, not the shepherd modules itself
<RavenJoad>yelninei: How does it not have the modules? The package definition uses gnu- and guile-build-system, which should make the shepherd module sources available too, no?
<yelninei>RavenJoad: No the channel is only this https://codeberg.org/shepherd/shepherd/src/branch/main/.guix-channel. What do you need (shepherd support) for?
<RavenJoad>Without an introduction field in my channel dependency list, when I pull, I get guix pull: error: Git error: could not find appropriate mechanism for credentials
<RavenJoad>I want (shepherd support) for %user-log-dir.
<yelninei>For a service of yours?
<RavenJoad>I reworked some of my personal Guix home services to make sure all my logs end up in the same place.
<RavenJoad>In this commit, it was my Emacs server process launched by my user's shepherd instance.
<yelninei>you dont need your channel to depend on shepherd for that.
<jab>janneke: the "ext3/4fs" for the hurd was commited a few days ago.
<RavenJoad>I will try again, but when I pulled my channel earlier today, I got an exception "(exception misc-error (value #f) (value "no code for module ~S") (value ((shepherd support))) (value #f))"
<jab>janneke: https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00115.html
<yelninei>RavenJoad: As long as the code is properly quoted, guix does not need to know what %user-log-dir, as long as shepherd can evaluate it when it loads the service. Take a look at how the services in guix handle that
<RavenJoad>That's exactly how I found %user-log-dir actually.
<RavenJoad>This is the commit that I got hung up on earlier. https://github.com/ravenjoad/synnax/commit/b78cfc9c2d53421fa8c2f106d6a03968ff0587f6
<yelninei>RavenJoad: You need to import (shepherd support) in the modules of the shepherd-service not the modules. Take a look at home-dbus-shepherd-services
<RavenJoad>Ahh... I just saw that too.
<yelninei>also dont ungexp the %user-log-dir as it will be evaluated to early
<RavenJoad>So just ungexp the format? Or just lose the ungexp entirely?
<yelninei>yes. You want shepherd to evaluate (string-append %user-log-dir "....") itself when loading the service where (shepherd support) will be available (if you put in the modules of the service)
<RavenJoad>Ah. I had to remove it from the #:use-module list too, which makes sense. shepherd is not available as a module at "guix pull"-time.
<argp>o/
<waffles>identity: cant believe i didnt think of that ;w;
<identity>better late than never
<waffles>ya ill figure this out eventually just might have to be dragged kicking and screaming lol
<yelninei>janneke: _PATH_BSHELL is wrong in the cross-libcs
<yelninei>oh god it is a 11y old bug
<mov-eax>Hi, folks! Is there a way to search a package by its precise name, rather than by search term in all the attributes of a package? Like `guix search name:foo`?
<ieure>mov-eax, `guix show foo'
<mov-eax>ieure: wow... Never imagined that.
<argp>I'm trying to use ansible but its somehow not able to access my private SSH key and I get Permission denied from the server.
<ieure>argp, Do you need to use Ansible's become facility?
<argp>ieure: Yes, I'm using become in this playbook.
<ieure>argp, Not sure then, I'd try typical troubleshooting. Figure out what user it's trying to log in as, does `ssh -v that-user@that-host' work? etc.
<argp>Atleast from the ansible logs (with -vvvv) I can see that the first ssh connection cannot establish. I think the become will happen after that though.
<ieure>Yes, but I believe become also controls which user it tries to log in as initially.
<ieure>I don't use it much since moving most of my stuff to Guix, but I have run my preexisting Ansible playbooks with the Guix-packaged Ansible without any issues.
<argp>I tried the exact command that ansible prints and it works from shell directly. The same playbook works with Debian's ansible as well.
<argp>Tried with become set to false but still the same issue 😕
<argp>I have a hunch that it has something to do with how the ssh is accessing ssh-agent. Because other playbooks work when I use tailscale (with its built-in auth).
<argp>The running ssh-agent is from Debian
<cdegroot>What is SSH_AUTH_SOCK and is it pointing at the correct spot?
<cdegroot>(i mean, that - and afaik only that - is how ssh accesses ssh agents)
<argp>cdegroot: It was not pointing to the correct path but the path prefix was similar so I missed it.
<cdegroot>That's why I'm never afraid to ask "did you plug it in?" style questions ;-)
<argp>It works now, thanks! I'll also see if I can move systemd's ssh-agent to home-service instead.
<cdegroot>Simple enough to add it, no clue how to remove it from the clutches of systemd though. That thing insists on running everything.
<argp>cdegroot: Isn't that also straightforward? systemctl --user disable ssh-agent.socket
<cdegroot>I have no clue. We're in #guix here, where the Shepherd takes care of us all ;-) (we run Nix at work and that's all the systemd exposure I have these days but that's all driven by either Nix code or Terraform, no human touching)
<argp>I'm slowly chipping away the Host dependencies, eventually want to switch to Guix SD as well
<argp>The situation at my work is dire, Ubuntu 20.04 everywhere
<ieure>argp, Situation at my work is macOS everywhere, so, you're doing better than I am.
<argp>hah
<acidbong>what did SD originally stand for? system derivation? or distribution?
<mov-eax>It's me again.
<mov-eax>I'm trying to build very old software that uses cmake build system. I've created a build environment with guix shell, passing it desired packages, namely: gcc-toolchain, cmake, make, library dependencies. But cmake doesn't see gcc from gcc-toolchain, and instead uses gcc from host (I'm using guix on foreign distro). What I'm missing?
<csantosb>Are you using "guix shell -C cmake ..." ?
<mov-eax>No, I'm using "guix shell", then "cmake ..."
<csantosb>"-C" means "container", meaning, an isolated environment from the rest of the system
<mov-eax>No, I'm not using isolated environment.
<csantosb>This is probably why it uses gcc from host
<mov-eax>Usually there is no need, as I'm expecting cmake from guix to find everything other from guix as well, not from host. Is that correct?
<csantosb>Not necessarily, in my experience; but it depends on what precisely you're doing.
<ieure>mov-eax, Try `guix shell --pure'. That will adjust your environment so PATH (etc) will only point to the profile created with the packages you specify.
<mov-eax>I'm "just" invoking cmake on some project's CMakeLists.txt.
<mov-eax>ieure: will try that, thanks
<ieure>I am literally crumbling to dust at "very old software that uses cmake."
<ieure>I guess it's been around since 2000, but, it seems like it was pretty niche until maybe 5 years ago.
<mov-eax> https://github.com/alexf91/dht-explorer
<mov-eax>OS: Windows 11 Pro (26100) CPU: AMD Ryzen 7 5800H with Radeon Graphics MEM: 16 GB GPU: AMD Radeon(TM) Graphics (Vulkan) UP: 1 week 5 days 5 hours 58 minutes ago
<mov-eax>Sorry
<mov-eax>ieure: thank, --pure flag helped
<gabber>`guix shell espeak --pure -- espeak test` errors: "espeak_Synchronize() failed, maybe error when opening output device" i guess i'd have to add some input library for audio to work in a pure shell? but which one?
<ieure>gabber, What should it do? I ran it, the program runs and exits with code 0 without seeming to do anything, but doesn't print an error, either.
<gabber>it outputs audio (a voice says "test")
<gabber>in my setup it works fine without the --pure flag
<gabber>i guess it needs some -E regexes passed
<ieure>Yeah. `guix shell --preserve="^PULSE_CLIENTCONFIG$" espeak --pure -- espeak test' doesn't work.
<ieure>Not sure what else it'd need.
<gabber>there's another ^PULSE_ one (PULSE_CONFIG)
<gabber>but the error is gone now
<ieure>It also doesn't work with "^PULSE"
<ieure>Or `guix shell --preserve="^PULSE.*$" espeak --pure -- espeak test'.
<ieure>Maybe strace it or something.
<Guest10>is direnv what's most commonly used for automatically loading environments or is there a more guixy way
<ieure>Guest10, Direnv is as far as I know the common way, I believe they have direct Guix support. I personally don't use it, but that's my understanding.
<ieure>Guest10, The Guix Cookbook has a section about this.
<janneke>sneek: later tell jab: journaling for ext2? any idea if we need to do something special, other than upgrading?
<sneek>Okay.
<janneke>sneek: botsnac
<janneke>sneek: botsnack
<sneek>:)
<janneke>sneek: later tell yelninei: an 11y old bug, is it that hard to fix or did it get so little attention? where does it hurt us exactly?
<sneek>Got it.
<janneke>sneek: botsnack
<sneek>:)
<PotentialUser-21>Hey, I can't get my audio devices to work (the built-in speakers and microphone). All I get over at pavucontrol is a dummy speaker. I suspect there is something missing. I have installed Guix recently along with EXWM. Has anyone had a similar experience?
<ieure>PotentialUser-21, What hardware is this running on ?
<PotentialUser-21>The relevant devices or as generally as possible?
<ieure>PotentialUser-21, Computer make/model, if you know the specific audio hardware, that could also help.
<ieure>PotentialUser-21, The two most likely answers are: you didn't use %desktop-services in your operating-system (which has the audio stuff in it) and didn't add the audio stuff; or you have audio hardware which requires firmware to work.
<PotentialUser-21>I definitely use %desktop-services on my operating-system... I guess I'm screwed.
<ieure>PotentialUser-21, The firmeware is available in a third-party channel.
<PotentialUser-21>OMEN by HP Laptop 17-cm2xxx
<ieure>Yes, it looks like you need sof-firmware: https://forums.linuxmint.com/viewtopic.php?t=412560
<ieure>This is increasingly common on newer laptops.
<ieure>PotentialUser-21, #nonguix is the channel to ask about that.
<PotentialUser-21>00:1f.3 Multimedia audio controller [0401]: Intel Corporation Raptor Lake High Definition Audio Controller [8086:7a50] (rev 11)
<PotentialUser-21>01:00.1 Audio device [0403]: NVIDIA Corporation AD107 High Definition Audio Controller [10de:22be] (rev a1)
<PotentialUser-21>Ok, thank you very much for the help.
<k00s2>Hi all, anyone know of a package in the standard guix repository for an OIDC auth server like authentik/keycloack/authelia?
<ieure>k00s2, Looks like no. `guix search oidc' is what I used.
<simendsjo>Maybe not guix related, but I cannot get the sound card to work in a `guix shell --container --user=some-other-user`. My guess is that I need to do more than just exposing /run/user/1000/pulse/native. Ideas?
<stephen0>what? Soundcards need runtime blobs now?
<ieure>stephen0, Yes, many of them.
<ieure> https://github.com/thesofproject/sof
<ieure>Everything's a damn WinModem these days.
<k00s2>ieure: Thanks for searching along! I tried multiple search terms as well, but not much luck there. I'll see if I can create my own package then for Dex (golang), seems like the easiest to package option
<ieure>k00s2, The packaging is usually straightforward, making a service to run it properly is not.
<ieure>k00s2, Happy to assist if you want to go that route, or you can rip off the autofs-service-type / collectd-service-type code I contributed.
<k00s2>ieure: Ah, good to know. I've written some small package definitions for my desktop but haven't written any services yet. I think I'll start by reading "12.18 Defining Services" in the guix reference manual. Any other tips for learning about them? My knowledge on services is shallow
<ieure>k00s2, There IMO is not sufficient documentation for someone without experience to do well in this domain, unfortunately.
<ieure>k00s2, You're welcome to ask here, I also recommend shamelessly ripping off other stuff that seems to do what you want.
<ieure>It worked for me!