IRC channel logs

2026-04-18.log

back to list of logs

<ekaitz>dajole: great time to improve
<dajole>True; I won't have time for a few weeks, but I might give it a shot then.
<ekaitz>dajole: i'll be here waiting for that. If you need a hand, let me know
<dajole>Will do, thanks!
<PotentialUser-94>Hey! I saw GNOME finally got updated to 48! Will the other versions take as long? One of my requirements for considering guix full-time is a GNOME on at least the latest old-stable
<ekaitz>PotentialUser-94: they'll take shorter if you help
<ekaitz>but i think this case was specially problematic because some GNOME decisions
<PotentialUser-94>I've had a project idea cooking in the back of my head for a while (an alternative GNOME shell with a guile extension language), maybe that'd be useful
<PotentialUser-94>Afaik GNOME shell is the only part of GNOME dependent on systemd, and my shell will probably be built on weston
<nox>> but i think this case was specially problematic because some GNOME decision
<nox>it's not a real GNOME release without problematic decisions
<nox>could it be possible/doable/interesting to read an init.el file and extract all the `emacs-` package Guix needs to run this Emacs file? how would one go about it?
<apteryx>pinentry is broken when installing to ~/.guix-home/profile instead of ~/.guix-profile because gnupg only looks in the later (per the gnupg-default-pinentry.patch carried in guix)
<apteryx>another reason I'm questioning why guix home doesn't simply use ~/.guix-profile, which seems to be *the* user profile (I don't see the point of having two)
<apteryx>lilyp: hm, if I put (setq-default guix-emacs-verbose t)` in `~/.emacs.d/early-init.el`, I can see autoloads of each packages loaded *multiple* times. Maybe we need to dedupe a list somewhere in guix-emacs.el?
<lilyp>perhaps, though another explanation would be autoloads loading autoloads
<lilyp>is every package loaded a set number of times? if so, how often?
<untrusem>nox: make a function that extract names of the package
<apteryx>ugh, pinentry is broken after installing it to ~/.guix-home/profile (via guix home) instead of ~/.guix-profile; anyone walked that path before?
<meatoid>hi guix, how do I refer to a file within a package's store item in scheme?
<meatoid>specifically, I want to refer to '60-openrgb.rules' file in openrgb in my `udev-service-type` configuration instead of copying the massive file into my config
<adanska>why is it that even after installing guile-fibers to my package profile (guix install) it wont be accessible when i spawn a repl? is there some other load path that i need to include?
<Rutherther>adanska: 1. you also need guile in that profile, 2. if you've just installed first guile package, you will need to relog or source the etc/profile manually
<adanska>thanks rutherther :)
<adanska>that worked a treat, thanks Rutherther
<kestrelwx>Hi
<kestrelwx>apteryx: I use the home GPG agent service and it accepts a path to pinentry to use.
<nckx>meatoid: Look into file-append (it's in the G-Expressions section of the manual + many examples in the Guix codebase). Sounds like what you want.
<nckx>It is indeed what you're ‘supposed’ to do rather than copying files out of the store. Brr.
<cluelessguixer>First method results in only the first key being recognized while the second method results in only the second key being recognized. What am I missing? https://bpa.st/KC7A
<kestrelwx>The first looks right.
<cluelessguixer>Should have checked the resulting /etc/ssh/authorized_keys.d/host from the start. It appears the second entry requires a newline, otherwise the keys just end up on the same line.
<cluelessguixer>Haven't checked if local-file behaves the same, so maybe this is a plain-file specific thing?
<nckx>Neither add newlines.
<nckx>That would be more surprising than expecting you to add any newlines you need yourself.
<nckx>(How would you create a file without a newline? ‘#:auto-add-newline? #f’? Etc.)
<abbe>hi
<abbe>whenever I launch some OpenGL program, e.g. alacritty
<abbe>I get messages like: 'gfx1152' is not a recognized processor for this target (ignoring processor)
<abbe>I'm on amd gpu/cpu
<abbe>so I'm wondering if I need to install something for these warnings to go away, assuming they're caused due to missing infrastructure for OpenGL GPU
<abbe>thanks in advance
<nckx>abbe: I don't know much about AMD, but that's a fairly recent (2024) GPU. They aren't known for their support of free software. It's possible that the GPU doesn't (fully) support Guix at all.
<cluelessguixer>For the garbage-collection-timer example in the following, shouldn't it be run as a regular user? https://guix.gnu.org/manual/1.5.0/en/html_node/Scheduled-Job-Execution.html
<abbe>nckx: thanks for the reply. I've seen AMD known more for their free software support (than nvidia), and I do see in LLVM release notes support for this.
<cluelessguixer>Or does running it as root also run it for all users?
<Rutherther>cluelessguixer: you're confusing multiple concepts, gc is user agnostic.
<Rutherther>cluelessguixer: you probably mean cleaning up older profile/home/system generations and indeed this service will not do that
<cluelessguixer>Rutherher: Thanks. Actually ran "sudo guix system delete-generations" recently and cleaned like 50-60 GB, lol! Currently rewriting mcron jobs into shepherd timers.
<cluelessguixer>freed 50-60GB*
<nckx>abbe: A good benchmark is ‘is the functionality I want supported by Debian without installing any nonfree/contrib stuff?’. If so, then Guix probably could™ be made to support the same. If not, then it's… unlikely.
<meatoid>hi guix, how do I refer to a file within a package's store item in scheme? specifically, I want to refer to '60-openrgb.rules' file in openrgb in my `udev-service-type` configuration instead of copying the massive file into my config
<meatoid>i have been messing around in the repl but i can't get an expression that seems to output the file path
<nckx>meatoid: Did you see this? https://logs.guix.gnu.org/guix/2026-04-18.log#121343
<nckx>But file-append isn't special magic. If you're inside of a #~gexp, writing #$package will always evaluate the package's store directory as a string.
<meatoid>i did not, thank you
<meatoid>i see, in the repl it just says `#<file-append #<package openrgb@...> "/lib/...">` so I couldn't tell if it was doing what I wanted
<nckx>Yeah, that's… G-expression magic. Now I completely understand why you couldn't figure it out. They are magical objects that won't become regular strings until you evaluate the G-expression in a Guix build.
<nckx>meatoid: ☝
<meatoid>yes, G-expression magic is one of those things that makes understanding guix hard
<meatoid>since it breaks the idea of everything Just Working in the repl
<ieure>meatoid, If you put the udev rules in the correct location in your package's output, you don't need to refer to the specific file.
<ieure>There's a convention for this.
<ieure>meatoid, ex. for my emacs-blight package, it ships udev rules which grant write access to the backlight brightness control file in sysfs. And all you have to do to use them is add (udev-rules-service 'blight emacs-blight) to your operating-system services.
<meatoid>i see
<ieure> https://codeberg.org/guix/guix/src/branch/master/gnu/packages/emacs-xyz.scm#L8750
<ieure>They go in lib/udev/rules.d
<meatoid>so a package also counts as a udev rule in this case?
<ieure>meatoid, Not really. The udev-rules-service will include any rules from the package. The `udev-configurations-union' and `udev-rules-union' procedures handle this.
<nckx>A package is still a package, but udev-service-type will do the right (or at least convenient) thing when passed a package in its list of ‘rules’, and look for rules in the above directory.
<ieure>It will look in both lib/udev/rules.d and libexec/udev/rules.d -- but the former is much, much more common.
<ieure>What I mean is, packages generally have their rules in lib, not libexec.
<ieure>meatoid, Basically: The thing you are trying to do manually is already done for you automatically.
<meatoid>i see
<cluelessguixer>I've had a shepherd timer go awry, meaning it hangs herd with regards to itself (including herd status which would list it). How would I go about stopping it if I can't use herd to do it?
<cluelessguixer>I've had some difficulties trying to find the process using ps...
<cluelessguixer>Yes, an AI cooked up how to run bash scripts with timers and gave me this: https://bpa.st/IDUA
<cluelessguixer>I can only assume the problem is exec-command.
<ieure>cluelessguixer, You will have to find the PID and kill it, `ps axufwwwwwwww' and look for commands matching yours.
<ieure>There are examples of timers in the Guix manual.
<bartk>hello
<ieure>Hi
<nckx>sneek: Later tell bartk Hello.
<sneek>Okay.
<nckx>sneek: botsnack?
<sneek>:)
<cluelessguixer>Turns out my system is experiencing some spooky issues, possibly related to hardware, which is probably why the timer hung. Hopefully it's nothing. Anyway, got my timers figured out now.
<Hamled_>How can I debug guix home reconfigure to determine what tasks it's performing? Running it right now it ends after having memory allocation errors, using something like 50+ GB at that point. There's no output prior to the allocation errors, and the CPU load and memory usage are in the guile process running the command, not the guix daemon or any builder afaict
<ieure>Hamled_, You could bisect your configuration.
<ieure>Hamled_, Comment out half the services, try reconfiguring. Works? Problem is in the stuff you commented out. Still fails? Problem's in the uncommented part. Repeat un/commenting until you find the offending service.
<Hamled_>yeah fair enough, i only changed one tiny thing but i haven't rebuilt it in a while and so I'm assuming it's using a more recent commit from the channels
<ieure>Yeeeessss, but it should not use 50gb of RAM in that, or basically any, case.
<ieure>Hamled_, Every time you `guix home reconfigure', the configuration is saved in the store. You could diff your current config against the last generation's, or reconfigure using the last working config and the current guix.
<Hamled_>oh good point
<nixfreak>Hello , I want to install the latest kitty terminal 0.46 , guix package right now is only 0.22.x so I am looking at package transformations
<Rutherther>the reason it's so old is because it's not easy to upgrade
<Rutherther>so transformations won't help you
<nixfreak>I need c compiler with I have gcc-toolchain and go compiler and xorg dev files I guess to build kitty
<nixfreak>oh really
<nixfreak>why won't transformations work ?
<Rutherther>use this PR instead https://codeberg.org/guix/guix/pulls/7705
<Rutherther>because the package has changed a lot, look at the MR
<kestrelwx>ieure: They could have a situation similar to the issue you've filed for inheritance? Although, that's not that likely.
<Rutherther>transformations just change the source or do simple changes like replacing one input for another, they don't do magically add dependencies or change how the whole build workd
<ieure>kestrelwx, Could be.
<kestrelwx>Good night!
<nixfreak>ok , so the pull request is based on terminals.scm , is it that easy to just replace the file ?
<Rutherther>just use their branch to install kitty, no reason to replace anything
<Rutherther>... something like guix time-machine --url=https://codeberg.org/trevarj/guix --branch=update-kitty-0.46.2 --disable-authentication -- install kitty
<nixfreak>ok never used time-machine before .. have to look into it .. thanks
<untrusem>how to refresh all packages in a file?
<untrusem>solved
<untrusem>use `-s` option
<Air4x>Hi everybody, I ask again for help with packaging edopro. Now I'm able to compile everything and to "install" it (by writing a custom install phase), but when I try to execute it (directly from the store) it crashes whining about no stencilbuffer or doublebuffering. Here the package definition: https://paste.debian.net/hidden/3b48564b and here the error https://paste.debian.net/hidden/0cfe70bf
<lullaby>How would I install nslookup on guix? When I `guix search nslookup` it reference BIND. But after `guix install bind` I still don't see nslookup installed.
<mwette>What do you mean you don't see it? `which nslooup' works for me, after `guix shell bind'
<podiki>lullaby: it is in the "utils" output
<podiki>install use bind:utils (i guess shell gets all outputs)
<podiki>actually do need "utils" output for shell too
<lullaby>podiki: Okay, I saw "utils" output mentioned but I didn't understand what that meant.
<podiki>unfortunately in this case it didn't have a documentation on "guix show" to say what was in it (i just checked manually)
<podiki>"guix shell bind:utils -- nslookup" should work
<podiki>"guix shell bind" won't (maybe what mwette saw was because they have nslookup already)
<mwette>oops, I got /usr/bin/nslookup; with `guix shell bind:utils' I get /gnu/store one.
<mwette>I'm on foreign, and being sloppy.
<lullaby>`guix install bind:utils` worked
<lullaby>!