IRC channel logs


back to list of logs

<graywolf>How can I inherit operating-system but then override some parts (adding new service)? Currently I tried, but that fails due to services being unbound. How can I access the services field in the thing I inherited from in order to modify it?
<nckx>Last ‘services’ → ‘(operating-system-services my-base-system)’.
<nckx>Scheme is not terse :)
<nckx>Side note: for anything more complicated than cons*, see ‘modify-services’ if you're not familiar with it already.
<graywolf>Oh, so it's basically SRFI-9 style accessor, and there is no shortcut for "toplevel object" or something, I just need to repeat it, got it.
<tarte-tatin>"SRFI 9: Defining Record Types"
<graywolf>Thanks for the tip, current I'm just adding, but will keep that in mind.
<nckx>(guix records) build on srfi-9 ones.
<tarte-tatin>"SRFI 9: Defining Record Types"
<nckx>ACTION steals tarte-tatin and feeds it to sneek as a botsnack.
<graywolf>Hmm... guix system: error: more than one target service of type 'system'
<graywolf> well not it at least runs, but fails with the error above
<mirai>how can I "debug" or inspect what macro expansions are happening
<graywolf>Hm, is this in general acceptable approach (I wanted to keep it as DRY as possible) or is it better to just prepare the parts and compose them together without the inherit (at the cost of being more verbose)?
<nckx>ACTION wonders how many tomatoes they'd get thrown at them for proposing adding zstd to the build environment and whether it would be worth it anyway.
<nckx>graywolf: Uh…
<nckx>…oh! This is a nice gotcha. operating-system-user-services, sorry.
<nckx>Guix automagically adds some services, which operating-system-services duly returns, then (in your ‘outer’ (services …)) they get added again… and boom.
<graywolf>Nice! Seems to work.
<graywolf>Would expect the setter for operating-system-user-services be called user-services, is there any (except historical) reason to not have it (user-services) instead of (services)?
<nckx>That I do not know. If anyone does it would be civodul.
<nckx>I mean, I agree with your expectations, obviously.
<graywolf>No worries, I'll try asking on mailing list tomorrow and maybe it will reach someone who knows. Thanks for the help, I'm pretty sure I would be stuck on this for a long time :)
<nckx>Yeah, it's very unintuitive and I'm frankly a little bit impressed with myself for spotting it at all :)
<nckx>So repacking a sourceball with zstd takes 30 seconds. Repacking that same sourceball with xz takes… 10 minutes, and saves only ~15% in size. When you've spent the evening staring at sourceballs being repacked, this seems quite unreasonable a trade-off.
<mirai>how can I get guile syntax errors to wrap in the terminal
<mirai>the string is simply too long to be read
<AwesomeAdam54321>antipode: I don't think it's in a repository, but it can be found here:
<tarte-tatin>"[GSoC] Guix + GNUnet: report"
<nckx>mirai: Do you mean the string gets truncated by Guile?
<nckx>Maybe something is setting $COLUMNS automatically so lines happen to truncate ‘nicely’ at the end of the screen, or it's a coincidence. Settings COLUMNS to a much larger value (I think the empty string means infinity, but that's untested) should fix that.
<nckx>Apparently eshell does this, which I guess could make it look like EOL wrapping is involved.
<mirai>nckx: I think so? Jiggling the terminal around can only work until I hit the screen limits
<mirai>I'm using it inside tmux if that matters?
<nckx>If Guile is always nicely hitting the screen edge, it does sound like somebody's updating COLUMNS for you trying to be helpful. I don't know tmux that well but maybe it will stop if you set a value manually?
<nckx>Guile honouring COLUMNS at all for this is… questionable/controversial/whatever, but let's accept it as fact.
<nckx>ACTION away.
<quidnunc>I'm trying to setup minimal locales using the instructions here
<tarte-tatin>"Application Setup (GNU Guix Reference Manual)"
<quidnunc>There is something missing in the file to build the deriviation I added "my-glibc-locales" on aline by itself.
<quidnunc>After doing that, I still get the "hint" warning about installing glibc-locales
<quidnunc>GUIX_LOCPATH is set to ~/.guix-profile/lib/locale
<quidnunc>but that directory does not exist
<quidnunc>How do I see what files/paths that package installed?
<quidnunc>This is foreign distro (Ubuntu)
<AwesomeAdam54321>quidnunc: guix package --list-generations
<quidnunc>AwesomeAdam54321: Thanks, the files exist in /guix, any idea why they are not linked into the profile directory and how to fix it?
<quidnunc>I see an issue that describes the same problem but their resolution was to set /usr/lib/locale to LANG=en_US.UTF-8 but that is already the case fo rme
<quidnunc>for me*
<bumble[m]>hey everyone I've slowly managed to setup pipewire and wireplumber to run without dbus, but I'm trying to verify the audio by playing videos with qutebrowser and there is no audio there
<bumble[m]>does anyone have any advice or recommendations for me?
<bumble[m]>after starting pipewire and spearately wireplumber from shell, wpctl status lists some audio
<bumble[m]>"42. Built-in Audio Analog Stereo [vol: 0.40]"
<bumble[m]>"43. Built-in Audio Analog Stereo [vol: 1.00]"
<bumble[m]>if anyone has even some general recommendations for me I will try to follow those
<bumble[m]>it would be so great to have audio working on the target machine
<lechner>Hi, does 'aplay' cause sound to play?
<bumble[m]>aplay: command not found
<lechner>you search for the package with '%/aplay' at
<bumble[m]>pw-record test.wav
<bumble[m]>pw-play test.wav
<bumble[m]>I was able to run this pw-record command while whistling
<bumble[m]>then when running the pw-play command, I can hear the recording of my whistling
<bumble[m]>so audio is working on some level (happy!)
<lechner>okay, the problem is in qutebrowser's discovery of sound capabilities (or in whichever emulation pipewire provides)
<bumble[m]>okay thanks this is encouraging for me
<bumble[m]>someone on reddit commented that they installed "pipewire-alsa" to resolve the issue, but guix doesn't seem to have this package... I'll check juix
<lechner>unfortunately juix currently only has my own store, and i probably do not have what you are looking for
<bumble[m]>"the compiler" qutebrowser author says qutebrowser does not do anything special for audio and relies on qtwebengine
<bumble[m]> (hope it is not rude to share the link here)
<tarte-tatin>"Reddit - Dive into anything"
<lechner>it isn't
<tarte-tatin>"No audio whatsoever. · Issue #2748 · qutebrowser/qutebrowser · GitHub"
<lechner>eventually, i will also be interested in your setup without dbus
<bumble[m]>while I was setting up pipewire/wireplumber I noticed many places on the internet recommend pipewire-pulse and/or pipewire-alsa and variations of those
<bumble[m]>guix does not seem to offer these
<lechner>yeah, not sure. they don't come with pw? looks like qute prefers alsa over jack and so on
<tarte-tatin>"Reddit - Dive into anything"
<nckx>Those don't look like packages.
<nckx>Yeah: <> Just parts of pipewire (Guix could use outputs to do the same; but doesn't.)
<tarte-tatin>"Debian -- Details of package pipewire-pulse in sid"
<lechner>or here they are all together, at left bottom
<tarte-tatin>"pipewire - Debian Package Tracker"
<bumble[m]>the similarly-named arch packages that do not have counterpart in guix pacakge system
<bumble[m]> *
<bumble[m]> *
<nckx>Because they aren't packages, but split out parts of pipewire.
<lechner>bumble[m] / guix does not really have "binary" packages
<nckx>Those files all appear to be in Guix's pipewire too.
<bumble[m]>okay thanks I did not realize this
<lechner>ACTION prefers the terminology of source and installable packages
<nckx>Guix has many fine uninstallable packages for those who like a challenge.
<lechner>that's funny
<lechner>so does pw in guix ship those items?
<lechner>sorry, i missed that earlier message
<nckx>I didn't check every single last file, but I think so. E.g. looks mostly there? What I'm guessing are copies in /etc are not, but then they'd be ‘inert’ in Guix no? Question mark because I'm not cool enough to use Pipewire.
<tarte-tatin>"Debian -- File list of package pipewire-alsa/sid/amd64"
<nckx>ACTION filthy PA peasant.
<lechner>me too
<lechner>but can't wait, so hugely appreciate those efforts
<lechner>bumble[m] / nckx is saying that qutebrowser cannot find those files
<lechner>Guix needs more cool people like bumble[m]
<nckx>Probably wearing two sunglasses at once.
<nckx>At night.
<bumble[m]>my guix system is not very advanced and I'm a novice
<lechner>yeah, right
<lechner>the u.s. seals use ambien
<lechner>that was for nckx
<nckx>bumble[m]: Did you follow anyone's lead in setting up Pipewire?
<nckx>I mean, its status in Guix might not be at the point where you can just guess your way towards a working system.
<nckx>I found <> which looks… involved.
<tarte-tatin>"~krevedkokun/dotfiles: channel/home/services/pipewire.scm - sourcehut git"
<nckx>ACTION doesn't know who that is.
<nckx>ACTION looks up Ambien because they know it only from a Jay-Z lyric.
<nckx>Are you telling me to go to bed.
<bumble[m]>I don't see these files in /etc or anywhere else in the guix system on the target machine
<tarte-tatin>"Debian -- File list of package pipewire-alsa/sid/amd64"
<bumble[m]>I also tried checking /gnu/store/_lsa_ and didn't see anything related to pipewire there either
<bumble[m]>s///`//, s//_lsa_//*lsa*`/
<nckx>Neither of those would be expected. Packages can't install files to /etc (or anywhere outside of /gnu/store or your profile directory), nor could pipwire install anything to /gnu/store/*alsa*. You'd need a service to make such connections but I don't think a system-level service is needed, if that repository above is to be believed. Only an .asoundrc in ~, and a (user) service to, I quote, ‘run pipewire and stuff’.
<nckx>lechner was right, I should go to bed, it's almost light. I suggest you start by copy-pasting that example dotfile, probably with some help from this channel to adapt it.
<iyzsong[m]>good night z.Z
<bumble[m]>thanks for helping me
<nckx>I wish I could.
<nckx>Good luck && night!
<iyzsong[m]>alsa via pulse then pipeware maybe easier, i dont know if alsa-service have pipeware pulgin directly.
<nckx>One more thing™: if you do try to adapt that krevedkokun method, I'd start by just writing a normal ~/.asoundrc text file that refers to your ~/.guix-profile, not gexps, and try running those two daemons(?) manually from a terminal to test. Rather than going full Guix Home all at once. Unless… you wanna.
<nckx>ACTION really 😴💤
<bumble[m]>if I knew how to copy and use the linked service file directly I would attempt that
<bumble[m]>building an .asoundrc file sounds like a good start
<bumble[m]>I don't understand the programmatically constructed asoundrc file well enough to build an .asoundrc from reading that
<iyzsong[m]>does qutebrowser/webengine use gstreamer or vlc?
<bumble[m]>I don't know the answer
<iyzsong[m]>um, okay, it use ffmpeg, no audio but it play? if disable pipewire, does qutebrowser have working audio?
<lechner>nckx / your call. i'm going to bed. it's 9:39 pm locally
<lechner>i think it's gstreamer
<bumble[m]>iyzsong[m]: only pipewire and wireplumber are installed
<lechner>alsa is part of the kernel, isn't it?
<iyzsong[m]>there is also pipewire-pulse need to be run
<iyzsong[m]>yes alsa is in kernel
<lechner>bumble[m] / i think you are in good hands
<bumble[m]>if pipewire and wireplumber are not started, there is still no audio at qutebrowser
<lechner>did you restart qutebrowser?
<iyzsong[m]>unless applications native speak pipewire, that's usually not the case (most speak pulse)
<bumble[m]>yes I did
<iyzsong[m]>i think you can test via mpv first, it can select output, test both alsa and pulse, maybe pipewire is also native supported by mpv
<iyzsong[m]>and pavucontrol is useful, once pulse is working
<bumble[m]>okay will install mpv
<iyzsong[m]> usage: mpv --ao=alsa xxx.ogg
<tarte-tatin>"mpv/ao.rst at master · mpv-player/mpv · GitHub"
<bumble[m]>okay thanks I will let you know how it goes installing mpv and yt-dlp
<iyzsong[m]>np, and guix shell mpv is enough :)
<bumble[m]>ACTION sent a code block:
<irfus>pipewire-pulse is provided by the pipewire package on guix. Running pipewire, wireplumber, and that seems to be working for me so far.
<bumble[m]>please excuse me if there is type visually looked and typed
<iyzsong[m]>bumble深く傷を: then does ao=pulse works?
<bumble[m]>no a different error... I will type and input here
<irfus>Though I am still failing to get sound through to a connected bluetooth audio device.
<bumble[m]>ACTION sent a code block:
<bumble[m]> * ```... (full message at <>)
<iyzsong[m]>okay.. does mpv have ao=pipeware ? i think ao=help can list all
<bumble[m]>hm help lists 'pulse' 'alsa' 'jack' 'null' and 'pcm'
<bumble[m]> * ```... (full message at <>)
<bumble[m]> * ```... (full message at <>)
<irfus>bumble[m]: I've been trying to adapt krevedkokun's into my guix home config since yesterday, and it seems to have worked mostly. Do you use guix home?
<bumble[m]>@irfus- yes I use guix home
<iyzsong[m]>i think you need to run pipeware-pulse , also with a useable XDG_RUNTIME_DIR
<bumble[m]>I'm using seatd rather than elogind in case that is important
<bumble[m]>@irfus- do you have a config online that I could reference?
<iyzsong[m]>um, i think seatd and elogind can be run togher, but that's not the issue. as a normal user the runtime dir us usually /run/1000
<iyzsong[m]>if the user's uid is 1000
<iyzsong[m]>ACTION go eating now..
<bumble[m]><irfus> "bumble深く傷を: I've been trying..." <-
<tarte-tatin>"guix-home/guix.home.scm at main · iambumblehead/guix-home · GitHub"
<irfus>bumble[m]: that's the config with working pipewire services.
<bumble[m]>paste the service definition and add it to the services list? I will try...
<irfus>yup. Now if somebody could point me to getting audio over bluetooth to work with this, I'd be able to strike this off my yak-shaving todos.
<bumble[m]>guix home: error: service 'pipewire' requires 'dbus', which is not provided by any service
<bumble[m]>I don't want to install dbus
<irfus>you can edit the service definition to not require dbus
<irfus>I do not know if it will work though. dbus is too much automagic for me to understand how it works.
<iyzsong[m]>irfus: i think bluetooth need a system bluez service, and manaual pair the device once, then pavucontrol shoud see it
<irfus>iyzsong[m]: ah, thanks. is the system bluez service something other than the bluetooth-service defined in desktop services?
<irfus>`guix system search bluez` shows nothing
<bumble[m]><iyzsong[m]> "um, i think seatd and elogind..." <- I do not find /run/1000/ but do find /run/user/1000/ ... I will try setting thi
<bumble[m]>@iyzsong `mpv --ao=pulse ./test.wav` is working :)
<bumble[m]>still no audio in qutebrowser but it feels like a step closer
<bumble[m]>I was slow to interpret your helpful suggestion, please excuse me
<osvarcha>hello Guix community first time using an IRC client
<irfus>hi osvarcha!
<iyzsong[m]>bumble深く傷を: cool, then you can run pavucontrol, qutebrowser (or any other running app use pulse) should list as an app in it
<iyzsong[m]>irfus: it is blueeth-service, np. have you pair the device?
<iyzsong[m]>many typo from moblie phone 🥲
<irfus>iyzsong[m]: thanks. I reconnected to the device using bluetoothctl and it's showing up in pavucontrol now. I'd used bluetooth.el in emacs to pair and connect earlier when it didn't. Not sure what ele changed in between.
<iyzsong[m]>yeah, that's cool. i used once bluetooth audio and feel too complex, so end up avoid it😂
<bumble[m]>@iyzsong qutebrowser is not listed in pavucontrol and I found this which indicates that qutebrowser on quix is compiled with disabled pulseaudio
<tarte-tatin>"qutebrowser has no audio"
<iyzsong[m]>bumble深く傷を: oh right, did you try the system alsa-service as suggested in the issue? with that mpv -ao alsa should works
<bumble[m]>no I didn't try yet :)
<iyzsong[m]>np, i think i can fix the issue by enable native pulse support in qutebrowser next week
<bumble[m]>oh wow! :) that would be great!
<iyzsong[m]>yeah, those things are confusing, audio/x11/wayland/dbus etc. they are changing/improving but old layers still there (eg: alsa -> pulse -> pipewire, x11 -> xwayland)...
<bumble[m]>thank you for your help to me
<iyzsong[m]>glad to be helpful😀
<efraim>I sure hope no one tries to launch ddd and type dd instead :/
<jpoiret>nckx: I see the evaluations are now succeeding! thanks for taking a look :)
<jpoiret>bumble[m]: note that ALSA is the kernel's audio interface, there's no removing it. Pulse and PipeWire are protocols/servers that then translate back into ALSA calls iiuc
<nckx>jpoiret: You're welcome! I'm cautiously optimistic that with the bootstrap built, this won't happen again... until the next bootstrap change.
<jpoiret>the important thing is that it works right now! what was the issue (if it's not too long to explain)
<nckx>I wish I knew, it would make me sound a devil of a lot cleverer. The surface level is that builds get dispatched to build nodes, never to return, and none of this appears to be logged. I'll ssh into the nodes to search them directly, but that'll have to wait for a proper keyboard :-) There's a chance I'll find something, though, so I'm still optimistic. The 'fix' was simply (and tediously) building each failure on the head node, but that's very time-consuming.
<nckx>nckx: Please use for long blog posts.
<jpoiret>ohhh, so very cuirass specific then. I thought it was more of an issue with guix pull vs. local checkout build
<nckx>So did I at first!
<nckx>That would have been easier, in a way, I think.
<nckx>I was careful to wipe as little state as possible (apart from success, of course :-), so it shouldn't™ be a trivial corrupted cache...
<nckx>Awesome that my keyboard hides all punctuation behind a single tiny long-press button on level 2, and stuff like ~ on level 3, but assigns 3 fully dedicated keys to ©, ®, and ™.
<ae_chep>Eh, really? Is it made for lawyers?
<nckx>Really. Made for Open® Source™. (OpenBoard; still the best/most tweakable one in F-Droid in the end.)
<jpoiret>I've found anykeyboard to be pretty nice, although not super customizable wrt. long press variants
<lechner>ACTION knows at least one lawyer using Guix
<zamfofex>Hello once again, everyone! I have decided to continue to try to update the Hurd packages. I tried updating all of the commit hashes to the latest commit, but it seems to fail while building ‘file’ now. I can upload the build logs. In case anyone has any ideas or suggestions about what might be going wrong, any kind of help would be appreciated!
<tarte-tatin>"Snippet | IRCCloud"
<zamfofex>Here is a direct link to the plain file (no HTML) for convenience:
<mirai>I wonder if the bot just crashed now
<zamfofex>Yeah, it seems like it. 😅
<jpoiret>zamfofex: there was a similar looking issue when building `file` on core-updates, you can have a look at the mailing lists. I haven't followed closely but there was a patch to mesboot
<zamfofex>I see! Yes, I’m on (a fairly outdated) ‘core-updates’. I was working on it last year, and I decided against pulling the Guix repo to avoid having to rebuild things. I’ll try (manually) rebasing my changes into a fresh ‘core-updates’ clone and seeing how it goes. Thanks for the suggestion!
<lechner>mirai / zamfofex / the bot has some issues, but i think this is a bug in Guile
<mirai>it certainly looks like one
<mirai>report it to guile
<mirai>(send an email to their bug ML if there isn't one yet)
<lechner>let me ask in #guile first
<mirai>that looks 100% a bug in (web http) to me
<mirai>"technically" not guile's fault
<mirai> s-maxage=31536000;max-age=0
<mirai>this is one of the headers from cache-control: s-maxage=31536000;max-age=0
<mirai>it's using semicolon
<lechner>is that not allowed?
<mirai>According to <>, that's not the right way of doing things
<tarte-tatin>"Cache-Control - HTTP | MDN"
<mirai>it's comma separated
<mirai>so they are breaking the rules here
<lechner>one of the few messages in Guile that reminded me of Haskell
<mirai>since guile (web http) ultimately has to deal with "untrusted / non-compliant data", I think they actually are doing things right
<mirai>they could be 'lax' about it or throw exceptions when it finds trash
<mirai>which is what's happening here
<mirai>you should catch the exceptions
<lechner>mirai / you are right. i also wrote a short note to irccloud
<lechner>Hi, how may I install (and refer to) the C headers for the Linux kernel I am running, please?
<jlicht>lechner: I don't think there's an automagic 'headers-for-my-kernel' package, but there should be a bunch of `linux-libre-headers' versions
<tex_milan>Hello! How to change xdg-open / xdg-mime? I installed Google Chrome and it took over opening PDFs... Is it possible to set mime types in system or home config?
<lechner>tex_milan / is chromium opening the files directly, or did it also take over xdg-open?
<tex_milan>lechner: it took over the xdg-open
<tex_milan>milan@t14s ~$ xdg-mime query default application/pdf
<lechner>can you fix it with 'xdg-settings set'?
<lechner>also, you may want XDG_UTILS_DEBUG_LEVEL=3
<vivien>Hello guix! Dino was updated lately, but with the new version, now it crashes a second or two after launch. Do you use dino? Does it crash for you too?
<lechner>tex_milan / actually, maybe you just want xdg-mime uninstall google-chrome-unstable.desktop but that may undo all the MIME bindings, including for text/html
<panosalevro>hi all, when should we expect to have this patch merged?
<tarte-tatin>"[PATCH 0/6] gnu: zrythm: Update to 1.0.0-beta.4.5.62"
<lechner>panosalevro / Hi, as someone without commit access, I'll note politely that one week is much shorter than the average expected wait time
<lechner>vivien / no messages?
<vivien>Gdb tells me it crashes in xmpp_message_archive_management_NS_VER
<vivien>Are there debugging symbols? I don’t have them.
<vivien>Does it work on your end?
<lechner>i am not sure. do we serve them like debian?
<vivien>Maybe it’s a weird configuration on my server
<lechner>i don't use din but will try for you
<lechner>sorry cat on lap
<vivien>To be clear, it fails after I log in
<vivien>So if you want to try you will need an xmpp account
<lechner>which version, please?
<vivien>Guix has dino 0.4.0
<vivien>And this version fails for me
<lechner>it's very recent. i have to pull first
<vivien>Yes :)
<MysteriousSilver>dino works fine on recent guix pull here
<MysteriousSilver>wait, it's not 0.4.0
<MysteriousSilver>not recent enough, ig
<lechner>okay, i'll let you two hash it out and have som breakfast instead
<tex_milan>lechner: uninstall does't work, it complains it can find the .desktop, if I use full path to /gnu/storage/...desktop then it passes without error, but it doesn't remove the mime
<vivien>MysteriousSilver, lechner I sorted it out: I was in the dino official chat room, and someone has posted a message that makes it crash
<vivien>If I launch dino and immediately close the dino chat room before it loads the message history, dino survives
<vivien>I praise my slow internet connection on my server that lets me do that!
<vivien>If you go to it should crash
<vivien>(with dino 0.4.0
<lechner>tex_milan / what's in your ~/.config/mimeapps.lst ?
<johnwind>what is the best way to run foreign distro on guixsd ?
<lechner>people usually run them the other way around
<tex_milan>lechner: the only entry with pdf in it is: application/pdf=okularApplication_pdf.desktop;
<tex_milan>I do have okular installed
<johnwind>@lechner does 'guix system vm' does the trick ?
<vivien>This is to run guix VMs within guix
<vivien>Or on foreign distros
<lechner>guix system means guix is the base distro, as far as i know
<vivien>For foreign distros, docker seems to work well
<lechner>for a pedestrial approach, this might work
<tarte-tatin>"Running Guix in a VM (GNU Guix Reference Manual)"
<johnwind>i'm thinking of running guix as a level one hypervisor, do you think it's possilbe ?
<vivien>johnwind, I have a couple of VMs to run things like gitlab runner
<vivien>It works well with virt-manager
<johnwind>@vivien, did you mean dockers ?
<vivien>I could be using docker, but my root partition is too small
<vivien>I have my virtual machine virtual disks on a larger drive so I’m doing virtual machines :)
<lechner>johnwind / not sure, but i might look into whether the hurd, as a more minimalist os, can do that already
<lechner>mirai / does hexchat need a live reload feature?
<johnwind>lechner, i'm looking at microvm. something like firecracker would be awesome
<johnwind>vivien, have you tried any rootless vm ? like podman
<vivien>No, I’m just doing some gitlab-running
<vivien>I’m not at all an expert in any of that :)
<lechner>johnwind / guix system vm just configures a virtual disk for you, and offers a script to start it, but i think that's only for a Guix in the VM
<tarte-tatin>"Invoking guix system (GNU Guix Reference Manual)"
<lechner>johnwind / why do you need a child OS or a hypervisor. Guix has excellent isolation already. Do you just need an FHS container?
<lechner>i'm not sure podman works in Guix
<johnwind>@lechner, i'm planning to run a cloud-init version of ubuntu. i'm planning to run the instance to serve as a virt-manager
<johnwind>@lechner, strip down version of ubuntu/debian/fedora base os would do work.
<johnwind>@lechner, i was planning to just use guix to run the custom nodejs, but due to some dependency issue and missing package, i had to think of another solution
<mirai>lechner: live reload?
<mirai>for hexchat?
<lechner>mirai / you keep quitting and rejoining. i figured you are hacking your client
<mirai>ah, that's flaky network
<lechner>johnwind / sorry, i live in the last century. i run vm's only when there is no other way, such as when i have to use my key material with distro-specific tools elsewhere. i am a bare metal person, and lvm2 is about as much overhead as i can endure on my heirloom hardware
<johnwind>@lechner, do you know why isnt libvhid-tools available on guix
<lechner>possibly for lack of packaging. have you contributed here before?
<johnwind>@lechner, you are right about lvm2. I need that as well
<lechner>johnwind / where may i find libvhid-tools, please?
<tarte-tatin>"GitHub - libyal/libvhdi: Library and tools to access the Virtual Hard Disk (VHD) image format"
<lechner>johnwind / that type of vendoring (which you can also see in SUBDIRS in Makefile) probably won't fly in Guix
<tarte-tatin>"libvhdi/ at main · libyal/libvhdi · GitHub"
<jlicht>lechner: I'm running podman on Guix :-)
<johnwind>@jlicht how did it perform ?
<lechner>jlicht / thanks for the headers hint earlier. i haven't gotten around to it
<ehmry>is there a list of supported filesystems somewhere or do I have to look at the code?
<lechner>there are too many. which one do you want?
<lechner>or we can help you pick one
<ehmry>nevermind, and no there aren't many, there is a footnote about this in the manual
<lechner>which note, please?
<ehmry> - f2fs doesn't seem to work?
<tarte-tatin>"GNU Guix Reference Manual"
<mirai>sure it does?
<mirai>what happens when you use it
<lechner>mirai / guix does not support using plain device nodes with the myriad of file systems supported by the kernel?
<pkal>is there any way to figure out why guix is always installing unrelated packages that I have to immediatly "guix gc" away?
<mirai>lechner: ? what do you mean
<pkal>I'm using subsitutes, so it shouldn't be building anything
<mirai>do you have an example
<lechner>ehmry / i think that comment applies only to guix system, if at all
<ehmry>idk, grub is complaining about something
<mirai>afaik the only problematic filesystems are those listed under %pseudo-file-system-types (gnu/system/file-systems.scm)
<mirai>ehmry: maybe f2fs is not included in initrd ?
<mirai>you'll have to check what filesystems the kernel comes with
<mirai>f2fs module that is
<lechner>mirai / take brief look here please
<tarte-tatin>"GNU Guix Reference Manual"
<mirai>you can add extra kernel modules via initrd-modules
<lechner>those footnotes should be placed elsewhere. can anyone access them via the "per node" interface?
<mirai>what is "per node"
<mirai>via path?
<mirai>a string value?
<lechner>just click the link and you will see. it's the whole manual on one page
<mirai>and that footnote is misleading
<mirai>I think it's supposed to be read as "filesystems that can be used for the root partition" or "things that grub can read"
<lechner>maybe that's why no one found it so far, it should be moved and expanded
<lechner>grub can read more
<mirai>that piece of info being a footnote is not a problem
<lechner>it's about label tools
<mirai>but you're confusing what the file-system record-type will accept
<lechner>how can anyone find it though? we should pay a prize to ehmry
<mirai>it 100% allows strings to be used
<mirai>the footnote? it's not written in invisible ink
<ehmry>well my problem isn't f2fs its something with the grub installer
<mirai>(or displayed with alpha = 0%)
<mirai>ehmry: what's the exact issue here
<mirai>only got part of the convo
<lechner>i can't find it on any individual node in the traditional, and far more populer per-node HTML presentation
<mirai>lechner: the per-node version of the manual is funky
<ehmry>`grub-install: error: unknown filesystem.`
<mirai>it's missing pages
<mirai>I've noticed this
<mirai>ehmry: is this happening with the guix installer
<mirai>or is it system reconfigure
<lechner>who scrolls all the way to the bottom of the big page?
<mirai>lechner: you don't, that's not how digital footnotes work
<mirai>you *click* on the number
<mirai>or glyph
<mirai>and after you're done reading it, you click on the same glyph to go back where you were
<ehmry>mirai: grub-install doesn't like `--boot-directory /some/fsfs`
<lechner>what's the message?
<mirai>ehmry: is this happening under 'guix system reconfigure' ?
<mirai>or are you installing guix from ISO
<lechner>mirai / it's in :disk partitioning"!
<jlicht>johnabs[m]: I only used to cross compile some software. It wasn't ridiculously slow, but it wasn't that fast either
<lechner>pkal / grafts must have all inputs available. it's a known issue
<jlicht>s/used/used podman/
<ehmry>mirai: if I change my boot `(mount-point "/boot/efi")` to `(mount-point "/boot")` then grub-install is happy, but my firmware doesn't like it
<mirai>can you show the exact error messages you're getting
<mirai>(firmware/grub-install) "doesn't like it" is not enough information to determine what's happening here
<lechner>the path /boot/efi is not the f2fs
<lechner>ACTION recently adopted modern conventions and remounted all ESPs under /efi
<jlicht>how would one cross-compile guile libraries when using the gnu-build-system?
<lechner>"While GRUB supports F2FS since version 2.0.4, it cannot correctly read its boot files from an F2FS partition that was created with the extra_attr flag enabled"
<tarte-tatin>"GRUB - ArchWiki"
<lechner>jlicht / wow, that is totally above my pay grade
<ehmry>that's fine, because grub should just be entirely on the fat32
<lechner>my GRUB files are also in /boot/grub
<ehmry>no, /boot should all be on fat32
<ehmry>the initrd and kernel should be on the ef00 partition, this split setup is wrong
<lechner>which split setup?
<lechner>ESP != /boot
<ehmry>yes ESP should be /boot
<lechner>i have never seen that on linux
<ehmry>if it wasn't then grub would have to be stupid complicated and then it would break
<lechner>grub is stupid complicated
<ehmry>it doesn't have to be for EFI, it just needs to support fat32 and bootstrap from there
<bjc>on my manjaro box i have my esp on /boot, but on guix it's /boot/efi. either way works and grub doesn't really care, since it doesn't care about nesting in this context
<lechner>ehmry / do you come from arch?
<lechner>i like your idea
<ehmry>lechner: no, I just know that is the correct way to do it
<lechner>from where, please?
<ehmry>unless there is a compelling reason that grub should read from an additional partition with an additional file-system type in order to bootstrap to a kernel and initrd, that would be the incorrect way to do it
<bjc>the compelling reason is that's how guix manages rollback
<bjc>zfs-on-root setups have similar reasons
<ehmry>if you like using features because they are there to be used, I guess do it this way
<ehmry>what happens if / in on luks?
<bjc>you have to decrypt before you can boot. grub has support for that
<lechner>since grub 1.99 or so, the /boot partition is not traditionally a separate fs anymore
<ehmry>that doesn't make sense
<lechner>ehmry / which distro have you seen that does it your way?
<bjc>there's no compelling reason to put the kernel and initrd in your esp. vfat is a terrible file system that's only used because of its simplicity. putting important stuff there is a risk not worth taking
<lechner>it may also create issues with multi-boot
<ehmry>is the EFI grub image not important?
<lechner>i think we are talking about different things
<bjc>it's easily replaced if something goes wrong, and purged when the kernel loads. so, yes, it's less important than the initrd
<bjc>but it's also *mandatory* on the esp, so you don't have a choice. where you have one, don't use it
<lechner>another reason is that you can't boot legacy anymore
<ehmry>its *more* important than the initrd because the initrd depends on it
<ehmry>you absolutely trust vfat to do anything
<lechner>it's the other way around
<bjc>no, the stuff in initrd stays resident while your system operates. file corruption is more dangerous in the initrd
<lechner>i think this is a theoretical debate
<ehmry>if the initrd stays resident then what does it matter?
<lechner>i'm not sure that's true either, post-pivot
<ehmry>its not mmaped from vfat, grub loads it into memory before the kernel
<bjc>there's good reasons for guix to use the root fs, or, rather, good reasons for it to use the fs that has /gnu/store: see above about rolling back
<lechner>ACTION uses Grub for five seconds every two weeks or so
<ehmry>how does root on luks work if grub needs the root filesystem to boot?
<lechner>grub can luks
<lechner>can you pre-load the module?
<lechner>it's a super popular setup around here
<ehmry>I'd rather trust one luks implementation, not two
<ehmry>I'm used to nixos copying everything into /boot
<lechner>sorry, have never used that. i agree with you in principal but have never seen anything else on Debian or its derivatives
<ehmry>this way of doing it doesn't work because then you have the caveat of not supporting "F2FS partition that was created with the extra_attr"
<lechner>what does that mean, anyway?
<ehmry>it means grub can't be expected to support everything under the sun
<lechner>do you need extra_attr on f2fs?
<ehmry>i don't have a choice with guix
<ehmry>i have to reformat without
<f3n1x>ACTION guix newbie here ...
<lechner>well, as far as i know both Guix and GRUB accept patches
<f3n1x>i need to pass a '/usr/bin/emacsclient ' Guix equivalent to an application ( Nyxt browser, for the matter )... which is the right path to be given ?
<f3n1x>thanks, thanks, thanks
<bjc>try passing: $(which emacsclient)
<f3n1x>thX ! bjc
<wdkrnls>Dear Guix, I remember learning here there was a presentation made on the Guix distribution file system layout.
<wdkrnls>I tried searching the logs, but it seems like I cannot find reasonable keywords.
<wdkrnls>Does anyone know the presentation I am talking about? I think it happened fairly recently.
<lechner>f3n1x / i use this in ~/.config/editor/always-emacs and set $EDITOR to it in my init.el
<tarte-tatin>"debian Pastezone"
<wdkrnls>lechner: This seems like a quite useful tip. Can you give some simple explanation why you define EDITOR in init.el versus adding this to your .profile?
<wdkrnls>I guess it makes sense if you expect a server to be running already.
<lechner>wdkrnls / i use EXWM, so Emacs is effectively my login shell
<lechner>i am also behind on my Guix Home, but I understand that especially the Emacs integration is developing rapidly. i tend to be a second mover
<lechner>or third, really
<lechner>wdkrnls / also, i think the emacs-client --create-frame will start a server if none is found, but i am not sure
<wdkrnls>I am confused about how to think about talking across containers in Guix.
<wdkrnls>Ideally there would be a nice wrapper which made sure it could find guile.
<wdkrnls>And so could even execute the script.
<wdkrnls>I am not that sophisticated. I don't understand what sockets are except when I can pretend they are files.
<wdkrnls>I think I can do that with socat, but I haven't looked at that in a few years.
<lechner>i actually meant those used with bind(2)
<lechner>isn't guile always available in /run/current-system/profile/bin/guile ?
<wdkrnls>It certainly has to be somewhere for Guix to work at all.
<wdkrnls>I can't say I'm at all knoweldgeable about the C internals.
<lechner>the guile in my guix is actually hardcoded. which C internals, please?
<wdkrnls>You pointed me to `bind(2)'.
<wdkrnls>What do you mean "hard-coded"? Do you not use env?
<lechner>the manual page is misleading. bind is a syscall to the kernel. it's available from nearly all languages and works primarily with internet domain sockets, which are not files
<lechner>wdkrnls / please try head -2 `which guix`
<lechner>in Bash or so
<lechner>it's an absolute path. so guix works without guile being present in a profile location like /run/current-system/profile/bin/guile
<tex_milan>lechner: /home/milan/.guix-home/profile/share/applications/mimeinfo.cache contains application/pdf=google-chrome-unstable.desktop;libreoffice-draw.desktop;okularApplication_pdf.desktop;org.inkscape.Inkscape.desktop;;
<tex_milan>lechner: I am using i3... I probably can change this with something from xfce (which what exactly?), but is there a way to set my preferences in home manager?
<wdkrnls>It's interesting that I don't see a -2 argument in the documentation for head.
<wdkrnls>I knew about `head -n2` which is documented.
<wdkrnls>I'm also confused about how this works with environment variables.
<tex_milan>lechner: and what is worse, .config/mimeapps.list doesn't override it!
<wdkrnls>I have noticed that calling programs without setting the environment variables first can lead to problems.
<lilyp>wdkrnls: that's why we typically use wrap-program/wrap-script to set those
<lechner>wdkrnls / my usage probably predates the manual page and may have been grandfathered in to prevent a revolution. it's called subversion!
<lechner>tex_milan / for a temporary solution i might elide the offending line (until the next reconfigure). or you can be like me and fight it for ten years, and then give in. FF does the same thing but now offers a system print dialog
<wdkrnls>lilyp: that sounds promising!
<wdkrnls>I remember reading abou those, but didn't leave with being able to make those meaningful to me.
<lilyp>which app's broken for you?
<wdkrnls>I'm just trying to wrap my head conceptually around how to actually knit different pieces of functionality together. lechner shared a script they used for their $EDITOR command.
<wdkrnls>Also, I am trying to figure out how to think about structuring scientific workflows together with containers.
<wdkrnls>It makes sense to me it cannot be containers all the way down.
<wdkrnls>Better to instantiate some finite number of containers which serve as services/daemons and then pass messages between them.
<lechner>wdkrnls / everything you need should be in your profile, unless you develop. then all bets are off
<lechner>in guix, there rarely is a need for containers because our stuff mixes so poorly to begin with
<lilyp>for scientific workflows, look at gwl, it does all the containering thing for free via guix :)
<wdkrnls>yeah, I am quite interested in it.
<lilyp>and while there is rarely a need for containers in guix, guix makes containers quite easy, so go for it by all means
<wdkrnls>I want to figure out how to extend it.
<lechner>they want emacsclient in one to talk to emacs server in the other, i think
<lilyp>cross container emacsclient?
<lilyp>that sounds like you're doing a side channel tbh
<ham5urg>Is it possible to have an own substitute server, which will build the packages on the fly when needed? In case a user does a guix install ...
<tex_milan>lechner: how to elide the offending line? the /home/milan/.guix-home/profile/share/applications/mimeinfo.cache is on read-only filesystem
<lechner>tex_milan / you are right! sorry, not sure
<lechner>ham5urg / i don't think so, but you can publish across all your equipment (which I do). you also need the avahi-service type
<tarte-tatin>"system-config/operating-system.scm at 73d16ed3294536df3aaf6299ff7191f762af3ca9 - system-config -"
<lechner>ham5urg / and here
<tarte-tatin>"system-config/guix-publish.scm at history - system-config -"
<lechner>port 4849 spells G-U-I-X on a telephone
<lechner>but i think no one else uses that port
<jlicht>lilyp: Are you okay with me looking into the provenance of the vscode-icons, and if fine, sending in a patch for #61497?
<tarte-tatin>"emacs-lsp-treemacs unused leftover icons in sources"
<lilyp>jlicht: sure, go ahead
<apoorv569[m]>When defining a package definition where/how do you get the (sha256 (base32? I definition fetches a git repo.
<Guest63>guix hash
<lechner>or take it from the failure message
<Guest63>or guix download <url>
<lechner>Hi, I may have to switch to linux-libre in order to hack on kernel modules. on the affected equipment, I do not use Wifi but i have an AMD Radeon HD8490. (I also like CPU microcode updates.) Is there anything else I am likely to miss? Here is my hwinfo
<tarte-tatin>"debian Pastezone"
<Guest63>ideally case is you dl repo and do guix hash since otherwise it could be used for attacks (they can see the user agent as guix)
<apoorv569[m]>download as in clone the repo?
<apoorv569[m]>then cd dir and guix hash .?
<ae_chep>z/win c
<sneek>Welcome back efraim!!
<Guest63>apoorv569[m]: No, do git clone <repo> and after that run guix hash -rx <repo> now you have the hash of src-code.tar.gz if the repo is from github and has releases
<Guest63>-r is for recursive since it is a directory and -x is used to exclude .git directory
<lechner>Hi, are substitutes on the substitute servers stored solely in nar format, or also in /gnu/store?
<apoorv569[m]>I created a channel how do I get the openpgp-fingerprint?
<apoorv569[m]>is just (channel (name ) (url ) (branch )) not enough?
<apoorv569[m]>this channel is just for me not public use.. do I really need pgp and all?
<efraim>sneek: botsnack
<nckx>apoorv569[m]: It should not be mandatory, although I haven't tested it.
<apoorv569[m]>I can't seem to cone the repo? I get error guix pull: error: Git error: unexpected http status code: 403
<apoorv569[m]>by clone I mean by running `guix pull && hash guix`
<nckx>Does your HTTP server log why it's denying access?
<apoorv569[m]>I'm using https:// its a private repo
<nckx>Too private, it seems :)
<nckx>(403 means Forbidden, i.e., without more info I'd say your server is expecting credentials or denying access for some other reason.)
<nckx>What I can say is that this is entirely unrelated to channel/commit authentication & GPG.
<nckx>Does a fresh ‘git clone‘ with the *exact* same URL work?
<apoorv569[m]>Ah! I think I got it.. my bad.. private repo needs username password to be cloned..
<apoorv569[m]>makes sense.
<apoorv569[m]>Its working now.
<nckx>ACTION pulls… (1) omg fancy subglyph Unicorn progress bars truly the future is now (2) wow the -/|\-/|\- progress indicator now looks absolutely disgusting in comparison.
<apoorv569[m]>blocky progress bar thing?
<apoorv569[m]>Its new? I thought it changes because of my font lol
<nckx>It will only show when your locale+font support it, but yes, it's new. :)
<nckx>ACTION considers ◔◑◕● but at least here (Hack) the glyphs are brokenly inconsistent.
<nckx>(Hack being the name of the font.)
<apoorv569[m]>Yes I know Hack I have used it in the past. Currently use Caskadiya Nerd Font for temrinal. And JetBrains Mono for programming.
<nckx>I like a disturbing number of these:
<apoorv569[m]>Docker compose uses this symbol..
<apoorv569[m]>The first one
<nckx>The Braille? Yeah, I'm a sucker for those in general, they might even be a cliché at this point, but I do think they look slick.
<apoorv569[m]>I think so yes.
<nckx>Good thing I didn't have time to waste on it :) (…yet) Good night!
<quidnunc>Why are the packages I install not getting put into my profile directory? (e.g. $GUIX_PROFILE/bin)
<quidnunc>I see the package installed in list-generations but it doesn't show up in the /gnu/store/{hash}-profile/bin that corresponds to GUIX_PROFILE
<jlicht>quidnunc: a 'profile' is immutable; normally the symlink /home/YOU/.guix-profile points to is updated to point to a newer generation. The profiles as they exist in /gnu/store/ never change, after they are made
<jlicht>s/the symlink/the profile
<jlicht>these particular store items are not actual profiles, but just a specific generation of a particular profile
<ham5urg>Is anyone who compiled for an PinephonePro here? looks pretty straightforward.
<tarte-tatin>"images\system\gnu - guix.git - GNU Guix and GNU Guix System"
<ehmry>I need to remove gdm, but I get "gdm-service-type: unbound variable" within (modify-services blah blah)
<ehmry>whatever, fixed it. it would be helpful is there was a comment in config.scm that give some hint of what use-*-modules means or where these things are defined
<the_tubular>Why are some issues not shown on that page : ?
<tarte-tatin>"Guix issue tracker"
<the_tubular>If you check the ID
<mekeor[m]>hello :) which package offers libstdc++? how can i find out which package contains a file called
<mekeor[m]>the_tubular: the issue/bug numbers are shared with emacs, e.g.. so e.g. here is 61637:
<tarte-tatin>"#61637 - 30.0.50; Fix Eglot tests that need HOME=~USER - GNU bug report logs"
<mekeor[m]>(i used the search form from )
<tarte-tatin>"GNU Bug Tracker"
<mirai>call me crazy but I think having gnome-desktop-service-type in system configuration wrecks IPv6 WAN connectivity
<mirai>I've thought it was my piece of crap switch that was acting up since I have both fedora and guix hosts hooked to it and their IPv6 connectivity to the outside world almost never works (I see packets going in and out from the router WAN port but the hosts just don't get the answers back)
<mirai>though site-local IPv6 connectivity works
<mirai>interesting thing is under mysterious circumstances the fedora host gets working IPv6 connectivity
<mirai>and may lose it any moment
<mirai>a different host running guix hooked to another switch (but still in the same LAN) has no problem with this
<mirai>all of them run networkmanager
<mirai>but the broken ones happen to run gnome desktop
<mirai>firewall is ruled out since guix doesn't have firewalld (unlike fedora)