IRC channel logs
2023-06-19.log
back to list of logs
<SeerLite[m]>If I upgrade my local user packages but don't reconfigure my system, I get some glibc/locale related errors with some user packages and they refuse to open (e.g. tmux). Is that expected? Is the system expected to be up to date with user profile packages? Or is tmux missing glibc or something as an input? <rekado>ACTION goes to try it on the huge store at work <brettgilio>Has there been any attempt at packaging gnome-remote-desktop for Guix? Asking so I don't dup any effort <brettgilio>Guest28 we will need your config to know what happened <SeerLite[m]>Hi! Is it just me or does time-machine currently not play well at all with third party channels? It seems to be completely focused on the main channel. Has there been discussion about this before? I couldn't find anything relevant on mailing list archives <Guest28>you can use -C for a scheme file with additional pinned channels <SeerLite[m]>Yeah, but it's annoying to deal with IMO. I wish there was a way to roll back to a state where every channel is stable in relation te each other without having to figure out the commits manually <Guest28>if you are only concerned about the main channel, there is something like --version=1.3.0. but yes, it is a pain if you have multiple channels and they all need to be compatible. had gone through that some week ago <SeerLite[m]>Yeah, it'd be nice to have a --date argument or something <brettgilio>Should I use the installer script or the debian package on Debian stable? <kimjetwav>brettgilio: I'd say use it if you're comfortable. I used the installer script for my Debian partition. <kimjetwav>brettgilio: due to the isolated nature of package installs everything gets chunked into a very small number of places so even without an "official" .deb, it's easy to remove if you later want to. <kimjetwav>brettgilio: The main reason the installer script wants root privileges, in case you're worried, is it lets guix set up its store directory as read-only with a read-write mount in its own namespace, which is how the immutability of the packages works. <brettgilio>could I, in theory, use guix's gnome package and point gdm to initialize it? Not saying I am, just curious if that would actually work <kimjetwav>brettgilio: Kinda not really. Certain things don't work well on a foreign distro simply because they put dependancies in your user profile, which then conflict with that Debian's desktop isntallation uses. <kimjetwav>brettgilio: Like, you /can/ do, but if a thing you install via guix under debian puts something in your path/environment, which then gets incorrectly discovered by debian stuff, that can create issues. <kimjetwav>brettgilio: For instance, having... desktop libraries in your guix profile under debian, if they are loaded at login, will cause your debian desktop to find the guix-managed libraries, and if they're versioned wrong, or whatever, that might not work. <kimjetwav>For example I can't have emacs pgtk via guix under debian, but I can have normal graphical emacs, because the pgtk emacs puts a runtime dep in your environment, and then if I log out, the next graphical login session finds that and gives me an error. Whoops, `guix package --roll-back`! <kimjetwav>But it really depends. Things which are fairly self-contained programs are generally very fine. <carmenshea[m]>I'm trying to get emacs-eaf running in Guix. I am recieving the following error: dbus-call-method: D-Bus error: "org.freedesktop.DBus.Error.ServiceUnknown", "The name org.gnome.Shell was not provided by any .service files" How do I create a .service file for .org.gnome.Shell? <carmenshea[m]>For context I'm running Guix with a Wayland / Sway setup. Emacs is Emacs-next-pgtk 29.0.91 <HiltonChain[m]>I think you should install the package providing "org.gnome.Shell" to the profile. <carmenshea[m]>HiltonChain[m]: Thanks for responding. I cannot find any package that does this, and to make matters worse how do I add it to the profile. (I've figured out how to edit my home.configuration.scm file...does it go there?) <HiltonChain[m]>IIRC D-Bus uses $XDG_DATA_DIRS, on Guix it's set for guix home, guix system and guix package. <carmenshea[m]><HiltonChain[m]> "IIRC D-Bus uses $XDG_DATA_DIRS..." <- Cool, so what do I specifically add to home.configuration.scm to get org.gnome.Shell running as a .service? <carmenshea[m]>I have installed Gnome-shell from Guix packages...but that doesn't seem to do anything. <carmenshea[m]>HiltonChain[m]: Thank you. I'm assuming you're pointing out that this is a known issue, but no fix for it yet? <HiltonChain[m]>There's a possible solution from the comments, is your $XDG_CURRENT_DESKTOP set? <Zambyte>Hey I just logged on after this convo started, could someone fill in the question? I just dealt with setting XDG_CURRENT_DESKTOP to sway on my machine for screen sharing :D <HiltonChain[m]><carmenshea[m]> "So the syntax should be $..." <- Yes, set XDG_CURRENT_DESKTOP to "sway". <HiltonChain[m]><Zambyte> "Hey I just logged on after..." <- For screen sharing, xdg-desktop-portal and xdg-desktop-portal-wlr should be installed, and there should be a D-Bus session bus. <HiltonChain[m]><HiltonChain[m]> "Yes, set XDG_CURRENT_DESKTOP to..." <- Then gnome-shell is not needed. <Zambyte>Yeah, I had those two installed, but to make sure that XDG_CURRENT_DESKTOP was set, and I also had to use `dbus-update-activation-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK XDG_CURRENT_DESKTOP`. Then it started working for me <brettgilio>kimjetwav How do you get guix desktop applications to populate the GNOME application menu on Debian? <brettgilio>I feel like this is something useful for the cookbook <kimjetwav>brettgilio: They should do automatically if you've configured your environment correctly. <brettgilio>Yeah it should seem that XDG_DATA_DIRS is not finding my profile <kimjetwav>I just have this in my `.profile', as per the manual: <kimjetwav>brettgilio: Like literally those two lines in my .profile are the only setup I have (on the Debian side) and it just auto finds everything else. <brettgilio>For whatever reason your snippet did not come through <kimjetwav>brettgilio: Ahh, rubbish. I am having weird net connection issues. <kimjetwav>Yeah, I actually don't even have XDG_DATA_DIRS upset at all. I just have GUIX_PROFILE and GUIX_LOCPATH in my .profile. <kimjetwav>Since .guix-profile/etc/profile sets XDG_DATA_DIRS itself. <kimjetwav>Yeah, it's pretty automatic, you just gotta have it chained in at the correct point. <unwox>guix locate is awesome, thank you everyone who worked on the feature! <Guest2234>I want to boot Guix on T43 using PXE and another laptop. I need the boot "file." <tao[m]1>When writing file-like objects is there any alternative to writing multi-line files out without \n that doesn't introduce spaces the resulting file? <gabber`>are there examples floating around where u-boot is simply copied to a file-system instead of written to a device directly? <tao[m]1>Sorry, that wasn't very clear. I mean if you write the file without \n and just write it into the object with carriage returns and spaces, your resulting file will have many spaces if you're trying to e.g. make one line fit under the other. I've just been using \n and writing the object entirely in one line but this is unwieldy. <apteryx>gabber`: u-boot-ts7970-q-2g-1000mhz-c-bootloader does that (on top of producing a syslinux boot config) <gabber`>how can i install u-boot on the first partition of the disk-image i'm creating? i don't think this partition actually has a mount-point within the bootable GNU/Linux system <gabber`>i guess the initializer field in the partition attributes is to be used for that :) <efraim>I didn't realize we had a go team but no one in it <efraim>does anyone have access to the output of 'lscpu' of a POWER8 machine? <gabber`>trying to get an initializer gexp to do what i want i keep running into this error message: https://termbin.com/8877l . currently the initializer field is just: (gexp (lambda _ (display 'foo) (newline))) <gabber`>what is supposed to be a list that isn't one? <panosalevro>does anyone know how I can set up pipewire with JACK on guix? <bjc>as it happens, i've been working on providing a pipewire home service, but i have never used jack. if you have a simple way to test jack functionality, i'd be happy to add it to the home service <bjc>i just didn't want to put in something i had no clue about in the hopes that it might work <gabber`>panosalevro: do you have concrete issues you're struggling with? i have it set up -- but on one of my machines at home <gabber`>bjc: something like "mpv --ao=jack test.wav" should work when set up correctly <panosalevro>bjc, gabber: my main issue is getting pipewire to work with zrythm. zrythm can't detect any sound driver (it mainly expects JACK but should work with pipewire too) <gabber`>i have (or had?) managed to get SuperCollider to work with my pipewire installtion on Guix (actually, only via pipewire, not via ALSA/pulse or otherwise). IIRC i started pipewire manually(?) together with wireplumber from my desktop's init file. do you have pipewire up and running? <bjc>gabber`, panosalevro: thanks. i'll give them a try when i can carve out some time <panosalevro>gabber`: `ps aux | grep pipewire` confirms I do (sorry for the 2 previous msgs) <attila_lendvai>i just got this from `guix search foo`: /gnu/store/ad8351jvj61da279a3ddfs2gmk3whvdq-guile-wrapper/bin/guile: symbol lookup error: /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE <panosalevro>btw any DAW people packaging software for guix here? we could really use more packaged plugins <attila_lendvai>it works as expected in a new terminal window. i guess it's an update related thing... <gabber`>panosalevro: you're cordially invited to do so ;) <panosalevro>gabber`: would be more than happy to do so, but im still learning <bjc>panosalevro: wireplumber is required. pipewire, by itself, doesn't know about things like sound cards <panosalevro>bjc: I was wrong, wireplumber is in my autostart list. so i dont know why it doesnt work with zrythm <bjc>my (unsure) understanding is that you need to do some .so LD_LIBRARY_PATH stuff to get jack substitutes to work <bjc>i vaguely remember that being the case with pulseaudio, as well <panosalevro>ideally, shouldn't it work without JACK? I thought that was the purpose of pipewire <bjc>pipewire has is just another way of doing stuff. it provides pulseaudio and jack support so you don't need 3 different things running <bjc>if your application only uses jack, and you're running pipewire, you need some way to bridge them <gabber`>panosalevro: do you have any error message or other output from zrhythm you could paste somewhere? <gabber`>can you specify how you connect to JACK from zrhythm? you may need to be part of the realtime group (with permission to start realtime tasks)? <gabber`>after all, the last line says: "Please check your backend settings in the Preferences." <panosalevro>im part of the realtime group, that's a different error that zrythm can give <panosalevro>the preferences in zrythm aren't that helpful. you can just choose an audio backend (JACK), but it just doesnt work <panosalevro>it doesnt. says failed to initialize audio driver jack <Guest28>is guix locate only for packages that are already installed on the system? <gabber`>panosalevro: what's the output of `wpctl status`? <gabber`>is there another audioserver running, e.g. PulseAudio? <gabber`>maybe try running the tools manually (so you see command line output), first pipewire, then wireplumber <gabber`>and have you checked your logs? like /var/log/messages and/or your desktop's log? <panosalevro>gabber`: what kind of error could i possibly find in pipewire though? it doesnt seem like it's pipewire's fault <podiki[m]>Guest28: it is for the local store, so anything you've built/downloaded before I believe <gabber`>wireplumber (the thing you query with wpctl) hangs -- <gabber`>this hints towards pipewire having a problem <Guest28>brettgilio: https://paste.debian.net/1283499/ note line 54 which is the reason the error appears. I am not sure if this service is maybe already used by something lower. The reason I wanted to try it was simply that I need to restart my pc to detect new inserted sd cards <panosalevro>gabber`: can I pm you? no need to distract #guix since this may not be a guix problem <Guest28>yea it works well, but I doubt it has much use if is only for local storage because you don't know which package you need and therefore it isn't on the system <Guest28>at least on my cases I had in the past <SeerLite[m]>Hi! How do you all use patches that haven't been upstreamed? Or patches you've made to Guix yourself but haven't sent to guix-patches? <SeerLite[m]>Currently I'm using a local git checkout (with my own patches) as my guix channel source and constantly rebase from upstream, but everytime I guix pull I have to do it with --disable-authentication and --allow-downgrades. I feel like the pull is also slower than it should be but I'm not sure <podiki[m]>Guest28: getting from a build server (that has everything) is the next step I believe <juliana[m]>I install them locally to ~/.guix-profile from the package source files because I use guix home for my user packages (and also custom profiles for some stuff) so I don't use ~/.guix-profile for anything else <Guest28>podiki[m] ah nice. do they also plan on having a website for it like debian does? <podiki[m]>I don't know but seems like something that wouldn't be difficult once that information is available <juliana[m]>SeerLite as far as how to get patches into source files, you can use `git apply` to apply them to a checkout of the Guix source repo <juliana[m]>SeerLite so if i have say "0001-some-patch.patch" I would do `cd /path/to/guix && git apply 0001-some-patch.patch && ./pre-inst-env guix install <package>` <juliana[m]>assuming you've run the necessary build steps in the Guix source repo <SeerLite[m]>juliana: Oh I used to do that too, but it ended up being too slow after a while because `./pre-inst-env` needed maintenance to run quickly (make clean-go, make ...) <Guest28>cd /path/to/guix && git apply 0001-some-patch.patch && ./pre-inst-env guix install <package> can I do that for services as well? Like for example guix system reconfigure to test a libvirtd patch? <juliana[m]>I do it fairly frequently because i do some packaging. Another option is to have your package definition outside the source repo - I mostly only use this if I don't plan to upstream it for whatever reason - and that should be a bit faster because it's using pre-compiled assets <juliana[m]>Guest28 yes, except of course with the appropriate command <Guest28>ah nice, thanks. That is what I was looking for <juliana[m]>for testing a patch I'm submitting for a package I don't use regularly, I usually just use guix shell, adding --rebuild-cache if it doesn't seem to be pulling in the latest version of the package definition for whatever reason <attila_lendvai>if an `npm ls --all` is long (~50 pages), then it means it'd be a horror to package this node app... right? <attila_lendvai>alternatively, this app (zigbee2mqtt) runs fine in a `guix shell node gcc-toolchain make python libuv`, npm ci, npm start. can i run it like that as a shepherd service somehow? i.e. without packaging it? <juliana[m]>you probably could through the power of `&&` or linebreaks <tao[m]1>juliana so if I wanted to apply a patch (I'm rehashing here to make sure I understand), I'd git pull the entire Git repo for Guix to some folder, download the .patch, then git apply the patch and `./pre-inst-env guix install path-to-the-source` in the Git repo? You mentioned using Guix Home for this: is there a declarative method of doing this? <SeerLite[m]>juliana: Sadly compiling Guix from source is very slow on my laptop, so it's much more convenient and faster for me to commit (amend/rebase) and then guix pull (allowing downgrades). Though it's still slow :s <SeerLite[m]>Also having the source files outside the tree isn't useful when I'm trying to apply a patch that's already been submitted to the bug tracker, as I'd have to check the required Guix modules (where the input/dependencies are) <juliana[m]>you can also just like, copy the patch's code into its own file and install from there if you want, eg with guix install -f <tao[m]1>juliana ah great! This is what I was looking for earlier. So it's just Git based development with these .patch files and some make commands essentially. <juliana[m]>(technically the way git was designed to be used ;P <SeerLite[m]>Nvm, you're right, I could just copy the entire scm file and it should work out <juliana[m]>no, I think in that case you'd need to import the source file with the system service into your system config <Guest28>how long does guix take to build roughly? i have 4x,3.5ghz since if it takes a long time I am going to eat <juliana[m]>tao that's what i used too! even if drew devault did cuss me out once! <Guest28>why do i always compile these big projects when it's summer <SeerLite[m]>I wish there was a simpler way to run a local checkout. Is there really no way to make ./pre-inst-env work without having to recompile Guix? <juliana[m]>technically you only need to compile Guix when the actual guix command's files change. so if you're just doing packaging you can apply patches and run it without recompiling <juliana[m]>all pre-inst-env does is setup the environment variables, import paths, and so on so that it's using the source repo rather than the system guix <juliana[m]>I don't know if it does in the pre-inst-env context, but Guile usually JIT compiles .scm files to .go files anyway; and either way it's capable of interpreting files just fine <juliana[m]>all those warnings about "x file is newer than y file" are just telling you it's probably going to be slower, basically <SeerLite[m]>Hmm, what used to happen for me was that after changing many files (not necessarily related to the guix command), it'd start to output a lot of "this scm file is newer than the go file" and it'd take reaaally long to finish whatever it did (no matter if it was something simple like ./pre-inst-env guix show hello) <juliana[m]>yes, interpreting Scheme source code is slower than interpreting Guile bytecode (what go files have in them) <juliana[m]>I think he links to more Guile-related stuff in it and you can look around for other stuff (the related posts the website is showing me include some interesting stuff) <SeerLite[m]>Woah, that looks very interesting. I'll definitely have a look later, thanks! <juliana[m]>Andy Wingo is a very cool and prolific guy; I refer to him as "The Compilers guy" because he does a lot of work on browser compiler stuff, and browser compilers are... absolutely incredible pieces of engineering, probably some of the most advanced compilers around to the point that even C compilers borrow ideas pioneered in them <Cairn>In the future, I guess it'll pull from the build farms for non-local packages? <Guest28>is planned said someone some hors ago <tao[m]1>I really liked Andy's Knit, Chisel, Hack: Building Programs in Guile Scheme talk <mirai>lilyp: Looks like there's something wrong with an updated shared-mime-info and gdk-pixbuf <mirai>gdk-pixbuf fails to build, specifically it fails at the [175/255] Generating tests/resources.c with a custom command <mirai>Couldn?t recognize the image file format for file ?/tmp/guix-build-gdk-pixbuf-2.42.10.drv-0/gdk-pixbuf-2.42.10/tests/icc-profile.png? <mirai>../gdk-pixbuf-2.42.10/tests/resources.gresource.xml: Child process exited with code 1. <mirai>upgrading gdk-pixbuf didn't help