IRC channel logs

2025-11-03.log

back to list of logs

<untrusem>how to have audio in browsers using guix shell container feature
<untrusem>I am using wayland
<untrusem>tried doing this too
<untrusem>guix shell -C -N --no-cwd --preserve='^DISPLAY$' --share=/run/user/1000/pulse --expose=/tmp/dbus-tnc0G2K5f0 --share=$XDG_RUNTIME_DIR/wayland-1 --share=$XDG_RUNTIME_DIR/pipewire-0 --preserve='^DBUS_.*' --expose=/sys --expose=/dev/dri --share=/run/dbus mesa-utils librewolf gdk-pixbuf mpv coreutils -- librewolf
<pomel0>I have two problems with my guix install that idk how to solve yet. First, is that this laptop on guix shuts off after being in suspend mode for a while. Where is the acpi behaviour set in guix and how can I change this?
<apteryx>pomel0: if elogind-configuration may have some switches exposed to configure ACPI behavior
<apteryx>would someone have ideas of how to fix: output (`/gnu/store/8m3wsb489hwxkbplq5b0nc45jbxvgr29-zstd-1.5.6') is not allowed to refer to path `/gnu/store/j4h8f8nbllgi24jip50mhjc4jg0wain0-gcc-cross-boot0-14.3.0-lib'
<apteryx>that's on the add-compress-debug-symbols-phase branch, where I've added a zstd-final package
<apteryx>but this was building fine until I added the new mmap stuff. Perhaps skipping the stripping phase can cause this? I don't see why it would, but that's the only thing that I can think about.
<redacted>Processes launched within River, the Wayland compositor, don't inherit the environment River was started in, so the environment variables for my user's Guix profile are not set.
<redacted>I'm finding little information online about how global environment variables on Wayland are supposed to be set.
<redacted>Oh hang on
<redacted>Ah, nevermind
<redacted>Looks like Guix Home is sourced in /etc/profile, which gets sourced by non-login shells.
<redacted>But ~/.guix-profile is not sourced in non-login shells.
<redacted>oh wait, it is?
<apteryx>re strip phase, I guess the stripped debug sections can refer to extra libraries compared to the rest of the binary, and that when stripping them to the void, this reduces the number of captured references
<vhns>tyil: we discussed that earlier, I think (?)
<vhns>Wrong channel, I am sorry.
<redacted>Weird. My system is behaving as though gdm-wayland-session-wrapper had launched a non-login shell.
<redacted>Not sure where I can find the current gdm config
<adanska>im currently developing a rust program, how do I make cargo use guix-vendored crates outside of a build sandbox?
<adanska>specifically for *-sys packages
<apteryx>still hitting this often: "guix shell: erreur : all build users are currently in use; consider creating additional users and adding them to the `guixbuild' group", despite having a single build ongoing
<apteryx>'guix shell --max-jobs=1 ...' is a workaround for the above
<sham1>All the build users are in very intense usage
<futurile>morning al
<futurile>all even - more coffee clearly
<sham1>Morning AI
<jlicht>apteryx: thanks again (again) for the lock-mount fix!
<apteryx>o/
<jlicht>and thanks any and all who contributed to the fix/QA of course
<apteryx>Thanks to Wojtek for providing the original fix!
<mononoke>hello, very quick question: is the help-guix mailing list having problems? I've tried to send something that way a few times since yesterday and the archive doesn't seem to reflect that. I'm not sure if the problem is on my end, I suppose it must be, but I haven't yet had any other issues with sending mail, and all things seem to point to the thing
<mononoke>being delivered
<apteryx>the lists are moderated, so if you are new there can be delays waiting for a human to review the queue
<mononoke>oh ok, that is a relief in any case since I sent the same thing a couple of times thinking there was an error. oops
<apteryx>no worries
<mononoke>(sorry mail list moderator!)
<attila_lendvai>if i don't have emacs directly installed for my user, only as part of my home config, then i get this error: guix-emacs-find-autoloads: Opening directory: No such file or directory, /home/x/.guix-profile/share/emacs/site-lisp
<attila_lendvai>is that something in my config, or is that expected?
<Rutherther>attila_lendvai: How does your EMACS_LOAD_PATH env var look like?
<attila_lendvai>Rutherther, yep! it has the .guix-home/profile/share/emacs/site-lisp 4 times, .guix-profile/share/emacs/site-lisp twice, and /run/current-system twice
<attila_lendvai>i guess that's not normal...
<attila_lendvai>and i don't remember messing with that variable myself
<Kabouik>Hey #guix. What would be the alternative to pipewire-media-session (mentioned here: https://bbs.archlinux.org/viewtopic.php?id=283835) for us? I'm looking into fixing screensharing in WebRTC apps in Wayland+Firefox.
<Deltafire>log out, log back in using Xorg
<Deltafire>i tried this a couple of weeks ago, after allowing permission to share my screen (or app windows), it logged an error message to the terminal stating that it didn't have permission
<Deltafire>same with obs-studio
<Kabouik>I think it should be handled when having xdg-desktop-portal-wlr (I use Sway) and pipewire; but I have both installed and Firefox still can't share windows or even its own tabs (Chromium could do that, but I'm trying to move away from it since it's unlikely we'll get updates from it).
<Kabouik>I guess there might be some required configuration for Pipewire to actually be used.
<Deltafire>it almost works.. the permissions dialog pops up with a thumbnail of the desktop & app windows
<trev>i heard that wlroots portal works with individual windows now. maybe it's in a newer version, Kabouik ?
<Deltafire>i didn't have time to look further.. using Xorg does work and i only needed to use it for a few hours
<Kabouik>I don't get this. Just https://0x0.st/KLvr.png but allowing doesn't help
<Kabouik>I'd need to update trev then, I'm a few weeks behind, but even my version doesn't allow sharing the full screen, which I think should work. What's surprising is Chromium could share its own tabs even months ago on my system, so somehow Firefox has an extra limitation.
<Kabouik>Yeah my old Chromium can still share its own tabs; but it's not future proof; I think Chromium will be droped from the main channel (if it was not already), and anyway it can only share its own tabs, not desktop or other apps.
<sham1>Well the replacement of pipewire-media-session is wireplumber, but yeah, you'd also need a portal implementation most likely
<Deltafire>this is what i get: https://x0.at/nepQ.png
<Deltafire>then "warning: [camera-portal] Failed to create session, denied or cancelled by user"
<Kabouik>I have wireplumber installed too but don't really know how to use it. I ran `pipewire` in a terminal, then `wireplumber` in another, then restarted Firefox, but the same issue persists.
<Deltafire>starting pipewire & wireplumber fixes the issue for obs
<Kabouik>In OBS, I never was able to configure the virtual camera thingie, I'm getting a "Starting the output failed".
<Kabouik>I am able, however, to stream windows, but I need them in WebRTC applications for videoconferencing.
<Kabouik>What is the application in the screenshot you shared Deltafire? Is that a browser or a videoconferencing client? Looks like Zoom.
<Deltafire>OBS, but the dialog is the same as when I'm using Chrome, so I assume it's coming from Gnome
<Kabouik>Right, that'd explain why I don't see it; not using Gnome
<attila_lendvai>Rutherther, and FTR, i've removed the emacs package from my profile, then guix home reconfigured, then logged out and back in, and now i only have the /run/system and the ~/.guix-home paths in my EMACSLOADPATH (multiple times, though). but at least the emacs startup exception is gone.
<janneke>how do i add a rust-crate as an input to a package?
<janneke>i've tried something like: (inputs (list foo bar (cargo-inputs 'alacritty)))
<janneke>to get the alacritty crate closure...but it seems someone needs unpack these?
<janneke>i've tried ((@@ (guix build-system cargo) expand-crate-sources) (cargo-inputs 'alacritty)) .. but it seems the <#input > should (first?) be changed into a proper package?
<janneke>hmm, clamav might be a helpful example
<redacted>cargo-inputs returns a list
<redacted>Which I realize might not be your actual problem
<janneke>yes, sorry; i meant (append (list foo bar) (cargo-inputs 'baz))
<redacted>You can use (cons* foo bar (cargo-inputs 'alacritty)) too
<janneke>yeah thanks, it seems i finally found a non-cargo-build-system packages that uses crates :)
<redacted>Ah, I see. Took me a second. Didn't realize the build system is what imports cargo-inputs.
<redacted>And thus your problem.
<redacted>Despite doing exactly this recently.
<redacted>Sorry for jumping in with irrelevance
<janneke>np, talking is always helpful
<csantosb>What is the correct way to refer to all packages in a module ?
<csantosb>Something like `guix lint -c cve -e '(@ (gnu packages electronics) ...)'` ?
<simendsjo>package source can be a single local-file, but how can I pass more than one local-file?
<kjartanoli>local-file has the #:recursive? argument
<kjartanoli>Assuming the local files are in the same directory
<simendsjo>kjartanoli: Thanks! It's no problem to put the files in a subfolder. Worked perfectly.
<kjartanoli>Glad to hear it.
<futurile>Guix Days: tickets are now live - registration is open on the Wiki and tickets through Open Collective - https://libreplanet.org/wiki/Group:Guix/FOSDEM2026 and https://opencollective.com/guix-foundation/events/guix-days-2026-33f30f0e
<untrusem>ahh, sad I can't be there :(
<trev>does anyone use helpful.el in emacs? was wondering how you can get it to show built-in lisp function source in guix...installing the emacs doc output helped with C-source but doesn't seem to do anything about lisp source
<untrusem>I use helpful.el
<untrusem>I haven't used helpful.el for guix, I just recently started using geiser-guile to look up definations
<trev>untrusem: i'm not installing it using guix, just using package.el. still use it often though in emacs
<untrusem>ohh, I use guix to install emacs packages, and helpful.el in my default *help* now in emacs, have you tried geiser?
<trev>yeah, but i'm talking about writing elisp. i do use geiser for scheme stuff and guix config
<untrusem>elisp? you just tried helpful.el on `dolist` fuction https://paste.debian.net/1404351/
<jab>weird question...anybody here played blender's latest game, walk the dog ? I'm curious how hard it'll be to package that for guix...
<untrusem>is your helpful buffer shows information like this? trev
<ieure>helpful.el says it's an enhanced *Help* buffer, so I wouldn't expect it to work with anything other than elisp stuff.
<ieure>eldoc-mode is pretty good for cross-language function definitions and the like.
<untrusem>btw got torbrowser running in guix container shell, uuf that was a ride https://paste.debian.net/1404352/
<untrusem>with sound I mean
<untrusem>btw how would just get the libs from the `gcc-toolchain` package
<untrusem>gcc-toolchain:libs doesn't seem to work
<ieure>You're exposing so much there, I'm not sure the container buys you much.
<untrusem>ohh I have too otherwise no sound
<untrusem>actually yes, I would cut out few things
<untrusem>could*
<ieure>System D-Bus and is a huge attack surface.
<untrusem>I think I would need dbus for sound, let me try removing that
<ieure>Probably not, Pulse has a D-Bus interface, but it's really, really dumb.
<ieure>All it does is return the path to the PulseAudio socket.
<ieure>Which runs its own D-Bus, not connected to the system bus.
<Rutherther>I am not sure getting gcc lib is possible with specifications due to the (Stupid imo :( hope it will be removed at one point ) alias
<untrusem>I read some older post and it that they used `gcc:lib` for a shell
<snamellit>I have a manifest.scm to run my static site generator locally. I'd like to run that in CI with a github action on forgejo. Is there an image which runs tasks after creating a guix shell in the project folder?
<untrusem>ok I don't have sound if I remove dbus things
<untrusem>the post I was talking about - https://equalsraf.github.io/articles/2023-11-04-guix-containers-for-browsers.html
<ieure>snamellit, If you're running `guix shell' in the project folder, what do you need an image for?
<snamellit>ieure: I want to run it on CI/CD after push. To ensure everything on the site is coming from the git repo
<untrusem>so I think the example in guix fhs post also don't have sound then, and it won't also be able to play videos https://guix.gnu.org/en/blog/2023/the-filesystem-hierarchy-standard-comes-to-guix-containers/
<snamellit>pffftttt... I find github actions 100x too complicated for what it is supposed to do.
<mrh57>when running guix on a vps (qemu image), there seems to be a memory leak in the shepherd
<mrh57>not sure how to go about diagnosing it
<ieure>need a memory plumber
<mrh57>ieure: 👀
<mrh57`>something about it that's interesting is that it leaks faster the more shepherd services are running, but the processes themselves don't leak
<ieure>I know there have been some recent Shepherd memory leaks, but I thought they were fixed.
<ieure>Haven't been following closely.
<mrh57`>when was this?
<mrh57`>do you have any links to commits/prs/mails?
<mrh57`>ieure:
<ieure>mrh57`, Not handy. Earlier this year, in the summer.
<identity> <https://codeberg.org/shepherd/shepherd/issues/40>
<identity>‹Inetd services leak memory›
<mrh57`>identity: thanks! I'll have to try out some of those workarounds/monitorings, hopefully the bug will reveal itself soon enough
<cdegroot>Is it an actual leak or just GC being lazy?
<cdegroot>(never looked at Guile and how it GCs and whether you can force one... just a general first question I ask when troubleshooting systems with automatic memory management)
<pomel0>hi everyone
<tux0r>ahoy
<pomel0>i have an open(?) question. How do you manage your environment variables on guix? I am doing it through the guix home configuration file but it's giving me problems with a program
<ieure>pomel0, That's how I do it. What problem are you having?
<pomel0>(specifically, grim, a screenshot tool for wayland. idk why but even if I do `echo $GRIM_DEFAULT_DIR` and see that the directory I chose is there, it doesn't save the images there)
<padtole>hey i dunno anything about wayland, i'm text mode for now, but you can inspect the environment variables of any process with `tr \\0 \\n < /proc/PID/environ` and see the process tree of PIDs with `ps -Af f`
<padtole>with a little effort you should then be able to see where in the tree your variable isn't being propagated
<ieure>Good advice, I always forget that you can look at the env of processes through /proc.