IRC channel logs

2024-03-01.log

back to list of logs

<qecep>anyone has an advice for replacing pavucontrol for pipewire in guix? I'm using pipewire and wireplumber, but most volume applets require a gui, I could use alsagui but probably losing pipewire features, there is kpipewire but i'm assuming it would install kde-plasma...
<nckx>adamnr: 'Fixed'.
<dthompson>qecep: replacing pavucontrol because you don't want a gui or because it doesn't work for you?
<qecep>dthompson I'm using pipewire instead of pulseaudio, pavucontrol is pulseaudio only not?
<qecep>where can I find informations about the xdisorg module?
<qecep>oh wait, maybe I'm starting to understand, so the modules I can load of the gnu packages are under /gnu/store/hash/gnu/packages, and I can examine under the hood there for what it does and what it install?
<dthompson>qecep: if you use pipewire-pulse then pavucontrol works as does all other pulseaudio stuff
<dthompson>that's what I do
<qecep>am I missing something? guix search pipewire-pulse output nothing
<qecep>I'm probably running the stable version and I need to upgrade to the latest?
<andreas-e>qecep: pipewire-pulse is a symbolic link to the pipewire binary from the pipewire package.
<qecep>oh strange, because when I click on the "open the mixer" in the applet it says it can't find pavucontrol
<qecep>could i use a wildcard * like gnu packages *?
<dthompson>qecep: if it helps, here is the source with the home services I'm using https://git.dthompson.us/guix-config/tree/dthompson/home/pipewire.scm
<peanuts>"pipewire.scm ? home ? dthompson - guix-config - My Guix System configs" https://git.dthompson.us/guix-config/tree/dthompson/home/pipewire.scm
<dthompson>afaik nothing has been upstreamed to make this really easy in guix yet
<qecep>thank you very much people
<qecep>oh i see and then you import the pipewire.scm in config.scm or they are automatic and you just call the module pipewire?
<isaneran>Hello guix!
<beastwic1>how does one get the hash of a git commit?
<beastwic1>like if the method is git-fetch is it just the git hash?
<beastwic1>commit hash*
<isaneran>beastwic1: you mean with guix download?
<isaneran>guix download --git --commit=...
<beastwic1>I am trying to update a package, it checks out a git repo, so I am getting a hash mismatch error now that I changed the version.
<isaneran>yeah
<beastwic1>okay do the download above to get the hash?
<isaneran>so if you run the command above it will give you the hash
<isaneran>you just have to set the commit to the actual one
<isaneran>ah you also have to give it the repo url of course
<isaneran>as the last argument
<beastwic1>yes, so it just output the store path and no hash
<beastwic1>wait sorry my terminal width is narrow
<beastwic1>I think I see it
<beastwic1>I am also a dummy, the logs output the expected vs actual hash lol
<isaneran>you can also update a package with guix refresh
<rimarko>hi beastwic1
<rimarko>in a git checkout you can run this:
<rimarko>guix hash -x --serializer=nar .
<beastwic1>much thanks, it is building
<beastwic1>so I got an unbounded variable error after I added an input. As far as I can tell the input is available in the guix repo
<beastwic1>oh do I need to add a use-module decl
<beastwic1>yikes this is surprising command "make" "-j" "16" failed with status 2
<beastwic1>nevermind I found the issue
<beastwic1>is there a guix irc channel for packaging?
<freakingpenguin>Hi Guix! I want to set up a substitute server that automatically builds packages & operating-systems from various channels. Are guix-publish-service & guix-build-coordinator-service what I need?
<yelninei>freakingpenguin: there is the cuirass-service https://guix.gnu.org/manual/devel/en/html_node/Continuous-Integration.html
<peanuts>"Continuous Integration (GNU Guix Reference Manual)" https://guix.gnu.org/manual/devel/en/html_node/Continuous-Integration.html
<beastwic1>after building a guix package, is it automatically installed?
<beastwic1>because I still see the old version
<freakingpenguin>yelninei: Thanks! That looks like it'll work.
<dariqq>hi, is it possible to restart shepherd services via udev?
<evilsetg>I want to use the `(@ (shepherd service repl) repl-service)` in my guix home config to extend home-shepherd service. Is this possible?It seems I need a `shepherd-service` to extend home-shepherd-service but it
<evilsetg>seems the repl-service is of a different kind. Is there any way to make that work?
<wingo>anyone have experiences, good or bad, with distrobox on guix?
<wingo>not sure whether to go guix system + distrobox on a new desktop or stick with safe ubuntu
<dthompso`>daviwil tried distrobox on guix on a stream last week and may have some thoughts (though he's probably busy at the moment since he's about to go live again)
<dthompson>I've done guix + an ubuntu vm successfully but never used distrobox
<daviwil>Yeah, I wasn't able to get it to work because podman needs a special cgroups setup and something from elogind was blocking it
<beastwic1>Trying to run updated obs-studio on a foreign distro, the older version launches fine. I am getting this error: error: Failed to get EGL display using eglGetDisplay.
<beastwic1>is this something that can be fixed?
<beastwic1>I have nvidia on the host, but I didn't think it would be an issue.
<erikeah>Hi, guys I'm still struggling with the dynamic linked libgcc_s.so
<erikeah>I have a huge win by executing binaries with 'LD_BINARY_PATH=$LIBRARY_PATH ld.so here-my-binary' and installing (list (@@ (gnu packages gcc) "lib") on my home profile.
<erikeah>HOWEVER, I'm still looking for a definitive and elegant solution.
<erikeah>For this I'm calling for help :) I would like to know how I could set ld to search on my $LIBRARY_PATH automatically
<erikeah>Because at this point is just looking at glibc
<qecep>beastwic1 that kind of error is when there are problems with the drivers, missing or not loaded
<podiki>erikeah: look at guix shell --container --emulate-fhs perhaps
<podiki>(that's what it is for basically)
<erikeah>podiki: i dont need a container, which I would like is to have libgcc_s dinamicallly linked, this will allow me to execute binaries from non compiled by guix.
<erikeah>the main problem i see is that the librsry cannot be found because the is not in searxh path of the linker
<erikeah>...because the libgcc_s.so.1 is not in the search path of the linker. Instead is on my home profile
<reedm>Does anyone know if there is a guix package that provides this library? libgcc_s.so.1
<erikeah>gcc but is hidden
<reedm>is there a way to unhide it?
<erikeah>so to install the lib you have to guix install -e (list (@@ (gnu package gcc) gcc) if Im not wrong
<reedm>will that work with "guix shell" as well?
<erikeah>excuse me the command for the lib is incorrect add ”lib" after gcc
<erikeah>reedm: I have not try that
<reedm>erikeah: like this (list (@@ (gnu package gcc) gcc-lib))?
<erikeah> I got an internet bridge, could you send any message related to my issue sent on the last 10 minutes?
<reedm>erikeah: like this (list (@@ (gnu package gcc) gcc-lib))?
<erikeah>for me works like this (list (@@ (gnu packages gcc) gcc "lib")
<erikeah>)
<podiki>erikeah: well guix's glibc doesn't load from a global ld cache, the one in emulate-fhs does. so it can be easier, though yes have to set up the container with what you want
<podiki>the fhs shell can more easily run binaries (that's part of why it is designed the way it is), see https://guix.gnu.org/en/blog/2023/the-filesystem-hierarchy-standard-comes-to-guix-containers/
<podiki>you can of course keep adding to LD_LIBRARY_PATH or use patchelf, and so on. pick your poison :)
<erikeah>🫠
<erikeah>Why guix prefers this current behaviour?There is any architectural explanation?
<podiki>the main point, as you've seen, is that guix uses absolute paths to the store (/gnu/store/...) for libraries for good reasons and by design. to do otherwise you need to work around that
<podiki>yes
<podiki>for instance, to have different versions of the same software for different users
<podiki>or to use a mix of library versions for different programs
<erikeah>Makes sense
<podiki>as well as reproducibility I would say
<podiki>it lets us do the cool guix features, but means it breaks with just about any other distro in terms of expectations of where things are and how they run
<podiki>got to run for now, good luck!
<erikeah>very annoying, i have strong feeling at this time
<erikeah>in one hand Im loving guix but in another one Its making me hard to use it
<reedm>erikeah: is this the exact command?
<reedm>guix install -e (list (@@ (gnu packages gcc) gcc "lib"))
<reedm>I'm getting a bash error
<erikeah_>install do not support expression to install it use home or system configuration.
<erikeah_>the command for shell is 'guix shell -e "(list (@@(gnu packages gcc) gcc) \"lib\")"'
<erikeah>reedm: if you put "(list (@@(gnu packages gcc) gcc) \"lib\")" in your system.scm will work also, but as said by podiki... this libraries are useless
<reedm>Thanks!
<RavenJoad>Is there an automated way to add to an environment variable inside of a containerized "guix shell"? I need to append another include path to CPLUS_INCLUDE_PATH, namely GCC's C++ bits path. Guix uses a different path structure and it is messing with CMake.
<trnry>So I've been figting Kicad with Guix on a foreign distro a bit now. Kicad can't load any of the standard library of stuff because the symbol path environment variables aren't search paths like Kicad is treating them as
<trnry>For some reason on my foreign distro (Fedora), my profile's etc/profile is getting sourced multiple times resulting in these kicad path variables being the same path repeated several times separated by colons. If I comment out the distro's zprofile and whatnot I can reduce the total amount of repeats, but that feels wrong
<trnry>Any suggestions on how to fix this? Does the kicad package need to be changed to set these environment variables to a more correct value? Is there something I can do to prevent my distro from duplicating native search paths?
<freakingpenguin>Does anyone have an example of using cuirass with custom jobs? I'm getting a symbol->string error when resolving a custom module, but not when I try running the code myself.
<freakingpenguin> https://paste.debian.net/1309175/
<peanuts>"debian Pastezone" https://paste.debian.net/1309175
<adamnr>nckx: thanks#
<human_equivalent>Hello guix. Is the syntax in this blog post really as it should be? The part with "(service openvswitch-service-type)" https://guix.gnu.org/en/blog/2020/running-a-ganeti-cluster-on-guix/ ?
<ekaitz>hi I need some packaging trick. I have configure phase that hangs when erroring, i need to be able to see the config.log but as it hangs it stays forever. How can I see it?
<ieure>ekaitz, I'm not sure if there's a better way, maybe `guix shell -D your-package', then `tar xf $(guix build -S your-package)' and run the configure steps manually?
<ieure>I don't know if there's some way to `guix shell -C' to get an environment in a container without networking, which is closer to how the build works.
<ekaitz>ieure: the extra difficulty is i'm in --system=riscv64-linux
<ekaitz>does that change things?
<ekaitz>let's try meanwhile
<ekaitz>ugh it's trying to download and recompile the world
<ieure>ekaitz, Ah, yeah, that does make things harder.
<ieure>ekaitz, Honestly not sure here. If you `guix build -K your-package' and C-c the build once it hangs, is the config log in the build directory?
<ieure>ekaitz, Another option here is to do some real low-grade debugging: Wrap your configure step in ltrace. I often lean on strace/ltrace to get a look into what software is doing when it misbehaves.
<ekaitz>that doesn't keep the build directory
<ieure>It's not a sophisticated technique, but that also means it pretty much works the same for everything and never breaks, since it doesn't need exotic setup.
<lilyp>lemme guess, you have a handy wrap-in-ltrace macro on your stash just for that?
<ekaitz>yeah I can try to strace that!
<ekaitz>good idea
<ekaitz>lilyp: how would that hypotetical macro look? :)
<lilyp>(define-syntax-rule (with-ltrace body ...) magic beyond here)
<ekaitz>i could've guessed that part :)
<ekaitz>the magic is the part i'm pretty sure i couldn't
<ieure>I don't have any macros to ltrace stuff, I was using the strace/ltrace trick decades before Guix existed.
<ekaitz>i'm trying some cool tricks, we'll see how it oges
<ekaitz>goes*
<ekaitz>damn but I want the x86_64 strace here
<ekaitz>and it's giving me the riscv64 one
<ekaitz>and it wants to build the world :)
<ekaitz>it seems like the easiest way to do this is to patch the package to explode properly
<ekaitz>instead of hanging
<ekaitz>lol killing the process from the outside works to keep the build dir!
<ekaitz>C-c doesn't
<ekaitz>but kill does