IRC channel logs

2026-05-21.log

back to list of logs

<vagrantc>ieure: the origins are gzip compressed, so i need to decompress them first ... but yeah, that sounds nice.
<vagrantc>ieure: this is basically trying to figure out how to do the patches in https://codeberg.org/guix/guix/pulls/8662 correctly
<vagrantc>ieure: currently trying to implement it in a phase ... have some better commits locally, although still struggling at how to apply the compressed patches as inputs from a phase
<ieure>vagrantc, Why not download the patch, stick it in gnu/packages/patches, and use search-patches? Is it very large?
<stephen0>I need lua 5.1 but if I guix shell lua I get 5.4. I see some lua5.1- prefixed packages, but how do I get lua5.1?
<ieure>bjc, Merely a happy accident. I've owned atomized.org since 2004, long before Guix even existed.
<ieure>stephen, `guix shell lua@5.1'
<vagrantc>ieure: that would be my naive approach, but at least one reviewer did not like that
<ieure>vagrantc, Buuuut... that's the normal way
<vagrantc>are there any other packages in guix where point releases are patch files on top of a tarball?
<ieure>Oh, kernel stuff.
<ieure>I don't know anything other than linux-the-kernel that releases like that.
<ieure>And I guess the Git repo is way too heavy.
<stephen0>ahh, so that's how it's done. Thank you, ieure !
<vagrantc>i guess just an opinion, and not really even in the review ... https://lists.gnu.org/archive/html/guix-devel/2026-05/msg00183.html
<ieure>stephen0, The manual could do a better job of presenting this info, but `(guix)Invoking guix package' defines the package specification syntax.
<ieure>vagrantc, You could add a computed-origin which decompresses the patch, and put that into the package's patches field.
<stephen0>Still, for the most part, I'm finding the guix documentation and tools to be a little easier to use than the nix ones.
<ieure>Never used Nix, took one look at how you define packages and stopped there.
<stephen0>I think maybe I like the abuse. I'm in a perpetual state of fumbling with nix, then having eureeka moments where I forget how painful it was to figure out how to do the thing that just clicked. Then I repeat.
<stephen0>Despite my lack of familiarity with lisp, guix seems more straightforward.
<ieure>I understand Guix and Nix share a good amount, I think the core skills are very transferrable. But even though Scheme is my least favorite Lisp, it's way, way nicer than the Nix stuff.
<ieure>90% of the weirdness of Lisp is understandable with two principles: Function calls put the paren on the left side of the function, and don't need commas between arguments; and everything looks like a function call.
<ieure>Maybe three, I guess.
<stephen0>Yeah, I liked the nix language better than lisp until I started to configure a system for daily use in guix.
<vagrantc>i like guile precisely up until i hate it
<vagrantc>right now i am on that latter part of the problem
<PotentialUser-26>hi! in my config.scm file, i notice ive forgotten to place the field initializer bootloader-file-systems. i dont know where i should put this initializer however, should it be placed under bootloader?
<mlxdy>Hello, how about Thinkpad X13 with GNU Guix?
<mlxdy>I have AMD one.
<mlxdy>Wifi probably need properiatery firmware, but is it possible to use GPU without binary blobs?
<vagrantc>where is string-match defined?
<vagrantc>e.g. what module do i need to import to be able to use it?
<mwette>vagrantc (ice-9 regex)
<vagrantc>mwette: odd ... added that but it still was not available
<vagrantc>anyways ... found a git repository with all the patches applied ... so rather than distort my take on reality ... seems more reasonable to switch to use git.
<mwette>I've been experiencing some weirdness w/ regex routines.
<PotentialUser-26>can i share my config.scm here? im having errors where its saying im missing a bootloader-file-system initializer but i dont know where to put it in my file.
<ieure>mlxdy, I'm typing this from an X13 Gen 2 AMD, it works fine with Guix, but I use firmware blobs.
<ieure>PotentialUser-26, Yes, but put it in a pastebin service, and paste the URL in the channel. Do not paste your configuration directly in the channel.
<PotentialUser-26>ieure ok! thanks. i will do that!
<aloys> /msg *controlpanel set autoclearchanbuffer $me false
<aloys>(sorry, ignore!)
<PotentialUser-26>ieure here you go! https://pastebin.com/cvJtsaCJ
<ity>I have many problems using Guix.
<ity>So I went back to NixOS.
<ity>One of the most unbearable things is that guix pull is too slow.
<ity>It seems I have to re-execute it both when I using my own user and root.
<ieure>ity, You shouldn't `guix pull' as root at all.
<ieure>PotentialUser-26, You have an extra ) on line 49.
<ity>But I think guix system requires root.
<ieure>I am not sure what you mean by "guix system requires root."
<ity>sudo guix system reconfigure config.scm
<ieure>You do not need to `guix pull' as root to reconfigure the system.
<ieure>There are a small number of extreme exceptional cases where you may need to `guix pull' as root; that is not one of them.
<ieure>ity, When you run `sudo guix system reconfigure', that runs your user's `guix' binary (obtained by running `guix pull' as that user) as the root user. root's `guix' is not even used in that case.
<PotentialUser-26>ieure thanks for noticing! i had another error; line 14? i think im forgetting a use-module.
<ity>magic
<ieure>PotentialUser-26, You are correct. See the README for that channel, there is an easier way to do this now.
<PotentialUser-26>ieure thanks! i will!
<ity>I have another question about the substitute-urls.
<ieure>Ask away. You don't need to ask permission to ask.
<ity>sudo guix system reconfigure config.scm --substitute-urls="https://substitutes.asahi-guix.org https://substitutes.nonguix.org https://bordeaus.guix.gnu.org https://ci.guix.gnu.org"
<ity>It seems I need to add this parameter every time.
<PotentialUser-26>ieure sorry for bothering you again but i *think* there is another error on line 44. i think i have a service missing but i dont know what it could be.
<ity> https://codeberg.org/ity/dotfiles
<ity>This is my configuration. Some parts were done by AI.
<ieure>ity, You need to add the other substitute URLs and keys into your operating-system configuration. The nonguix channel has a transformation procedure for doing that, see their README. I don't know about the other channel. You could adapt this transformation procedure I wrote to do it: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/system/profiles.scm#L117
<ieure>PotentialUser-26, Line 44 is a comment in the paste you sent. The only services I see are openssh, xorg, %desktop-services, and all those modules appear to be getting used. What's the error?
<ieure>ity, The two guix.gnu.org URLs are the default ones in Guix, you only need to add the other two, then you can stop specifying every time.
<PotentialUser-26>ieure a `field must contain a list of services error`.
<ieure>PotentialUser-26, Incorrect nesting, %desktop-services is inside the (list ), it should be inside the (append ).
<PotentialUser-26>ieure thanks again! i didnt notice it!
<ieure>PotentialUser-26, No problem!
<aloys>ity: how did you go with asahi-guix? If there are no subsitute servers, it could explain the slowness of 'guix pull'? A `guix pull` on my tiny VPS takes only a couple of minutes (once a week).
<apteryx>is there a reason why /dev is writable inside a Guix container?
<apteryx>I thought everything was immutable by default, since a recent change.
<stephen0>Is there a package that will give me a cc command? Neither gcc nor clang added one.
<apteryx>export CC=gcc
<ieure>That.
<apteryx>usually is enough
<apteryx>else if you're dealing with FHS-reliant software, you can try in a guix shell --container --emulate-fhs
<apteryx>it'll give you /usr/bin/cc IIRC
<ity>aloys, I need to wait 10 mins at least.
<stephen0>the environment variable works
<stephen0>thanks
<apteryx>ity: perhaps you could deploy to the target, instead of building everything there? assuming you have a beefier workstation available to deploy from
<apteryx>'guix deploy' builds things locally by default
<ity>No. I only have a Macbook.
<ity>NixOS provides excellent support.
<ity>I feel there's no difference between it and the x86 platform.
<ity>By the way, I am going to learn Haskell now. But I will learn scheme soon.
<ity>So I will come back when I familiar with scheme.
<ieure>ity, `guix pull' takes 3m11s on my five-year-old ThinkPad X13.
<stephen0>I can `guix shell lua@5.1` but what do I put in my (packages (list...?
<ieure>stephen0, `lua-5.1'.
<stephen0>ah, there we go. thanks
<pkingstonxyz>Hey, quick question, I'm trying to install a recent version of blender and saw this PR https://codeberg.org/guix/guix/pulls/6746/files -- The diff is pretty big, so is it in need of a rebase or are *all* of those changes necessary for a working blender install?  In other words, can I just grab the package definition or do I need everything else?
<ieure>pkingstonxyz, Not sure, try the package definition only and if that doesn't work... you need more.
<pkingstonxyz>+2 Lol I'll try that then
<apteryx>stephen: you can use (map specification->package (list "lua@5.1"))
<apteryx>(adding the rest of your packages to the list)
<apteryx>assuming this is in a manifest or similar
<stephen0>I didn't want a mix of specification->usage and just plain inclusions... it's in my guix-home-config.scm.
<stephen0>That being said, I have no idea what the difference is.
<ieure>stephen0, lua-5.1 directly refers to the symbol to which the lua 5.1 package value is bound; specification->package is a procedure taking a package specifier as a string, which may return the package value, if it refers to one Guix knows about.
<stephen0>The advantage being I wouldn't have to have an import that defines the symbol?
<stephen0>err, use-module
<ieure>Yes, that is an advantage.
<stephen0>Are there others?
<stephen0>Also, is it just me, or does guix seem to have newer packages than nix?
<ieure>stephen0, Consistent syntax for referring to package versions. On the downside, it's slower and there's no guarantee the specified package exists.
<ieure>It's a matter of taste.
<stephen0>ah, I haven't been using specification package at all. I found it easier to add the symbols. I could search/show and look at locatoin for the module, so I already had the details I needed to add whatever I was looking at.
<neonio>hi guix, does anyone here play window games on guix? i haven't been able to get the bottles or lutris flatpaks to work
<Hamled>I haven't tried it before, but have you seen https://apps.gnome.org/Cartridges/ ? it is packaged for guix
<neonio>Hamled: it seems Cartridges is just a way to organize/launch games already installed
<neonio>it's not a windows game manager itself
<Hamled>ah, okay
<Hamled>well there may be guix packages for game launchers/runtime managers that are not part of the official guix distribution
<apteryx>wasn't it possible to do 'guix shell -m manifest.scm hello gdb ...' to add extra packages?
<apteryx>only the manifest is considered
<guix-btw>does anyone know any guides on how to do a btrfs encrypted install?
<ieure>guix-btw, No guide is needed, choose those options from the graphical installer, which offers them.
<guix-btw>ieure: does it use btrfs?
<ieure>guix-btw, I don't understand your question. Does the Guix installer use btrfs?
<ity>Have you tried rootfs as tmpfs?
<ity>The / is mounted into RAM. I'm asking ieure.
<ieure>ity, I haven't tried it.
<guix-btw>ieure: yea
<ieure>guix-btw, What does it matter what the installer uses? The filesystems it supports for the installed system seems the more relevant question, don't you think?
<ity>The advantage of this is that the data is lost every time you reboot.
<ity>Only the data in the configuration is retained.
<ity>This ensures that the system and configuration are almost identical.
<ieure>ity, I understand. Guix is already very resistant to state drift by its nature.
<ieure>Since you can't modify packages at all, and the current & past system states are themselves immutable store items.
<vagrantc>there are some files in /etc and whatnot (e.g. passwd, shadow, group, etc.) that are a bit stateful
<ity>However, you can still install software using guix insta.
<ieure>ity, That installs it into the user's profile, not the system.
<ieure>ity, `guix system reconfigure' is the only way you can install packages into the system profile.
<ieure>vagrantc, Yeah, there are definitely places where state goes, I think /etc /var and /tmp are the main ones.
<ieure>You can specify user passwords in your system config, but since Guix doesn't have a facility to manage secrets, I would not advise it.
<ity>sops-guix?
<ieure>Yeah, I'm aware of it. Haven't used it, though. Guix really needs something like that built in.
<ity>Why build in?
<ity>I am using sops-nix now.
<ieure>Because it seems like critical functionality that shouldn't require wrangling an addon.
<ity>bozo16, hi!
<bozo16>hi :-)
<ity>This requires a private key. For example, you store the private somewhere, and then automatically decrypt it during reconfiguration.
<ity>It actually a service. It automatically puts the decrypt files into /run/secrets
<jlicht>do we have some kind of heuristic to determine which builds can be restarted by random folks? I keep getting 403 forbidden when trying to restart this one:
<jlicht> https://pulls.ci.guix.gnu.org/build/3120901/details
<jlicht>(yet others from the same PR worked, arguably 'smaller' packages though)
<futurile>morning
<futurile>jlicht: I didn't think there was anything beyond a certificate that authorised you to restart builds (e.g 'admin' level)
<jlicht>Yeah I recall there being something like that, but I seem to be able to restart _some_ builds, yet not others. Both without any certs
<futurile>weird
<kestrelwx>Hello!
<kestrelwx>Oh, there was like a 5 year anniversary of this channel.
<Duongph2098>Hello guys. After installing guix without any errors, I see no boot option in the bios menu. What might be the issue?
<identity>a number of things. for a first, see if the partition table looks weird
<Duongph2098>identity: Hi. No, I chose the default whole partition without encryption
<identity>not what i said
<identity>boot into the installer again, get a shell and run lsblk
<Duongph2098>Give me a minute
<identity>if it looks like you expect, then also check that both /sys/firmware/efi and /boot/efi exist
<identity>(i use the second directory as a proxy for grub-efi being used, but i am not sure how accurate that is)
<Duongph2098>identity: It has 1 efi partition, 1 swap, 1 root
<identity>next i would try mounting root to /mnt, the efi partition to /mnt/boot/efi, and try guix system init /mnt/etc/config.scm and see if that creates the boot option
<kestrelwx>Might be a Secure Boot thing.
<kestrelwx>Might be a Secure Boot thing.
<identity>yeah, check your boot settings in the BIOS
<Duongph2098>Hmm... Mounted root and no efi :)
<Duongph2098>root@gnu /mnt# ls
<Duongph2098>bin  boot  etc    gnu  home  lost+found  mnt  tmp  var
<identity>boot?
<identity>the efi partition goes in (/mnt)/boot/efi/
<identity>which is where you have to mount it
<identity>if ‹guix system init /mnt/etc/config.scm /mnt› does not create the boot option, try creating it manually with a path like ‹FS0:\EFI\Guix\grubx64.efi›, or whatever the syntax is supposed to be
<Duongph2098>I got this error
<Duongph2098>root@gnu ~# guix system init /mnt/etc/config.scm
<Duongph2098>guix system: error: wrong number of arguments for action 'init'
<identity>yeah, you need /mnt at the end
<Duongph2098>Okay
<Duongph2098>'Kind of' the same as chroot I guess
<Duongph2098>I reboot and the problem persist
<Duongph2098>I'm not sure how to proceed with the second option (FS0:\EFI\Guix\grubx64.efi)
<Duongph2098>Can you give me some keyword about that so I can searcg by myself?
<Duongph2098>Nvm I asked claude
<identity>Duongph2098: creating a boot option manually? there should be a button somewhere near where you configure the options—
<identity>ACTION sighs
<tbennett>Hello, I'm trying to update the Guix ArchLinux package to the latest version but I have trouble building 'guile-gnutls'. I opened an issue in codeberg https://codeberg.org/guile-gnutls/guile-gnutls/issues/92 but the project seems not really active. What are your recommandations? For once, I can try fixing it by myself. Would refresh and mostyl improve my skills with C related projects.
<futurile>tbennett: I don't think I understand, it builds fine with 'make' then, but fails on make check?
<futurile>tbennett: the 'make check' seems to be failing on finding libgnutls.so.30 - do you have that in the environment?
<futurile>tbennett: oh you said that at the top, that is odd - try using LD_PRELOAD or whatever the equivis
<tbennett>Thank you, I'll try with that. I'm completely new with GNU build system, so I'm learning at the same time. From my understanding `./bootstrap` checks for the presence of `gnutls` and finds it (along with all supported algorithms). And what I under
<futurile>tbennett: yeah - I haven't built this project so there can definitely be variation - but normally the flow is something like ./bootstrap -> configure -> make -> make check
<tbennett>...stand, `make` looks for a local copy of the library (located in `guile/src/.libs`) and doesn't find it. If that's correct, I don't understand why.
<futurile>tbennett: either bootstrap or configure should be figuring out that all dependencies are met
<yelninei>tbennett: can you run ldd on the guile-gnutls so ? Do you have gnutls installed in a nonstandard location?
<switchy>fwiw I just built guile-gnutls from git in an arch podman container and didn't run into any issues...
<futurile>it's referring to two separate libs right: so it's built guile-gnutls but it's telling you it can't find 'libgnutls' which is the standard system library one
<tbennett>From my package manager % yay -Q | rg gnutls :(
<tbennett>gnutls 3.8.13-2
<tbennett>guile-gnutls 5.0.1-1
<tbennett>guile-gnutls-debug 5.0.1-1
<futurile>so you have to have the first of those installed - gnutls 3.8.x - that's a requirement to build
<tbennett>thank you switchy, seems that the error is on my end then.
<tbennett>yep -Q query installed packages only
<futurile>if configure/make don't show you any errors/hints then what yelninei suggested is the way to start, as that will show you where it's looking for libs
<tbennett>I will further investigate then and keep you notified. Also, maybe close the issue, if it is confirmed that it is a bad configuration on my side. Thank you for your help.
<switchy>I wonder if it's because you have an active guix profile, so it's not looking for any system packages and it's somehow not in your guix environment?
<switchy>anyway, ldd would be my first thing to check
<tbennett>I keep that in mind. Ty
<Duongph2098>identity: I'm having trouble running efibootmgr. Please help
<Duongph2098>I guess I have to chroot and then run something like `efibootmgr --create --disk /dev/sda --part 1 --label "Guix" --loader '\EFI\Guix\grubx64.efi'`. Is that correct? After mounting and chroot-ing basic commands like `ls` doesn't work.
<Duongph2098>They all returns command not found
<Duongph2098>I guess it has something to do with Guix's binary file not under /bin
<Duongph2098>But I couldn't find the way to chroot in Guix in the manual
<efraim> https://guix.gnu.org/manual/devel/en/html_node/Chrooting-into-an-existing-system.html I use this when I need to recover my system
<Duongph2098>Thanks alot efraim
<robin>whois jab
<robin>(not here :))
<mlxdy>Is it possible in guix to open root encrypted with LUKS from initramfs?
<mlxdy>By default it's done in grub and it's really slow.
<mlxdy>I made nonencrypted boot and efi partition.
<stephen>has anyone used the libvirt service on guix? I added it to my config, added the extra group to my user, the service comes up, but if I run virt-manager, it can't connect to qemu:///system
<mlxdy>Omg Guix installation is so long, I think that it compiling whole kernel haha
<bjc>stephen: all i do is run the libvirt service and add “libvirt” and “kvm” to my user's ‘supplementary-groups’
<switchy>stephen: did you restart your shell or whatever so you actually picked up the group?
<stephen>I su - user, restarted the service, and even logged out and back in.
<stephen>it's certainly in my user's groups
<switchy>does it work with virsh?
<stephen0>tried a few mroe things and then rebooted, now I'm not sure what cleared the issue up.
<switchy>but it works?
<stephen0>it does
<switchy>close enough!
<stephen0>apparently I need to configure virtlogd before I'll be able to create vms
<switchy>huh, that's the first time I've even heard of that, I guess it's usually transparent
<ieure>stephen0, I have used libvirt, here's a transform which does the stuff to enable it: https://codeberg.org/ieure/atomized-guix/src/branch/main/atomized/system/profiles.scm#L525
<stephen0>okay, I see why you like transforms.
<ieure>They are extremely good.
<vagrantc>so ... i stick a #:use-module (ice-9 regex) ... in the top of gnu/packages/ncurses.scm ... but then it spits out the error: Unbound variable: string-match
<vagrantc>is string-match really in ice-9 regex?
<vagrantc>where is string-match?
<Jold>hi everyone, a quick question: i hate the fact that installing and unisntalling pkgs always leaves traces and creates files that are not deleted automatically. can guix fix this problem for me?
<Jold>i am thinking about trying guix. i use void and arch now
<sham1>Unfortunately Guix doesn't know just what sorts of files an application will create, so files for example under ~/.config or /etc will remain even after the package is uninstalled
<Jold>.ocnfig is easy to prune. my problem is if there are files in the etc and usr and whatever
<identity>vagrantc: it does look like string-match is in (ice-9 regex); that might just be an unhelpful error message
<identity>Jold: …the only file in /usr is /usr/bin/env
<Jold>like i want to be able to run every couple of weeks a command that goes like ok except these dirs that im told to not touch, i will rebuild the entire thing and nuke anything that is not bolted down
<identity>or are you on foreign distro?
<Jold>im using void (personal) and arch (work) atm
<vagrantc>identity: unhelpful error messages seem to be the forte of guile
<stephen0>I haven't seen any artifacts left behind like on other distros yet. Just user-level stuff from running programs.
<vagrantc>since string-match is avoiding me for personal reasons, i just implemented it in a case statement in the callout to shell!
<vagrantc>ACTION cackles maniacally
<vagrantc>ACTION invokes Cunningham's Law
<yelninei>vagrantc: you dont need regexes to match a string suffix, there is "string-suffix?"
<ieure>Anyone have a suggestion for a pastebin service I can upload to with a CLI? 0x0.st disabled uploads because of AI spam.
<untrusem>bpa.st?
<ieure>Made it work with netcat.
<k00s2>Hi all, what's the best way to manage a Guix server on Hetzner from a git repo (ideally auto-updating from main)? I've tried: 1) Deploying VM images (causes downtime and wastes bandwidth), 2) guix deploy (I got errors with Hetzner), and 3) SSH + guix system reconfigure (works, but server-side compiling adds too much load). Any tips or suggestions?
<robin>k00s2, for hetzner errors, see https://floss.social/@guixotic/116564294379619809 with recent fixes; i think the (merged) changes are in https://codeberg.org/guix/guix/pulls/8538
<k00s2>robin: Thanks! I'll try the `guix deploy` route again then. If it works, I think it is the most promising direction
<damals>Hello, i have a problem with my tor config on guix, i want to use a tor bridge declaring on torrc file but when i start the tor service it gives me error code 1:
<damals>2026-05-21 17:31:17 May 21 17:31:17.000 [warn] Managed proxy "/home/<>/.guix-profile/bin/obfs4proxy" having PID 24 terminated with status code 1
<damals>                (service tor-service-type
<damals>                         (tor-configuration
<damals>                          (config-file (local-file "/home/<>/.config/tor/torrc"))))
<ieure>damals, Please use a pastebin, don't paste in the channel.
<damals>Oh ok, sorry for that
<damals>I'm new with IRC
<ieure>All good.
<ieure>damals, Not sure what's wrong, I'd recommend running obfs4proxy manually with your configuration to see why it's not running. Noting that you're using a user configuration file for a system service, which is inadvisable.
<damals>ieure so its better to declare a obfs4proxy package on system to use the package properly?
<ieure>damals, No.... I'm saying that tor-service-type is a system service, but you're giving it a configuration file controlled by a user. This is a security issue, since you're allowing a user to determine the configuration of a program running with root privileges.
<ieure>I don't know if that's the cause of your problem or not, but it's a bad way to do things.
<damals>Sure. Makes sense
<damals>Thanks for the tip
<ieure>No problem.