IRC channel logs

2022-11-30.log

back to list of logs

<oriansj>(literally since 2019-09-30)
<pkill9>what does iwd replace? networkmanager?
<oriansj>pkill9: wpa_Supplicant
<oriansj>but honestly with it and dhclient; you don't need anything else
<oriansj>no connman or networkmanager or wicd or anything else
<oriansj>and honestly it has been the only thing I have been using for the last 2 years and I've never had a single problem or bug show up
<oriansj>I just need how to put EnableNetworkConfiguration=true into its configuration (so that I don't need to manually run dhclient wlan0 anymore) and turn it into a proper service like debian/arch/gentoo/slackware and all the rest have
<oriansj>right now it takes only 4 lines in my config (which can be found here: https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/guix-config.scm )
<pkill9>oriansj: isnt networkmanager supppsed to make it easier for desktop environments like gnome?
<pkill9>that's basically what it's for i guess
<lechner>nckx / hopefully, we will know soon if that sanity check is working
<SeerLite>Hi! I tried to send a "bump" e-mail to patch 54221 via the debbugs e-mail address, but it didn't get added to the issue page :s
<lechner>SeerLite / we filter out all bumps
<SeerLite>Ohhh
<SeerLite>Then what should I do to get attention to my patch? It's been quite some time since I sent the last update, and I think it's ok to apply it
<lechner>SeerLite / just kidding! i'm sure it'll appear shortly
<SeerLite>Oh ;_;
<oriansj>pkill9: well I guess if one preference is clicky clicky; then yeah I guess that is easier but I prefer TUI/CLI interactions
<lechner>i have the same issue
<SeerLite>Alright thanks haha
<pkill9>i prefer clicky clicky yes heh
<SeerLite>Weird though, because I sent a new patch just before sending the bump and debbugs made an issue for it almost immediately
<oriansj>pkill9: then my configuration file is definitely not for you
<pkill9>id like to see your config file noe out of curiosity
<pkill9>now*
<oriansj>pkill9: https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/guix-config.scm
<oriansj>here are the install instructions: https://git.sr.ht/~oriansj/System_setup/tree/main/item/install%20guixsd.txt
<oriansj>and here is the user package manifest (it still needs work) https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/guix-manifest.scm
<oriansj>and if anyone wants to have an exactly matching setup (down to all the tweaks): https://git.sr.ht/~oriansj/config
<oriansj>and if anyone wants exactly matching setups on other distros: there are install procedures for them as well: https://git.sr.ht/~oriansj/System_setup/tree
<pkill9>i like the package descriptions
<oriansj>thank you, I try to make it as easy to understand and to have no secret or hard to understand bits
<euandreh>I've just sent a patch with the Postfix package :) It was the hardest for me so far
<euandreh>Another patch with the equivalent postfix-service-type is coming soon :D
<oriansj>holy crap nyxt requests 102GB of RAM to just start
<kaelyn>podiki[m]: The Pine folks have several SBC boards like the ROCK64 and Quartz64 listed on pine64.org. Not sure of their level of support in Guix though
<podiki[m]>Thanks, I'll have to take a look
<jlicht>Fwiw, I believe network manager (and other clicks click tools) can use iwd as a backend.
<Fare>if someone has managed to get a pine64 board or computer or phone working recently, I'm interested... I am experiencing a weird backtrace.
<zacchae[m]>Fare: native or just the package manager?
<zacchae[m]>I use guix home on my pinephone pro for everything. The only time I use apt is to apt update && apt upgrade
<apteryx>euandreh: sounds good!
<apteryx>podiki[m]: hopefully fixed with b4be83b6ac; thanks for the heads-up!
<Fare>zacchae[m], native. Layering guix on top of something should be easy... isn't it?
<Fare>but frankly, I hate the interface provided by either Ubuntu or Manjaro... it's unusable.
<Fare>wait, I meant mobian, not ubuntu... not that I expect much better from Ubuntu.
<oriansj>Fare: installing guix on top of another distro is quite simple: https://git.sr.ht/~oriansj/System_setup/tree/main/item/install%20guix.sh keeping everything working however is a very different story
<oriansj>as I don't think any of the Guix devs actually does testing upon other distros except maybe (rare) if there is an embrassing bug
<lechner>Hi, is there common name for the folders under /gnu/store, such as "store item"?
<podiki[m]>apteryx: thanks, will check the builds later but I think that should do it
<nckx>Almost 7000 rebuilds across platforms, thanks to #:cargo-inputs <https://ci.guix.gnu.org/eval/7930> (so of course finding the culprit, rust-which@4, was also a chore).
<nckx>unmatched-paren: Build that bonfire high.
<mirai>Does 'guix pull --commit=...' allow me to downgrade guix temporarily?
<nckx>With --allow-downgrades it does 😉
<nckx>lechner: Yes. A store item is /gnu/store/* (asumming standard globbing rules of course).
<oriansj>you can also use previous versions of guix directly
<Michal_Atlas[m]>Hello, if I'm adding a package that is almost certainly going to be just a simple dependency for one specific other package, should it be private or are all packages public on principle?
<oriansj>Michal_Atlas[m]: well the general idea is to make it easy for other people to build upon your work; private packages can't be used by others who might wish to do so
<Michal_Atlas[m]>That makes sense, on the other hand polluting the global namespace with a package that is basically just 10 lua scripts used specifically by tes3mp seemed wasteful to me,
<Michal_Atlas[m]>Thank you, imma make them public then
<nckx>Michal_Atlas[m]: Private is fine too.
<nckx>From what you describe, it might be the better choice. This can be discussed during review.
<nckx> https://github.com/TES3MP/CoreScripts ?
<Michal_Atlas[m]>Yes
<nckx>Not that the number makes the differents, but it's just a tad over ‘10’

<nckx>*ce
<Michal_Atlas[m]>I know
<nckx>Then writing 10 anyway was an odd choice.
<nckx>Unless these must be baked into the final tes3mp package somehow, probably best kept public yes.
<Michal_Atlas[m]>You are correct, it was an example ballpark guess, since this was basically the only part of the process that went smoothly so I didn't really familiarize myself with the contents of the repo that much, I will see to it to be more accurate in the future
<zacchae[m]>Fare: Youl'd think it would be simple. It is with the pro, but I had problems with too little RAM on the pinephone (not pro), and I was never able to build a home environment
<nckx>😃 Good, good!
<zacchae[m]>That has me worried about the Librem 5. It has the same amount of RAM as the non-pro pinephone. Maybe the L5 will work with native guix because less overhead from a seperate OS.
<nckx>3 GiB? Wow.
<nckx>I'd expect problems with 1, maybe 2 (which is still unreasonable, sure). Does the OS use a lot of it?
<nckx>No swap?
<zacchae[m]>I'm running mobian. I set up swap, but it was too slow... iirc, I made a huge swap file, and left it to do its business overnight. Don't remember if it was frozen or had rebooted
<nckx>I was thinking more of z{swap,ram} which is practically standard nowadays, but OK. RIP ur flash.
<zacchae[m]>yeah, that's why I did it only once. Is z{swap,ram} better for not killing my flash?
<nckx>I wasn't too serious about that part; modern flash is pretty resilient. But yes, it will (often drastically) reduce writes at the expense of CPU time. Negligible on x86; don't know about the PPP.
<nckx>The default configuration (zbud + lz
4? I think?) also limits compression to 1:2 at best.
<nckx>With zsmalloc + zstd, you can easily reach 1:4.
<oriansj>nckx: but what about having your swap be encrypted and on a removable and replacable SD card?
<zacchae[m]>I see. Maybe I will try again. the ppp is nice because of more ram, but the pp has better support (working camera, maps), so If I could get it working, that would be ideal
<oriansj>then if the flash dies, you just pop it out and then insert a brand new SD card
<nckx>Remember, it's called swap because you can easily swap out SD cards when you run out of RAM, and exchange cool in-memory content with your buds.
<oriansj>reduces the cost of killing your flash to a couple dollars and you can buy 1TB SD cards
<nckx>‘Need to swap in page 4235221. Please insert flopp^Wcard #3.’
<oriansj>lol
<oriansj>I haven't yet found a need to have more than 24GB of Swap+RAM (unless I am doing Rust builds on more than 1 core but that makes it an order of magnitude slower due to the extra memory swapping)
<oriansj>so 8GB of RAM + 16GB SD card make for a happy combo here
<oriansj>although I haven't yet how to replicate my Debian swap config on guix yet
<oriansj>^yet^yet figured out^
<nckx>I have 12 GiB of swap (to 16 GiB of RAM, board maximum) but it hardly ever gets used. Even when I'm ‘swapping’ heavily it's mostly to RAM, with said zstd zswap.
<nckx>It's used mainly for hibernation.
<nckx>I tremble to ask what is this ‘swap config’ and if it involves multiple SD card readers daisy-chained for speed.
<nckx>It's going to be some run-time on-demand swap file thing, isn't it.
<nckx>lechner: <hopefully, we will know soon> Ehm, OK. Have fun. If too much fun: guix-security@ please :)
<oriansj>nope; just a very simple
<oriansj>if done in pseudocode
<oriansj>(if (inserted SD-card) (begin (format SD-card mkswap) (mount (device SD-card) (encrypted #t) (target "/dev/mapper/cryptswap")) (swapon "/dev/mapper/cryptswap")))
<oriansj>it is a low priority task; so I'm just manually mounting the swap on boot and manually enabling the swap
<nckx>IC.
<oriansj>and this is an x200 so it is pretty standard and I could do a half procedure to just manually format the drive and just have guix mount swap if available
<abhicherath[m]>Is there a package that sets XDG-DATA-DIRS in guix-profile?
<abhicherath[m]>Or do I have to set it separately in bash_profile?
<lechner>abhicherath[m] / i think one of the login managers is supposed to do that for you, when appropriate
<lechner>do you get an error?
<abhicherath[m]>I'm using a foreign distro (Debian)
<abhicherath[m]>I thought that might be the case hm
<abhicherath[m]>Yep I'll just append to it in bash_profile no worries
<abhicherath[m]>Although is there a reason the script in /etc/profile.d doesn't have it?
<abhicherath[m]>I think it'd be fine to have it there no? It's sort of odd installing GUI packages and not having em show up in the launcher
<abhicherath[m]>abhicherath[m]: (The one the installer creates)
<lechner>abhicherath[m] / i'm sorry but i don't know. that interaction is a mystery to me even in Guix System. I will say that I do not think that the XDG_* variables are meant to be set by shell configurations or in your profile
<abhicherath[m]>Hmm I guess it'll do for now, I'll look into it over the weekend
<abhicherath[m]>Thanks :)
<abhicherath[m]>Op apparently its in accountsservice in gnu/freedesktop
<abhicherath[m]>I'll submit a documentation patch for it, and wait for someone to correct me đŸ€Ł
<florhizome[m]>podiki yup, a couple, depends what you want to do
<bobc>hi, I need help. I am running antiX a debian based distro, and installed guix from binary, and also tried via synaptic, but either way I end up getting rhe same error
<bobc>$ sudo guix pull
<bobc>guix pull: error: failed to connect to `/var/guix/daemon-socket/socket': No such file or directory
<bobc>i checked and there is a daemon running called guix-daem$ (maybe that is an abbreviation)
<bobc>same error as myself or via sudo also
<nckx>Does /var/guix/daemon-socket/socket exist?
<bobc>i will look. i didn't notice that i was supposed to create i manually
<nckx>You are not.
<jonscoresby>when a package has multiple outputs with different dependencies, are all the dependencies required to build any one of the outputs? If not, how does guix know which outputs depend on which inputs?
<bobc>partially...
<bobc>bobc@m2400:/var/guix
<bobc>$ ls -l
<bobc>total 12
<bobc>drwxr-xr-x 2 root root 4096 Dec 31 1969 db
<bobc>drwxr-xr-x 2 root root 4096 Dec 31 1969 gcroots
<bobc>drwxr-xr-x 3 root root 4096 Dec 31 1969 profiles
<nckx>bobc: Please use paste.debian.net to paste long reams of text.
<bobc>sorry
<nckx>jonscoresby: Packages are built once, outputs are split during installation time (that is, as part of the build). All inputs are present during the build.
<jonscoresby>nckx: so all the outputs are built, but not neccesarily installed? Am I understanding correctly?
<nckx>All outputs are built and stored in the store, but only the output you specify is installed.
<bobc>so, directory above was created, but not daemon-socket directory or socket itself
<nckx>jonscoresby: Outputs (any output, including packages with only one output) can refer to other outputs. That's what's sometimes referred to as ‘dependencies’ in the UI, but I prefer to call them references, because that's what they are. If /gnu/store/xxx-hello/bin/hello links to /gnu/store/yyy-ncurses/lib/libncurses.so, then Guix will always make sure yyy-ncurses is kept (not garbage-collected) as long as xxx-hello is in the store.
<nckx>And if you download xxx-hello, Guix will know to download yyy-ncurses along with it, because of this reference.
<nckx>So it's not like other distributions where a human provides a list of ‘dependencies’ that need to be installed alongside a package.
<nckx>You'll notice there's no such field in Guix packages; only build inputs.
<nckx>bobc: Try restarting the guix-daemon. Installing it multiple times in different ways probably confused your system.
<jonscoresby>nckx: Thanks for the help. Can you help me understand this  from the manual:
<jonscoresby>Some packages install programs with different “dependency footprints”. For instance, the WordNet package installs both command-line tools and graphical user interfaces (GUIs). The former depend solely on the C library, whereas the latter depend on Tcl/Tk and the underlying X libraries. In this case, we leave the command-line tools in the
<jonscoresby>default output, whereas the GUIs are in a separate output. This allows users who do not need the GUIs to save space.
<jonscoresby>If the different outputs are still in the store, how is there space savings?
<nckx>bobc: ‘service guix-daemon restart’, maybe. I don't speak AntiX.
<bobc>it is an old style no systemd like debian wheezy setup, i believe. i will try the command
<podiki[m]>sneek: later tell apteryx builds for x86_64 went fine (linux module builder fix), i686 I guess was failing before anyway
<sneek>Okay.
<nckx>jonscoresby: Yeah, if you build wordnet locally, Guix will still have to download all inputs for use during the build. No space savings in that case, at that time. But (1) after the build is complete, outputs that were not explicitly installed are subject to garbage collection—along with all the unused X stuff (2) most people don't build most packages locally, they let Guix transparently download substitutes, and Guix will download only the outputs (and henc
<nckx>e their dependencies) that you asked for.
<florhizome[m]><nckx> "I have 12 GiB of swap (to 16 GiB..." <- I thought the thing that swaps in RAM is zram ... I want to set up a swap Partition in Order to enable hibernation, too. Not sure If i can keep my zram config around then đŸ€”
<nckx>ACTION doesn't use zram.
<florhizome[m]>but good to know zswap can be used for hibernation that's Kind of implicitly clear but noone ever writes it out
<nckx>jonscoresby: So *building* wordnet always produces :tk and :out in the store. By design; there is no way out of that. Even if you only ran ‘guix install wordnet’ (=default :out). But *if* you have substitutes enabled (and there is one), you don't need to build anything, and Guix will download only wordnet:out.
<bobc>nckx: looks like command itself existed, but then had trouble: /etc/init.d/guix-daemon: line 35: daemonize: command not found
<bobc>
<nckx>florhizome[m]: It can't be used ‘for’ hibernation, but it doesn't interfere. I don't see how it would, but yes, you are safe :)
<nckx>bobc: OK. The installer assumes that ‘uses System V init’ == ‘has daemonize’. <https://git.savannah.gnu.org/cgit/guix.git/tree/etc/init.d/guix-daemon.in#n31>
<nckx>If that's not the case on AntiX, it will need explicit support.
<nckx>Maybe it's something you can install?
<bobc>i will check. i think this pc is sysvinit
<nckx>You could also write your own service instead.
<nckx>Guix definitely detected it as sysvinit, but it doesn't explicitly check for daemonize.
<jonscoresby>nckx: That is making more sense. So in the case where you download wordnet:out, does guix also download tk?
<nckx>I'll change the installation script to error out if ‘daemonize’ isn't present, but that won't help AntiX users.
<nckx>jonscoresby: Nope!
<bobc>nckx, thanks, i will see if i can find/install it
<nckx>Nor anything that's only referenced by :tk, i.e., all that X stuff the manual talks about.
<jonscoresby>nckx: So how does it know which outputs require which inputs?
<florhizome[m]>nckx: uhm so could i hibernate to zswap or not
<nckx>florhizome[m]: You cannot hibernate to zswap, but zswap requires swap space, and that's where the hibernation image is stored.
<florhizome[m]>interesting
<florhizome[m]>So when it hibernates it doesn't zswap
<nckx>florhizome[m]: The zswap is ‘just RAM’ after all: it's written to disc as part of hibernation.
<nckx>I think you're making it more complicated in your mind than it really is.
<florhizome[m]>Probably
<florhizome[m]>This algorithm thingy in the middle bogs my mind
<nckx>There is nothing in the middle. The hibernation code in the kernel doesn't even see zswap. It sees disc space, and RAM. That's all that exists in its worldview. It writes the RAM to the disc space. That's all it knows how to do.
<florhizome[m]>I actually probably don't really need zram but its kinda cool
<florhizome[m]>Ok
<nckx>So if you try to hibernate with only zram, the kernel says uhm no you don't have swap, bye. If you have zswap, you by definition have some disc swap, and the kernel will try to hibernate to it. It might run out of disc space and fail, but that can happen without zanything too.
<florhizome[m]>It's different then when it actually swaps
<nckx>Yes.
<nckx>Hibernation does not use the paging mechanism. That's a common myth.
<nckx>It writes a compressed stream straight to disc.
<nckx>It does not swap out each page and then turn off the lights.
<jonscoresby>nckx: To make my question more specific, when I install wordnet:out, how does guix know that wordnet:out doesn't need tk? Is it in the package definition or the build system? Or somewhere else?
<florhizome[m]>yeah that would have seemed a bit error prone to me maybe
<bobc>nckx, thanks, that helped. I installed daemonize package from repos then service restart command worked. I will look for a how to video. I appreciate the help
<florhizome[m]>But actually that means zram can't stand in the way of hibernation. The only risk of having zram and zswap is that swapping is done unefficiently.
<nckx>jonscoresby: No, it's completely separate. Packages (and their inputs) determine how something is built, nothing more. The only thing that determines whether the *output* needs ‘foo’, is whether /gnu/store/<hash>-foo/ occurs anywhere in the output.
<nckx>florhizome[m]: The first sentence is true, I don't grok the second.
<nckx>(jonscoresby quit before I could note the horrors of propagation. Wise call.)
<florhizome[m]>When you have zram and a swap you want to Swap to zram first i think
<nckx>Oh, you mean literally having zram and zswap at the same time? Yes, that's probably inefficient.
<florhizome[m]>I simply read there can be some complication having both Things but it seems that wouldn't conflict hibernation
<nckx>Unless you're doing something very ‘clever’ with different tiered compression algorithms and hoping that the kernel plays along.
<jonscoresby>I'm back so that I may understand the horrors of propagation :)
<nckx>florhizome[m]: What kind of complication? I'm interested.
<nckx>Noo.
<nckx>Damn you and your knowledge of our logs.
<florhizome[m]>Which was my Horror. Unefficiently can be survived^^
<florhizome[m]>What i think i read is give a low swappiness to the Swap so zram is almost always preferred
<nckx>s/swappiness/priority/ just for clarity. Swappiness is a global knob.
<florhizome[m]>A global variable
<nckx>florhizome[m]: I can imagine someone not understanding what zram is, reading that it is ‘swap’ on Ubuntuworld.biz, and thinking ‘aha, that means I can hibernate’ without having a swap partition. That's
 silly, but understandable if one is new. But that's not you.
<florhizome[m]>No i was worrying zram could mess up hibernation
<nckx>jonscoresby: Well, the above is really the most important part, that inputs != ‘dependencies’ as used in other distributions.
<jonscoresby>nckx: btw, your answer completed my understanding and low key blew my mind. So if I understand correctly, a program's dependencies in guix are wholly separate from the package definition. The dependency graph is baked into the outputs and the store itself
<nckx>
yes! You got it.
<florhizome[m]>I'm Not so worried about swap Not working so Well, i'm sitting on 24G RAM
<nckx>jonscoresby: 
until propagation comes along to spoil that (but the model above is still correct, and it applies generally).
<jonscoresby>nckx: propogation as in propogated-inputs?
<nckx>jonscoresby: But as an inelegant hack, sometimes you just need to say ‘when I install X, also install Y, don't ask questions’. That's almost always a pragmatic compromise: you *could* make X properly refer to Y, but X was written in such a way that it assumes a very traditional distro, and it's Too Hard. So you write (propagated-inputs (list Y)) instead of (inputs (list Y)), and Guix will sigh and simply include Y whenever you install X.
<nckx>But again, the epiphany you had above is still correct, and important.
<nckx>This is just a hack.
<jonscoresby>nckx: alright. makes sense. I think I can sleep now. thanks for your help
<nckx>florhizome[m]: Unless you have specific concerns or workloads, I wouldn't worry. That sounds like vague scare-mongering. As long as you configure it sanely, Linux will do the right thing for most workloads.
<nckx>jonscoresby: Good night!
<nckx>bobc: Glad to hear it worked. There are some videos on the Guix home page that we can vouch for; random 'tubers not so much. I hope you have fun.
<nckx>ACTION also → đŸ˜ŽđŸ’€
<bobc>nckx, yes, thanks, i'm still working at it. i'll look there
<unmatched-paren>morning guix!
<euandreh>apteryx: :D
<rothari>Hi guys, is it me or Guix repositories do not provide a GUI version of Transmission (a BitTorrent client)? The package `transmission` only provides command-line programs.
<unwox>rothari: transmission package has "gui" output, try installing that
<florhizome[m]>unmatched-paren morning!
<florhizome[m]>nckx yes i simply never read of anyone doing it and i had a complicated View of hibernation
<florhizome[m]>unmatched-paren paren did you get your last vouch 👀
<Lumine>Good morning #guix
<civodul>i almost got an RC1 ready but then... https://issues.guix.gnu.org/59717
<cbaines>civodul, looking at the logs here, that's been an issue for a while https://data.guix.gnu.org/repository/1/branch/master/package/guix/output-history?output=out&system=armhf-linux&target=none
<cbaines>Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS at least as far back as 2021-09
<cbaines>civodul, I think it's non-deterministic, as it does sometimes build
<cbaines>I maybe haven't helped with this since I removed the guix package from the release manifest
<cbaines>I didn't think there was any interest in fixing it though, especially with the state of ci.guix.gnu.org substitutes for armhf-linux
<civodul>cbaines: yeah, i guess that shows that... we could have done better
<civodul>:-)
<civodul>we must do something about memory consumption
<civodul>for now, maybe we'll just drop armhf-linux from this release
<civodul>trying to get a better understanding of the problem first
<cbaines>also, I seem to be having childhurd problems, not sure why though, but the services don't seem to start
<florhizome[m]><civodul> "we must do something about..." <- This is not really related but lately there had been a notion how in gentoo one can find tune the build options for each build system to Deal with memory restrictions
<efraim>civodul: is that on native armhf hardware or on aarch64? (or x86_64 with qemu-binfmt?)
<efraim>I was going to suggest dropping to O1 for packages for armhf but I see in (guix build compile) it's already at O1 for gnu/packages
<efraim>I don't know how that happens since it gets past there on powerpc-linux and fails on the tests
<civodul>efraim: that's on an overdrive
<civodul>it seems to be reproducible
<efraim>civodul: I'm trying to build guix from the 1.4.0 branch (not release) for armhf using my pine64
<efraim>might take a while to get to that point though
<civodul>ok
<Andronikos>Using Guix on foreign distro. Is it possible to run "guix pull" and "guix package -i" only once instead of root and normal user?
<rekado>Andronikos: you can make one link to the other
<rekado>you only need to do it for the root user if that account is using Guix
<jlicht>How can greetd/agreety be used while respecting the user shell? It seems to always go with bash
<jlicht>(On Guix System, with the greetd service)
<Andronikos>rekado: Thanks.
<unwox>jlicht: you need to specify your shell in "command" field of greetd-agreety-session record
<unwox> https://guix.gnu.org/en/manual/devel/en/html_node/Base-Services.html#index-greetd_002dagreety_002dsession
<jlicht>Hmm, feels a bit weird to have to specify a login command per greeter, instead of per user
<ardumont>civodul: hello, i had a look at the discussion you pointed me (on store "file search"), it's definitely interesting (and the offline part is really what i need)
<ardumont>what's a way forward?
<ardumont>(if any)
<ardumont>(can i help or something? ;)
<ardumont>(i'm a somewhat "miscelleanous" lisper so)
<civodul>ardumont: hi! sure! i guess you could champion discussions & development of such a tool
<civodul>so it's mostly about finding out how to make the info available
<civodul>perhaps there could be a default mode of operation downloading the database from some server
<civodul>and an other mode of operation where it'd use purely local knowledge
<ardumont>regarding the implementation, the end discussion talked about compression, is that solely in regards to serving the result from somewhere?
<civodul>yes
<civodul>otherwise it doesn't really matter
<ardumont>(or is that some implementation adaptation so the tool is doing it?)
<ardumont>i have my answer ;)
<civodul>this is the latest version i have: https://web.fdn.fr/~lcourtes/pastebin/file-database.scm.html
<ardumont>thx, where should that live?
<ardumont>(in the end i mean) in the guix repo in a branch?
<ardumont>(we can always sort out the details of what's there to do regarding licenses and whatnot, i'll comply to whatever is required)
<mothacehe>hey guix! anyone has root access on the 10.0.0.14 overdrive machine Julien recently connected?
<rekado>I don’t
<mothacehe>i'll send an email
<mothacehe>it's running an old cuirass and i'd like to reconfigure it
<rekado>I sent an email yesterday
<rekado>same issue :)
<zimoun>hey ardumont :-)
<ardumont>civodul: no promise on eta yet but i'll check what i can do (i got one last question below your last answer, sorry, i had forgotten to highlight you ;)
<ardumont>hello zimoun ;)
<zimoun>civodul: the link fails for me
<civodul>ardumont: in the end it would be part of Guix
<civodul>that's the kind of tool that's generally useful
<ardumont>yes
<zimoun>or via an extension?
<zimoun>civodul: -^
<ardumont>i was gonna ask, is guix providing a way to extend the guix cli through extension already?
<civodul>it can start its life as an extension, sure
<ardumont>(since it's lisp and all that, somehow that makes sense to me ;)
<civodul>but the way i see it it should be part of Guix proper at some point
<zimoun>ardumont: yes, exemples are here https://issues.guix.gnu.org/58463
<ardumont>nice
<civodul>zimoun demoed extensions at the 10 years :-)
<civodul>yep
<ardumont>(oh i missed it, i was not there yet)
<ardumont>(or already left ¯\_(ツ)_/¯)
<zimoun> https://10years.guix.gnu.org/video/guix-repl-to-infinity-and-beyond/
<ardumont>i like that title ;)
<ardumont>(thx)
<zimoun>civodul: I think we should go a path where we have more extensions and less all-in subcommands. For sure, tradeoff with maintenance. :-)
<ardumont>yes, that'd make sense ^
<Andronikos>The new package site for Guix has finally a search bar. Was really a hassle to look if a package was supported by Guix and if I could switch distro. So I just want to thank the person/s who did this.
<ham5urg>I'm looking into elogind. Is it possible to trick Gnome to hibernate instead of suspend? In logind.conf I configured to hibernate via lidswitch, suspendswitch, etc. But is it possible to hibernate instead of suspend?
<efraim>civodul: I'm up to gnu/packages/xorg now, so I've made it past the point where you got stuck
<tricon>zimoun: Your Guix REPL extensions talk was excellent. Thanks for that.
<ardumont>zimoun: your video, nice! it's really feels like (as usual with lisp) power at your fingertips!
<tricon>ACTION high-fives ardumont
<ardumont>ACTION totally high-fives back to tricon
<ardumont>plus those guix repl snippets are de-facto reproducible ;)
<ardumont>zimoun: relatedly to those extensions, how do you expect user to use this extension mechanism?
<ardumont>through alias (like guix=`GUIX_EXTENSION_PATH=... guix`) or that extension generally set by the users' env?
<ardumont>(or something else i don't see)
<ardumont>(well a guix wrapper could do as well)
<tricon>ardumont: i would just set the env var in my shell profile, or manage it with guix home.
<ardumont>yes, my shell profile is managed by guix home (or home-manager ;)
<zimoun>ardumont: I think we could have a guix-build-system setting this variable and doing other stuff. Then distribute the extensions as regular packages.
<ardumont>but i don't know what's best, an alias or an env var or if there is something better that i don't know of yet
<zimoun> https://issues.guix.gnu.org/58339
<ardumont>yes, thx (sorry if i make you repeat, i've read quite some part of the manual and some ml discussions but not all of them mind ya' ;))
<zimoun>in ^ #58339, it is done via a phases
<zimoun>and this phase could be included in a build system
<zimoun>no worry :-)
<rekado> /gnu/store/n7nxrm1b31xri1fyydmhx9myzq5cxq63-shepherd-0.9.3.drv fails on aarch64; one test failure. Will try again with cores=1
<jas>trying to install guix on SolidRun ClearFog CX LX2 via ubuntu. installation went fine, but 'guix pull' ends with "guix pull: error: cloning builder process: Invalid argument". how to debug? it has 32GB RAM
<euandreh>jas: is there any other text around the error?
<civodul>jas: hi! we had a similar report recently with Ubuntu kernels on AArch64
<civodul>would be great if you could report all the details to bug-guix@gnu.org
<civodul>namely, the output of "uname -a"
<civodul>the command and its output
<civodul>and ideally an excerpt of the strace log of the guix-daemon processes
<ardumont>civodul: don't you have a command for that ;) (another idea for an extension)?
<civodul>ardumont: thinking of "guix report-bug"?
<civodul>that could be useful
<ardumont>(something like: https://github.com/org-trello/org-trello/blob/master/org-trello.el#L498-L525 ;)
<ardumont>exactly
<civodul>although what to include there really depends on the kind of bug
<ardumont>yes, well, one can always strip out the unneeded part once the command outputted the defaults
<civodul>yeah
<zimoun>yeah, it depends but many first questions are often the same
<zimoun>as “guix describe” for instance
<civodul>true
<ardumont>yep
<mothacehe>reusing/extending the installer coredump mechanism could also be nice i guess
<zimoun>yes
<lechner>Hi, does 'guix shell' perform any essential functions while it runs, or is its job merely to set and later unset certain environment variables (after installing needed packages in the store), please? As an EXWM user, I am reluctant to start child Emacsen for development. Could Emacs create the needed one-off profile?
<civodul>lechner: hi! it spawns a shell
<lechner>civodul / yeah, that's what i am trying to avoid! i like Eshell
<civodul>lechner: then you can try things like: eval $(guix shell foo bar --search-paths)
<civodul>or use emacs-buffer-env (never tried it yet)
<lechner>civodul / thank you for those hints! i am still trying to much my way through this, as well https://dthompson.us/guix-for-development.html
<lechner>munch
<rekado>jas: I had the same problem with Ubuntu
<rekado>the clone syscall fails for some reaon
<rekado>*reason
<rekado>I haven’t investigated more, but if you just want to get past this problem consider running the “guix-daemon” command with “--disable-chroot”
<rekado>it’s not recommended, but that’s how I managed to update Guix to install Guix System eventually.
<rekado>(also on a SolidRun LX2 machine, honeycomb)
<elevenkb>lechner: interestingly enough when I `cd` into a checkout of the guix source code and run `./pre-inst-env guix shell -D hello` for example, my eshell is preserved.
<elevenkb>Have no clue why though,,,
<lechner>elevenkb / Hi, I have heard it's possible, but never met anyone. People say it may be an issue with my Bash setup. Will you share yours, please?
<lechner>Maybe we could get rid of 'guix system reconfigure'. 'guix deploy' always happens in user space and is far superior. what a great tool!
<elevenkb>hmm, i'm using a starter kit for guix home. so the answer is no for now :(
<lechner>elevenkb / what's a starter kit, please? i have guix home, as well
<elevenkb>lechner: you know of spacemacs and doom emacs? well i have something like that for guix home/system
<elevenkb>trop.in/rde
<elevenkb>Also it seems to be something having to do with the `pre-inst-env` script that is in the root directory of the guix source tree. When I try `guix shell` on its own I drop into a zsh prompt, but when I do `./pre-inst-env guix shell` then the eshell is preserved.
<ardumont>zimoun: your hello.scm is missing the #:use-module (guix scripts) import and the sexp (G_ "hello world") is crashing the call
<ardumont>¯\_(ツ)_/¯
<ardumont>adding the missing import and replace by simple (display "hello folks!") it's working now
<ardumont>jsyk
<zimoun>ardumont: my hello.scm from where? :-)
<ardumont> https://fulbert.neocities.org/guix/10-years-of-guix/simon-tournier-guix-repl/guix-cookbook/minimal-example.html
<ardumont>something linked from here i think
<ardumont>maybe not yours then ?
<ardumont>(sorry for the noise then)
<zimoun>not fully mine. :-) It is the extractation from my lightening talk. And my lightening talk was not fully polished.
<ardumont>i got fooled by the css style which is the same as the official doc ;)
<zimoun>yeah, at 7:42 in the video, you can see a typo in the module name for instance.
<zimoun>well, this material is turned into a cookbook recipe https://issues.guix.gnu.org/58463
<zimoun>tricon: thanks :-)
<ardumont>in the video, i saw the extension typo in the import instruction, don't know if it's that one
<ardumont>you're talking about
<ardumont>that's a nice cookbook recipe (from what i've read so far)
<ardumont>(not that much though)
<lechner>Hi, there is a new Emacs terminal emulator! https://codeberg.org/akib/emacs-eat
<ardumont>nice!
<lechner>no more vterm
<tricon>lechner: thank you for the link. this is appealing.
<unmatched-paren>afternoon guix! :)
<apteryx>OK, so I think I'm now knowledgeable enough to share about the RPi firmware situation: it requires a proprietary blob as its bootloader to function, at least with all the features. There is an effort to replace this with some libre component (https://github.com/librerpi/lk-overlay), but it is not currently able to boot a Linux kernel or use HDMI
<sneek>apteryx, you have 1 message!
<sneek>apteryx, podiki[m] says: builds for x86_64 went fine (linux module builder fix), i686 I guess was failing before anyway
<podiki[m]>ugh is the matrix bridge broken again (not receiving messages)
<podiki[m]>well I can send at least; hopefully it comes back later
<mirai>What's causing "error: =>: bad use of '=>' syntactic keyword" (https://paste.centos.org/view/736c0a05)
<efraim>civodul: the grafts test failed for me for armhf
<efraim>rekado: would 'sudo sysctl -w kernel.unprivileged_userns_clone=1' help perhaps?
<efraim>finally thought of it with the aarch64 machines
<rekado>efraim: I don’t have a machine to test this with right now (it’s now pankow, and it’s in operation)
<efraim>ok
<rekado>jas: could you try the above please?
<civodul>efraim: so you managed to reach the 'check' phase? how much RAM do you have? :-)
<civodul>right now i'm testing a followup to ef82ba9dd94369926eb13325d5e7da4306d23dd7
<civodul>feeling a bit ashamed, but hey, with help from the heap profiler we might be able to make progress on that front
<mirai>is gdm not a herd service?
<mirai>how can I start gdm through herd?
<mirai>I'm using gdm but it doesn't appear under herd status
<unmatched-paren>mirai: you using sudo?
<unmatched-paren>``sudo herd status''
<unmatched-paren>``herd status'' on its own will show Guix Home services
<rekado>mirai: it’s not called gdm
<rekado>I think it provides “xorg-server”
<mirai>unmatched-paren: yes
<Guest88>How can I schedule a Guix pull once a week? Thank you
<mirai>rekado: thanks
<rekado>Guest88: the manual has something to say about this in 12.9.6 Unattended Upgrades
<sneek>jgart[m]: wb!!
<HexMachina>Hi all - the Guix installer for foreign distros (https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh) appears to clobber /usr/local/share/info/dir with the version in /var/guix/profiles/per-user/root/current-guix/share/info/dir
<HexMachina>which means that after running the Guix installer, I no longer have access to info docs from anything I've manually installed from source into /usr/local
<HexMachina>Some will say "just manage software installed from source through Guix" or "install to $HOME/.local instead of /usr/local" but this was pretty disrupting to my existing workflow
<unmatched-paren>HexMachina: i've seen this reported before, i think
<HexMachina>So the script also symlinks all the other files in ${var_guix}/share/info into the /usr/local folder - would a solution be to simlink all the info files EXCEPT the dir file, and then regenerate the dir file in /usr/local after adding the guix symlinks?
<HexMachina>So the new dir would have all the new guix manuals, as well as whatever esle the user had installed
<unmatched-paren>maybe? i don't know too much about info
<HexMachina>I was eager to try out Guix, and was on the fence about installing right now vs waiting for the official 1.4.0 to come out, but was eager to try it out sooner and also wanted to help test things out - and I would say that rough edges like this have an outsized negative impact on new users looking to try out Guix for the first time on their distro
<unmatched-paren>yeah, that kind of thing is definitely something we want to address
<HexMachina>unmatched-paren: an update to guix-install.sh along the lines of:
<HexMachina>- for i in "${var_guix}"/share/info/*; do
<HexMachina>+ for i in "${var_guix}"/share/info/*.info "${var_guix}"/share/info/*.info.gz; do
<HexMachina> ln -sf "$i" "$info_path"
<HexMachina>+ install-info "$i" "$info_path"/dir
<HexMachina>to only symlink the info files and not the dir file itself, and to add the info files to the existing dir file instead of just clobbering the user's dir file with the one from guix
<civodul>ACTION managed to build the 'guix' package for armhf-linux \o/
<efraim>civodul: that machine has 2GB of ram and 4GB of swap
<efraim>the powerpc machine has 1.5 GB of ram and 2.5GB of swap and made it through the test phase also
<efraim>* not today, that was a month or two ago
<apteryx>what should the image for a system that has u-boot pre-installed on an onbard SPI flash chip look like? Just the rootfs on the scdard, and that's it?
<gabber>how can i connect from Guix System to another Guix System with Emacs' TRAMP? doing research i found an ancient (2016) thread in the mailing list. i doubt i have the same issue regarding the spread of Emacs in this community
<lechner>gabber / Hi, something like this works for me locally /ssh:$HOST:SFOLDER
<gabber>for me too, usually. i'm also pretty sure i've used it from Guix to Guix, but right now i'm failing -- with about the same symptoms as described in this thread: https://lists.gnu.org/archive/html/help-guix/2016-10/msg00041.html
<gabber>lechner: do you _literally_ type that as a path or do you manually substitute $HOME and SFOLDER with appropriate hostname/IP addr and path respectively?
<apteryx>gabber: I had some mysterious TRAMP failure recently... rebooting my machine fixed it
<apteryx>not sure what it was caused by
<lechner>gabber / i'm not sure. all my systems are now Guix. i only distributed my public ssh keys.
<gabber>ok, i now copied my key to the remote machine but i still get "File error: Couldn't find a proper `ls' command"
<lechner>when opening a file?
<gabber>yes
<gabber>it's the same when i do it with a directory as argument ;)
<lechner>sounds like an alias definition failed to execute
<gabber>ah, no, not *exactly* the same. the former gives a "File error:", the latter a "tramp-error:" in the *Messages* buffer
<gabber>apteryx: unfortunately i boot my machines all the time atm, so this probably won't help
<lechner>ssh works in bash?
<gabber>without any issues
<lechner>do you use guix home on one or on both?
<gabber>i had also tried setting $PS1, but no dice
<gabber>i use guix home on my host machine
<gabber>i've only just currently set up the target, there's only a root user as of yet
<lechner>that profile probably does not get loaded
<lechner>Guix profile, not shell
<lechner>PATH
<gabber>sorry, i don't understand.. the profile from my host machine (the one running emacs)?
<gabber>or the PATH variable on the target (which in an ssh session adequately resolves `which ls` to /run/current-system/profile/bin/ls)?
<lechner>yeah, that may be added by bash or whichever shell you are running, but not by ssh or Emacs
<lechner>gabber / for example, my ~/.profile contains . $HOME_ENVIRONMENT/setup-environment which likely comes from Guix Home. there should be something similar on your target machine for a regular Guix profile
<lechner>but i am probably not your best source of information for any of that
<gabber>thanks nevertheless! i don't think i should put anything like that on my target -- since i haven't set up guix home there. but i'll experiment with other env vars
<gabber>emacs does not have to be installed on my target for TRAMP to work, right?
<lechner>gabber / i don't think so, but you are not alone. please have a look at the 'ls' symlinks in the section on NixOS here. (I did none of that.) https://www.emacswiki.org/emacs/TrampMode
<lechner>maybe tramp-remote-path?
<efraim>apteryx: you might get away with just grub-efi
<lechner>this is what's in mine (tramp-default-remote-path "~/.guix-profile/bin" "~/.guix-profile/sbin" "/run/current-system/profile/bin" "/run/current-system/profile/sbin" "/bin" "/usr/bin" "/sbin" "/usr/sbin" "/usr/local/bin" "/usr/local/sbin" "/local/bin" "/local/freeware/bin" "/local/gnu/bin" "/usr/freeware/bin" "/usr/pkg/bin" "/usr/contrib/bin" "/opt/bin" "/opt/sbin" "/opt/local/bin")
<gabber>huh, this looks suspicuously wrong on my host (it's the FHS /bin /usr/bin /sbin etc)
<lechner>gabber / there you go
<gabber>unfortunately that's not it..
<efraim>apteryx: if you do go that route lookout for bug#59695 and bug#59696
<gabber>lechner: i'll probably look into it some other time. thank's for your input tho!
<lechner>gabber / sorry it did not work out
<gabber>np (:
<gabber>btw -- for the lack of a better way -- i'd like to bump a patch of mine that's awaiting review: https://issues.guix.gnu.org/59511
<apteryx>efraim: thanks
<apteryx>efraim: what would grub-efi do in this case? the onboard u-boot would chain it without any problem?
<apteryx>seems you already found a solution for the first bug :-)
<apteryx>#59696 is weird
<zacchae[m]>After joining this irc through matrix, I was invited to a matrix room with ChanServ (a libera.chat bot) which periodically messages me links to the guix code of conduct. Is this a bug?
<zacchae[m]>I looked through my messages, and nothing seems off topic/nonfree/rude. Just one message would have been fine, but multiple messages feels acusatory. Maybe because I mentioned using PP, which implies nonfree OS?
<unmatched-paren>zacchae[m]: i wonder if it's just some kind of automated reminder...
<unmatched-paren>though the /topic doesn't seem to mention the CoC...
<rekado>zacchae[m]: upon joining a channel an intro is displayed
<unmatched-paren>so it's not just chanserv printing the topic
<rekado>this is nothing to do with your behavior; it happens automatically upon joining
<zacchae[m]>rekado: I see. So it is only supposed to send once?
<rekado>observe what happens when you join here: https://web.libera.chat/?nick=PotentialUser-?#guix
<rekado>I don’t know why matrix does what it does; any other client would only display this once when joining
<rekado>and no, mentioning the pinephone would not make anyone send you passive aggressive reminders of the code of conduct.
<zacchae[m]>It is seperate from the guix channel. It is a message in another matrix room with just me and the bot. I'm going to assume it is a bug in libera.chat's matrix bridge
<unmatched-paren>zacchae[m]: you mean matrix's libera.chat bridge :P
<unmatched-paren>anyway, that separate channel is probably DMs
<unmatched-paren>between you and the ChanServ bot
<zacchae[m]>Yes. In matrix terminology, there is no distinction though. DM is just a room with only two people
<vagrantc>i get such a message whenver i join the channel from chanserv, but my IRC client displays it in the same context as the irc channel
<haugh>rekado, ChanServ regularly DMs me "intro" messages from several bridged IRC rooms. I believe this is because the bridge regularly connects/disconnects the id'd user in order to manage resources. I just have ChanServ muted.
<vagrantc>yeah, that was my guess ... basically chanserv sees your connection as disconnected for some reason, and so re-sends the message when you "reconnect"
<haugh>I don't have a source but I recall reading that EMS (who runs the bridge) is deliberately juggling connections for resource efficiency
<zacchae[m]>Cool. I'll just mute/hide then
<civodul>i got a failure of "pypi->guix-package, no wheel", tests/pypi.scm:221
<civodul>how can that fail in a non-deterministic fashion?
<civodul>i'm puzzled
<civodul>did anybody experience it?
<ardumont>civodul: (back from judo ;) fwiw, i'm "somewhat" successfully running your snippets of code as an extension
<ardumont>(renamed it a bit as: `guix locate index` and `guix locate search` "for now")
<ardumont>somewhat 'cause the indexing stops for some unknown reason
<ardumont>(just toying with it and making it an extension was to entertain what i read andd actually shuffly some lisp around ;)
<ardumont>and* shuffle*
<ardumont>(with an emacs ready to play with guile ;)
<rekado>civodul: did you get an interesting error message?
<euandreh>Is there a way to re-run the activation of a given service?
<euandreh>Something like "herd activation <service>", or similar
<civodul>ardumont: nice! sounds promising :-)
<civodul>rekado: no, just #f, meaning it didn't go through (pk 'fail x #f)
<civodul>so it's something in the big (and ...) expression i guess
<civodul>euandreh: no! it runs upon reconfigure or when booting
<euandreh>civodul: I know that
<euandreh>I'm debugging an activation action from a service
<euandreh>and I'm wondering if there's a hook to trigger it manually
<civodul>no, there isn't one
<euandreh>OK, fair enough
<euandreh>I'm finishing up a said cyrus-sasl-service-type, that accompanies postfix-service-type :)
<civodul>neat
<rekado>euandreh: are you aware of the wip-postfix branch?
<euandreh>rekado: I became aware afterwards
<rekado>oh
<euandreh>but I went a bit beyond, and written the service too
<euandreh>in fact, the package was submitted yesterday!
<euandreh>(via Postfix running in Guix)
<rekado>wow, that’s excellent!
<euandreh>IOW, https://issues.guix.gnu.org/59705 supersedes the wip-postfix branch
<euandreh>I'm excited too :)
<haugh>Anyone in here using guile-hall? I'm trying to get my head around the different roles of guild, hall, and guix.
<haugh>in particular I see that hall generates guix definitions, but I don't really love the definitions it generates and I'm wondering if guix can supercede hall for project management if you're willing to write its definitions yourself
<haugh>Finally I wonder if anyone has any examples of popular packages which are managed exclusively in Guix
<haugh>Whatever "popular" means
<euandreh>rekado: I'll Cc people who previously worked on wip-postfix to take a look at my work too
<kori>just got my pinephone... does anyone wanna try making a guix config for it with me?
<kori>i see there are references to pine64 in the playbook :)
<kori>cookbook*
<pkill9>kori: is it good as a daily rriver?
<pkill9>driver*
<pkill9>ah nvmyou just got it
<kori>pkill9: yeah, i just got it, but i can say with complete confidence based on my current experiences with the out of the box manjaro + kde plasma setup: no
<kori>lots of crashes, lots of lagginess
<kori>maybe with a different setup...
<kori>(which is what I'm hoping to achieve)
<pkill9>oh, i read one person who tested it for a year that it is daily driver ready
<pkill9>ill find article
<kori>like I said, maybe with a different setup :) with this out of the box setup, no
<pkill9> https://news.itsfoss.com/pinephone-review
<pkill9>yeah
<pkill9>i currently use pixel 4a with grapheneos
<pkill9>i like the look of gnome mobile
<pkill9>they have overview and apps in one view unlike anddrois and ios
<pkill9>android*
<kori>my current dream is to get a guix setup working
<pkill9>yes definitely
<kori>it's gonna be tough though
<a12l>Is there an easy way to find the latest commit for a channel for which there's pre-built binaries available? I don't want to dealing packages after running guix pull.
<pkill9>a12l: there is code floating around somewhere civodul posted a while back that you can put in channels.scm to do that
<pkill9>dunno if it still works though
<a12l>pkill9: Thanks for the tip, I'll dig through the logs too see if I can find it
<kori>I wonder if it'll be super easy to "guix deploy" once I get a base guix system going :)
<oriansj>kori: depends upon how you define super easy
<kori>oriansj: by super easy i mean, updating my phone remotely without too much hassle
<kori>and by without too much hassle i mean
<kori>running guix deploy and waiting for it to complete :)
<kori>and having a baseline config that will be good enough
<oriansj>kori: given a few assumptions about your phone being able to be updated in that manner; then yes
<oriansj>however guix deploy depends upon the ability for the remote machine to receive a system image and put it where it needs to go
<oriansj>for cloud service providers, that is rather trivial
<oriansj>for actual servers with out of band management, straight forward
<oriansj>for other systems; it gets a good bit more complex
<dthompson>when you select an encrypted partition in guix's guided installer, does that use lvm? I'm getting the impression that it doesn't, which is okay, I'm just trying to understand before I commit.
<dthompson>also I haven't used the guix installer in quite some time and even though it's not flashy like an ubuntu/fedora installer it is really very nice!
<pkill9>has there been any progress in aopving thw peoblem if entering enceyption password multiple times on boot?
<pkill9>improving the problem of* entering encryption
<dthompson>heh guess I'm going to run into that soon ;)
<oriansj>pkill9: I have a possible solution https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/build_initramfs.sh but it needs a little tweaking for guix
<oriansj>it works for every linux distro
<dthompson>had to enter password twice, not great but not the end of the world
<dthompson>oriansj: promising :)
<oriansj>gentoo ultimately got me to make that as I like fully encrypted /boot and /
<dthompson>I've gotten used to full disk encryption as a requirement for all laptops at the company I work for, so I want to continue using it.
<oriansj>(rewriting it in Guile or shepherd wouldn't be much work)
<dthompson>gives me a little peace of mind in case my laptop was stolen
<TylerWolf[m]>is there any way to build a python package without setuptools? i have tried using python build system as well as pyproject to no success. i also set #:use-setuptools to false for python-build-system. thanks!
<oriansj>dthompson: you might like my install procedures https://git.sr.ht/~oriansj/System_setup/tree
<apteryx>phodina[m]: you are the one who had tried https://issues.guix.gnu.org/48314#9-lineno0, right?
<dthompson>oriansj: thanks :)
<oriansj>I even have one for fully encrypted debian (which requires a special trick with the installer)
<dthompson>I've got a barebones system installed now with full disk encryption
<dthompson>I always do the initial install without a desktop environment, then add it in as my first 'guix system reconfigure'
<dthompson>I also have to do some things that shall not be talked about with this laptop
<apteryx>oriansj: our cryptsetup interaction could cache the passphrase and retry it for other disks, perhaps
<apteryx>ah, that's a different problem
<apteryx>(I have 5 LUKS'd disks in a RAID -- it prompts 5 times)
<dthompson>oof!
<dthompson>I'm just using this on my laptop. single partition for ease of management.
<oriansj>apteryx: keyfiles which only root can read will make your life so much easier
<apteryx>where would these keyfiles be? in the initrd?
<oriansj>apteryx: in your case would those 5 luks disks be required to mount /root/ or could they be mounted after / ?
<oriansj>and you can use a single keyfile for all of the disks if you wanted
<jlicht>Could anyone login on a tty and share what is shown when you run ‘echo $0’ (without quotes)? Thanks!
<jlicht>( on a ‘standard’ Guix System installation that does not use greetd )
<oriansj>jlicht: -bash
<oriansj>(I honestly haven't gotten greetd to work correctly myself)
<oriansj>(which means no sway on guix for me yet ;_;)
<dthompson>I added channels to ~/.config/guix/channels.scm. when I run 'guix pull' it shows that it's fetching that channel along with the official guix channel, but when I run 'guix describe' it only shows the offical guix channel.
<jlicht>Ty oriansj. That was exactly what I expected to see.
<dthompson>all these years and this this is the first time I've used channels and I feel like a total beginner again :)
<jlicht>dthompson: are you running the ‘right’ Guix: What does ‘which Guix’ show? Does ‘hash guix ‘ fix the issue?
<dthompson>jlicht: ah! that might be it! one sec
<dthompson>jlicht: that did it!
<dthompson>haven't had one of those issues in a long time. thank you!
<jlicht>Yw
<dthompson>I've been on ubuntu for years now and only using guix as an extra package manager. feels great to be getting back to using guix system on my laptop.
<dthompson>I'm so impressed with how far guix has come in the nearly 10 years since I started using it. amazing stuff.
<oriansj>whoever wrote the description for vimb; probably should update it to not say "lightweight" as 200GB of RAM usage right out of the box isn't "light"
<lechner>oriansj / is some of that virtual?
<oriansj>lechner: yes but if one limits their overcommit to 4x, it'll straight crash on even 50GB of RAM
<jlicht>Isn’t nyxt similar? Could just be a WebKit thing, or maybe I’m misremembering some things
<lechner>dthompson / i am undecided whether i like 'guix shell' more than 'guix deploy', or 'guix home' more than 'guix publish'. there are too many amazing features. many people outside Guix have no idea what we have
<dthompson>lechner: I know, right! I had a hand in all of those except 'guix home', too.
<oriansj>jlicht: that and its related qtwebengine
<lechner>unmatched-paren / Hi, any chance we could start packaging greetd based on commits in addition to versions, instead of on release tags alone? #kennylevinsen accepted a patch that makes greetd work with home folders that are mounted via FUSE (like mine) and (and also NFSv4 with 'root_squash) but is unreleased
<dthompson>'guix home' is on my list of things to start using. one of these days!
<lechner>dthompson / it's the easiest thing in the world. like a yoga pose, you can slowly start to declare your application conffiles, too. the only thing that's a bit annoying, I suppose, is that a reconfigure triggers a download of all updated versions, which can take some time. this is even more of a hassle when a substitute is missing or something does not compile. perhaps some flexibility in that direction would be in order
<dthompson>yeah definitely room for improvement there but I suffered through the early days so I'm a happy camper, relatively speaking :)
<dthompson>oopsies I installed desktop services but no desktop environment so I just get kicked back to GDM when I login. I really am a beginner all over again.
<lechner>i can't imagine what it was like. i was a wimp and switched in April
<jlicht>lechner: cant you use a package transformation option in the meantime? Call me old, but I don’t want my greeter to be either bleeding nor edgy ;)
<dthompson>aaand that's fixed. fully functional guix system on my new laptop. wonderful to be back.
<lechner>yay!
<lechner>jlicht / there are older options. why are you running greetd? ;)
<jlicht>It makes me feel young :D
<lechner>jlicht / this makes me feel young: https://www.youtube.com/watch?v=ELtpTBf-pMU
<lechner>the hair is how i think about Linux-PAM
<kori>hm
<oriansj>lechner: a dirty hack designed to work on 6 systems which seemed to hate each other and actively made things harder and more complicated out of spite and in atleast one case adultry?
<oriansj>and the nomad package is entirely broken in guix
<lechner>oriansj / i have yet to play with that
<oriansj>lechner: nor have I but as I am trying to find a good web browsing option on guix; I am effectively trying them all
<oriansj>thus far netsurf seems to be the top of the pack
<oriansj>and qutebrowser would be liked much better if it didn't allocate 5GB of RAM for every tab
<lechner>oriansj / please let me know. i can't wait to get off of a well-known Mozilla product
<oriansj>(and also need to disable basic security to see text)
<lechner>wow, nomad doesn't even start here
<oriansj>nor here
<oriansj>hence I am reporting it as completely broken
<zamfofex>Have you considered trying Ladybird?
<oriansj>zamfofex: that does not appear to be one of the web browsers guix supports out of the box
<oriansj>do you have a guix build script available?
<zamfofex>It is not support it indeed. I have created a package for it, though!
<lechner>zamfofex / please share!
<oriansj>The package for eolie is entirely broken
<lechner>qutebrowser appears to use vi key bindings
<zamfofex>oriansj, lechner: See here: <https://gist.github.com/zamfofex/c5d64a60c19d9c0a4f3343e8b444dfd9> (I should have put it on my currently slightly abandoned channel, but oh well.)
<oriansj>zamfofex: you really should submit it for guix upstream
<zamfofex>I suppose so! 😅
<lechner>while we are sharing, i'll point out my two favorite discoveries so far this week. Emacs 'eat' is a new terminal emulator that i think beats vterm, and the password-less and free DNS backup service https://www.ns-global.zone/
<oriansj>lechner: have you played with emacs-elpher yet?
<oriansj>anyway to perhaps reduce the need to use: font-google-noto-20171025 =======>>>>> 736.0MiB <<<<<======
<lechner>oriansj / thanks for the hint! i just installed it but still need to find some good gemini capsules
<oriansj>a single font should take up more disk space than my entire operating system
<oriansj>^a single^no single^
<lechner>i got it
<lechner>also Guix isn't exactly light after a few 'pulls' and reconfigures
<oriansj>guix gc usually does a good job of trimming things down
<oriansj>lechner: you mean like: gemini://floppy.p1x.in/
<haugh>The manual says guile-build-system "installs documentation."
<haugh> https://guix.gnu.org/manual/en/html_node/Build-Systems.html#index-guile_002dbuild_002dsystem
<haugh>Now, I've read (skimmed) the source for this build system and I can't discern anything specific to documentation.
<haugh> https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system/guile.scm
<haugh>Is there any more documentation about how to use this build system? I guess I haven't checked the mail archives yet, probably should have done that before dropping this
<haugh> https://lists.gnu.org/archive/html/guile-devel/2019-02/msg00026.html
<haugh>rekado, you in here?
<haugh> https://git.elephly.net/gitweb.cgi?p=software/guile-picture-language.git;a=tree
<haugh>"The upstream picture language repository does not use autotools"
<haugh>sneek, tell rekado I'm onto you, you sneaky autotools user
<sneek>rekado, haugh says: I'm onto you, you sneaky autotools user
<zamfofex>haugh: Maybe consider using “later tell”. 😄
<haugh>I'm a little emotional and it might be for the best that didn't work
<haugh>flatwhatson, do you know anything about how guile-build-system reads/installs documentation? guile-gemini is an awesome reference but I don't see any docs in-tree. Also I'm paranoid about making assumptions based on your style
<SUPERB[m]>Hi everyone
<SUPERB[m]>I’m not a developer or expert. Just a regular client and new to Gnu-Linux.
<SUPERB[m]>And planning to set a Linux-Libre kernel OS on my laptop as default.
<SUPERB[m]>Is Guix suitable for me?
<zamfofex>SUPERB[m]: Probably not! I feel like Guix expects the user to be somewhat familiar with a lot of advanced concepts of UNIX/POSIX operating systems.
<SUPERB[m]>zamfofex: what’s your suggestion?
<zamfofex>I’ve heard Trisquel is good, but I’ve never tried it, so I can’t comment on what you should expect from it. I think there is a page somewhere with Linux‐Libre distros.
<zamfofex>Here: <https://www.gnu.org/distros/free-distros.html>
<SUPERB[m]>zamfofex: yeah read that
<SUPERB[m]>But it’s based on Ubuntu 20.4
<SUPERB[m]>Isn’t it so out dated?
<zamfofex>You can always try Guix and see how well it goes. If you have any questions, you can ask here! Note that a new Guix 1.4 release seems to be coming soon.
<SUPERB[m]>zamfofex: most of those doesn’t work in fact
<SUPERB[m]>Except PureOS, trisquel and Guix
<SUPERB[m]>zamfofex: Would you do me a favor to share me a link to all commands of guix
<zamfofex>SUPERB[m]: See: <https://guix.gnu.org/manual/devel/en/html_node/>
<SUPERB[m]>zamfofex: thank you
<SUPERB[m]>So Guix is a real complete OS and not just for package managing
<SUPERB[m]>I’ll try it on my VM
<SUPERB[m]>Shall I install the standard version or the Latest one?
<zamfofex>SUPERB[m]: The latest version.
<SUPERB[m]>Is it a LTS version?
<zamfofex>There is no such a thing.
<SUPERB[m]>What’s the difference between the standard one and the latest?
<zamfofex>Standard is several months (perhaps a few years) old by this point, and once you run ‘guix pull’ followed by ‘guix system reconfigure ...’, it should convert it to “latest” anyway.
<unmatched-paren>SUPERB[m]: "standard" is the 1.3.0 version, but you shouldn't use it, because it's very outdated by now
<unmatched-paren>the release tags are *ceremonial*, you are not meant to stick to them
<unmatched-paren>guix is rolling release, so it follows the master branch
<SUPERB[m]>Oh
<zamfofex>They are “cerimonial” in the sense that they serve mostly just as progress milestones/reports.
<SUPERB[m]>Just one more thing
<unmatched-paren>don't worry, it also has roll-backs, so it won't be a problem if it breaks :)
<SUPERB[m]>Great
<unmatched-paren>unlike, say, arch
<SUPERB[m]>I found out it needs to be connected to the internet while installing
<unmatched-paren>be aware that occasionally someone makes a mistake and pushes a faulty commit
<unmatched-paren>this doesn't happen often, but it does happen
<SUPERB[m]>But how shall I connect it while it hasn’t been installed
<unmatched-paren>in that case, you probably should just ``guix pull --roll-back''
<SUPERB[m]>I’m talking about installing on a VM
<unmatched-paren>SUPERB[m]: use ethernet
<unmatched-paren>oh, right, on a vm
<unmatched-paren>hmm
<SUPERB[m]>An actual install as the default os i mean
<unmatched-paren>wdym?
<SUPERB[m]>Sorry
<SUPERB[m]>I’m not talking about installing on a VM
<SUPERB[m]>I’m talking about an actual installing as default OS
<unmatched-paren>oh, if you're installing on bare metal, use ethernet
<unmatched-paren>be aware though that most WiFi cards will not work on guix
<unmatched-paren>due to the linux-libre kernel stripping their firmware out (because they're nonfree)
<SUPERB[m]>I see
<unmatched-paren>if you want nonfree firmware, there is a channel to get it, though
<SUPERB[m]>unmatched-paren: What’s that?
<unmatched-paren>we can't mention it here, but if it turns out you need it, i'll send you a DM
<SUPERB[m]>That would be great
<SUPERB[m]>Sure
<unmatched-paren>SUPERB[m]: https://guix.gnu.org/manual/devel/en/html_node/Channels.html#Channels
<zamfofex>I remember Wi‐Fi working fine on the laptop I used before I started using this computer. I think I was able to connect to it when installing, so it if you have supported Wi‐Fi hardware, it should work during installation too.
<SUPERB[m]>I’ve installed it once on my vm
<SUPERB[m]>But couldn’t work with
<zamfofex>SUPERB[m]: Note that that using proprietary firmware kinda mitigates your will to run specifically a Linux‐Libre installation, by the way.
<SUPERB[m]>Guessed maybe it’s just for package managing
<unmatched-paren>guix is far more than just package management: https://guix.gnu.org/manual/devel/en/html_node/System-Configuration.html#System-Configuration ;)
<unmatched-paren>also, https://guix.gnu.org/manual/devel/en/html_node/Development.html#Development
<SUPERB[m]>How about to connect it by a wire to my modem?
<unmatched-paren>yes, that's ethernet, it should work regardless of what wifi card you have
<unmatched-paren>i think most ethernet firmware is free
<SUPERB[m]>Actually I watched a video on the website to learn how to install it but didn’t mention anything about how to connecting it to the internet
<unmatched-paren>SUPERB[m]: i think that may have been a video telling you how to install *just* the package manager
<unmatched-paren>because you can use guix as a standalone program or an os
<unmatched-paren>the os is far more powerful, needless to say :)
<SUPERB[m]>Do you suggest any video series like on YouTube or somewhere else to learn Guix from the beginning
<SUPERB[m]>unmatched-paren: Great
<unmatched-paren>no, the manual and IRC is best
<unmatched-paren>there are a few videos on guix.gnu.org but i think they're a bit outdated
<SUPERB[m]>You said it doesn’t have any LTS version
<SUPERB[m]>It doesn’t reduce its security?
<unmatched-paren>no
<SUPERB[m]>Oh ok
<unmatched-paren>security updates are applied quickly
<SUPERB[m]>Sounds great to me
<SUPERB[m]>Just need to start as soon as possible
<SUPERB[m]>Thanks for your support guys
<unmatched-paren>no problem! :)
<SUPERB[m]>Just started downloading the latest version and installing it on a VM and start learning
<SUPERB[m]>đŸ‘đŸ»
<efraim>oriansj: eolie should launch correctly now, replaced webkitgtk with webkitgtk-with-libsoup2. I haven't extensively tested it though
<SUPERB[m]>How can I find out that a device is using free firmwares like a laptop or a modem before purchasing?
<unmatched-paren>SUPERB[m]: usually you only need to check the GPU and the wifi card
<unmatched-paren>If the wifi card uses ``ath9k'' or ``ath9k_htc'' firmware, you're good
<unmatched-paren>though that kind of card (Atheros card with v9 firmware) seems to be pretty rare in hardware
<unmatched-paren>the other problem, which is less common, is with the gpu
<SUPERB[m]><unmatched-paren> "we can't mention it here, but if..." <- Would you send me that directly plz?
<unmatched-paren>SUPERB[m]: yeah, that's probably for the best
<civodul`>Hello Guix!
<civodul`>hmm
<civodul>ACTION uploads 1.4.0rc1
<zamfofex>😼 🎉 🎉
<zamfofex>Looking forward to the release! Unfortunate that the updated glibc and the Full Source Bootstrap won’t make it, though. (At least from what I’ve seen.)
<civodul>zamfofex: i guess that also brings us closer to a core-updates merge with all this :-)
<civodul>howdy mothacehe!
<mothacehe>good morning civodul!
<zamfofex>I have been considering investigating fixing that libstdc++ error I was getting more thoroughly. It feels so daunting, though

<civodul>zamfofex: you can share what you have on guix-devel, in case that rings a bell to someone
<civodul>mothacehe: rc1 is coming!
<civodul>just like winter
<zamfofex>I’m scared of mailing lists, though. 😳
<mothacehe>nicely done, just saw the ftp-upload emails :)
<mothacehe>regarding the installer there's a bug reported by Simon Streit, other than that things look fine
<civodul>oh, not great that i missed it
<civodul>i don't see it actually, do you have the reference?
<mothacehe>here it is: https://issues.guix.gnu.org/55336
<mothacehe>i'll open a new dedicated bug if i can reproduce it
<civodul>i see, it was hidden in a closed bug
<civodul>i'll email guix-devel + info-guix + help-guix to call for testing
<civodul>does that sound reasonable?
<mothacehe>sure :)
<mothacehe>you can cc the installer team maybe in the call for testing
<mothacehe>and Florian
<civodul>alright
<jonsger>civodul: the rc1 installer image is built from the version-1.4.0 branch. So If I wanna build an image based on that I would use `guix pull --branch=version-1.4.0`?
<zamfofex>Where is the release candidate installer available?
<civodul>jonsger: yes exactly
<civodul>zamfofex: it's at https://alpha.gnu.org/gnu/guix
<civodul>i've just sent the email
<civodul>let's find those bugs! :-)
<civodul>-> https://lists.gnu.org/archive/html/guix-devel/2022-12/msg00000.html
<rekado>haugh: back when I started, the picture language was just a single module and didn’t have a build system
<rekado>civodul: I’ll try the RC1 on my rockpro64 aarch64 machine now
<ph03n1xaimverncc>Heyya, could you help me in solving linux/errorno.h not found issue on guix?
<zamfofex>I feel like you need to be a bit more specific. 😅
<haugh>rekado, thank you. I'm assuming you're referring to the state of guile-build-system in 2019 as "not having a build system"
<civodul>mothacehe: and of course i forgot to Cc: people, sorry about that
<rekado>haugh: no, the picture language
<rekado>I had not used autotools then
<rekado>so I used guile-build-system in Guix
<rekado>later I switched to autotools
<haugh>Makes sense! I think guile-build-system might be right for me but I don't know how to use it. How did you learn?
<rekado>haugh: I looked at its definition
<zamfofex>civodul: Is it intentional that there is a ‘.tar.CZ’ file name extension in the signature list?
<rekado>haugh: guix/build/guile-build-system.scm defines %standard-phases
<rekado>they are inherited from the gnu-build-system
<rekado>the build phase is swapped for something new
<rekado>it’s defined farther up
<haugh>Okay, I was looking at guix/build-system/guile.scm for the past two hours
<haugh>big thank you
<rekado>this takes all Scheme files it can find, installs them to the expected output directory, and it compiles them, writing the files to the output location
<rekado>the two different locations are due to the idea of code staging
<rekado>all the stuff in guix/build will be available on the “build side”
<rekado>whereas everything else is available only on the “host side”
<rekado>Guix produces build scripts for the guix-daemon to run on the “build side” (~ in the isolated build container)
<rekado>it uses the host side code to produce those scripts, and the scripts can use code defined in guix/build
<rekado>so the actual work that happens when the build system is in action is all contained in guix/build/
<ph03n1xaimverncc><zamfofex> "I feel like you need to be a bit..." <- Oh sorry, I was compiling a program that I'm working on and it requires me to have linux/errno.h. I am unsure which package provides it. I tried using glibc and linux-libre-headers. Unfortunately, it is not working. Would be grateful if anyone could provide me directions
<ph03n1xaimverncc>I'm not sure why both packages are conflicting, tho
<ph03n1xaimverncc>linux-libre-headers and glibc
<zamfofex>ph03n1xaimverncc: It should definitely be ‘linux-libre-headers’.
<haugh>rekado, thank you for taking the time to explain this to me. So the guix/build-system module is the precursor to the guix/build module, which exports the procedure which is invoked by the daemon?
<haugh>Followup questions: who came up with this naming scheme, was it Ludo, and do you think he should be publicly shamed for it?
<rekado>no, the build-system modules provide the host-side abstractions
<rekado>and I won’t acknowledge the premise that led to your question about shaming, which is not how we conduct ourselves in this project.
<haugh>I was just kidding about the shaming. I get kind of dramatic when I picture my future as a Walmart greeter who can't grok reproducible operating systems
<civodul>great intro to all that and more in this talk: https://10years.guix.gnu.org/video/guixy-guile-the-derivation-factory-a-tour-of-the-guix-source-tree/
<rekado>is it an obviously bad idea to share the “user” namespace in a Guix container?
<rekado>I’d like to have all user accounts from the host system available inside the container
<rekado>preferably without having to explicitly map anything
<rekado>alternatively, I think we could make initialize-user-namespace map huge ranges into the container
<heisig>Hello #guix! Is there a way to transfer a Guix development environment (including shell variables) to a non-Guix machine, similar to guix pack?
<heisig>Context: I am working in HPC, and using Guix to transfer software to our clusters. But we are developing a CUDA JIT compiler, so now I have to compile files on those machines, too.
<civodul>rekado: good question, i'm not sure what's the best option
<civodul>heisig: hi! i guess 'guix pack' should do the trick, no? packs contain an etc/profile file that will set environment variable
<civodul>*variables
<heisig>ciodul: That would be wonderful. i Where would that etc/profile file be? Do I have to pass a -S /etc=etc argument to guix pack to access
<heisig>*that file.
<civodul>heisig: yes, you can pass -S like this
<civodul>if you don't pass -S, the file exists anyway, it's just harder to find
<rekado>as a quick test I wrote an extension that overrides %namespaces to delete “user” from it
<civodul>rekado: we should really look into supporting subordinate UIDs though
<rekado>unfortunately it failed after bind-mounting a whole bunch of locations onto /gnu/store
<rekado>lots of cleanup work ensued
<heisig>civodul: Wow! Guix is really such a cool thing. Thank you very much!
<civodul>oh
<rekado>I’m reading man 7 user_namespaces again
<rekado> User and group ID mappings: uid_map and gid_map
<rpana>Hello everyone, I have a question regarding `guix home`
<rpana>So, when one wants to reconfigure the home, this can be done independent of the system?
<rpana>On NixOS, I rebuild the system and my home all together with one command, is this possible in Guix too?
<zamfofex>I don’t think so. You have to use ‘sudo guix system reconfigure 
’ and ‘guix home reconfigure 
’ separately. (Note that multiple users might be on the same system, then ‘system reconfigure’ affects all of them, but ‘home reconfigure’ affects only the user running the command.)
<rpana>I see, so then I will have different generations for home and system?
<zamfofex>Yes.
<mirai>Do services under gnu/services/ also count as "home services"/can be launched under a user shepherd instance?
<rpana>Makes sense, will mean to flush all the heavy config to guix home then, and leaving the system config rather stable...
<apteryx>oriansj: in my case the 5 disks are required for /
<ardumont>civodul: is there some sort of conventions regarding how to allow user to override some custom configuration?
<ardumont>(hello)
<ardumont>("guix-locate" context) i'm thinking of the currently hard-coded /tmp/db that i've set inside a variable
<ardumont>but i'm wondering how one could change that (if that's a thing here in this context)
<ardumont>i'm mapping my reasoning on the defcustom we can define in emacs-lisp so users can change to whatever they wish
<mirai>what's the system-test 'name' field used for?
<mirai>does it need to be unique?
<mirai>I've defined 3 system tests for the same program but with slightly different configurations
<apteryx>civodul: the doc of the linux-libre kernel doesn't end up being available for a user (e.g., via 'info TheLinuxKernel') :-(. Perhaps I should move the .info.gz to linux-libre's doc output and then users would have to install linux-libre:doc to their user profile to have it?
<civodul>apteryx: hi! i guess either the "doc" or the "out" output since it should be quite small no?
<civodul>as long as it's under share/info, we're fine
<civodul>(maybe "info linux" no?)
<civodul>ardumont: hey! most guix commands don't honor any config file and instead of command-line flags
<civodul>i guess there could be a --database flag with a good default, like ~/.cache/guix/whatever
<ardumont>ok, so i should evolve the cli to allow the database path to be provided
<ardumont>ack
<civodul>mirai: the 'name' field is used when looking up tests by name, as in "make check-system TESTS=foo"
<ardumont>i started that yesterday but my kung-fu was a bit weak regarding that
<ardumont>;)
<civodul>heh :-)
<civodul>ardumont: you'll want to use 'cache-directory' from (guix utils) to follow the XDG convention
<ardumont>thx ^
<mirai>civodul: thanks
<ardumont>i'll do that after i find why the indexing part stops "silently" (currently looking for tracing tool to check if there ain't some issue in the sql calls)
<ardumont>(i've added some deduplication on the matching results already ;)
<ardumont>tracing: i found this https://www.gnu.org/software/guile/docs/docs-1.8/guile-ref/Tracing.html
<ardumont>which sounds about what i want
<ardumont>(roh i need to name the lambdas now though ;)
<ardumont>(ah but no need \o/)
<civodul>ardumont: careful, "docs-1.8" in the URL indicates you're looking at very old doc
<civodul>i thought i had removed them
<ardumont>yes, deprecated doc indeed
<ardumont> https://www.gnu.org/software/guile/manual/html_node/Tracing-Traps.html
<mirai>civodul: they occasionally pop up when with $YOUR_SEARCH_ENGINE_HERE when searching for guile scheme related stuff
<ardumont>that's more like it
<ardumont>yes, ddg (duckduckgo here)
<ardumont>civodul: as you might have noticed now, i'm a bit impervious to urls... i shall try to be a bit more pertinent and read those
<ardumont>but they are generally not that great at reading (or so i think)
<mirai>can I merge 2 issues I've opened for guix (a bug-report and a patch) or does it require special permissions?
<apteryx>civodul: 'info linux' would be nice but upstream uses TheLinuxKernel as the name of their docs. Perhaps a symlink could work.
<apteryx>the thing is, if it's part of the main output, one would need to install the whole linux-libre to their user profile to have the doc, which seems wasteful
<apteryx>I was assuming that the system profile would have it, but Linux doesn't seem to get installed to the system profile (it has its own profile)
<civodul>oh right
<civodul>then yes, using linux-libre:doc sounds like a good idea
<mirai>(also, can I rename my own issues/patches)?
<civodul>i'm not sure whether to add it to %base-packages, because that would pull in the whole thing
<apteryx>civodul: OK, thanks, I'll try that
<civodul>but at least people could install linux-libre:doc in their profile
<civodul>i'd definitely do it anyway :-)
<apteryx>yes, that seems a reasonable compromise
<rekado>mirai: yes, you can do that via email to control@debbugs.gnu.org (I think)
<rekado>I’m feeling increasingly uneasy about having grafted mumi on top of an existing debbugs system. I think it might be worth drawing “the rest of the owl” to replace debbugs.gnu.org with our own system.
<civodul>+1
<civodul>it's like with guix-daemon though: that's a higher stair to step on
<civodul>it's not just an incremental change i guess
<GNUtoo>hi, is it possible to know how much space a rootfs will take in advance? Ive a script that uses guix system init to create an encrypted rootfs and just doing du -bsL on $(guix system build [...]) gives less space than the real amount of space taken
<civodul>GNUtoo: hi! it may be easier for you to use "guix system image" directly? it estimates the space needed
<civodul>but otherwise you can also do: guix size $(guix system build ...) |tail -1
<GNUtoo>Hi, in that case I'd need to add encryption support for it, and I'm not sure how to do that
<apteryx>rekado: M-x debbugs-gnu is useful though
<rekado>apteryx: no doubt about that
<rekado>my concern is the hard boundary of stuff we can change and stuff we must helplessly accept
<GNUtoo>And I probably also need to add support for extracting a tarball as well as I'm also adding support for that in my script (for including data like wpa_supplicant files that contain passwords)
<rekado>we cannot change the email responses from debbugs, for example.
<apteryx>rekado: debbugs can be hacked, it's source code.
<apteryx>it's on my todo to package it as a Guix service
<rekado>debbugs at debbugs.gnu.org has diverged from upstream
<rekado>nobody knows how exactly it has changed
<apteryx>someone worked on adding it to git and sync'ing with upstream
<rekado>nobody actively maintains the fork
<rekado>I also think it’s rather unfortunate that mumi cannot *just* use the SOAP interface, because it is buggy
<apteryx>this: https://gitlab.com/npostavs/debbugs/-/commits/rebase-to-upstream
<rekado>(e.g. truncates emails when you ask it for some raw emails)
<rekado>so mumi *also* gets data from the official debbugs web interface
<rekado>it’s all rather gross
<apteryx>sounds like bugs to fix in debbugs
<rekado>I’d love to have a fraction of your optimism.
<apteryx>(more optimism): perhaps already fixed with the upstream sync :-)
<rekado>aside from the messy situation of the GNU fork of debbugs the problem remains that we have no way to customize its behavior for our “package”
<whereiseveryone>sneek, later tell civodul can this comment be turned into a docstring for the defgeneric? https://git.savannah.gnu.org/cgit/shepherd.git/tree/modules/shepherd/comm.scm#n157
<sneek>Will do.
<civodul>rekado: plus, even assuming the Git repo faithfully represents what's running on debbugs.gnu.org, it's Perl and probably nobody on this channel will have the will to get into it
<sneek>civodul, you have 1 message!
<sneek>civodul, whereiseveryone says: can this comment be turned into a docstring for the defgeneric? https://git.savannah.gnu.org/cgit/shepherd.git/tree/modules/shepherd/comm.scm#n157
<mirai>is there even a "Debbugs User Guide" in the first place
<civodul>sort of, see https://debbugs.gnu.org/
<mirai>the link in the guix manual is broken (though that's already been reported at https://issues.guix.gnu.org/58415) but I can't find what the actual page might have been
<jgart[m]>civodul: Can we rewrite the perl stuff in Guile? Isn't that what has always been done? RIIG! RIIG! RIIG!
<jgart[m]>Might be nice to have an "Awesome RIIG" list in a git repo at some point
<mirai>this debbugs process puts some incredible friction for anyone not used to it
<acrow>In the guix manual (Invoking guix shell) that offers a way to run a containerized 'chromium'. When I invoke this, I get: [1:1:1201/142539.223152:ERROR:ozone_platform_x11.cc(239)] Missing X server or $DISPLAY
<acrow>[1:1:1201/142539.223228:ERROR:env.cc(255)] The platform failed to initialize. Exiting.
<acrow>
<mirai>a "manual" for crafting "specific emails" as the intended recipient is a piece of software? It doesn't feel like a sound interface
<jgart[m]>> this debbugs process puts some incredible friction for anyone not used to it
<jgart[m]>mirai: I agree
<jgart[m]>Is there any reason that we should not write our own issue tracker that is not debbugs in Guile from scratch?
<mirai>maybe for unix greybeards that had the will to endure this "it works fine" but its still unnecessary pain inflicted
<jgart[m]>Why should we continue to use debbugs? Because guile also uses it?
<rekado>let’s please not start another discussion that’s only rooted in a strongly motivated “lets!”
<civodul>yes, please
<rekado>mirai: debbugs is simple: to report a bug you send an email. Done.
<rekado>no need for an account anywhere
<acrow>Since I'm running X and --preserve "^DISPLAY$", the first message is just as unhelpful as the last. I'm wondering what exotica I've created that defeats this simple example in the info manual....
<rekado>mirai: debbugs is controlled through email, because that’s also the primary interface to submitting bug reports.
<rekado>jgart[m]: if you have a thirst for more Guile in your debbugs, you are welcome to contribute to mumi, which is the frontend we’re using for issues.guix.gnu.org.
<efraim>acrow: I have this saved: https://bpa.st/6YOA , make any changes you might need
<civodul>acrow: chromium spits out warnings but the command works for me
<mirai>is it fair to merge the issues for a bug report and a patch that fixes it?
<civodul>it might depend on the graphics card or similar
<mirai>or should I leave it as is
<civodul>mirai: it's ok to leave as is IMO
<jonsger>civodul: guix 1.3.0 should work with guile-gcrypt 0.4.0 or?
<civodul>jonsger: yes, it's compatible (it follows semver)
<civodul>it's a very minor update
<acrow>civodul: No joy here, yet. The shell just fails. It seems I get the same result for xclock (a simpler case). "guix shell -CNP xclock --preserve="^DISPLAY$" -- xclock" There is another message about authorization, so I'm trying adding xhost to the mix to see if that helps.
<acrow>I got: Authorization required, but no authorization protocol specified
<civodul>maybe you need --expose=/tmp/.X11-unix ?
<acrow>I tried adding --preserve="^XAUTHORITY$" ...
<acrow>I'll try that.
<civodul>also works: guix shell -CN -E ^DISPLAY xclock -- xclock
<civodul>i wonder why we observe different behavior
<acrow>Exactly. The stuff in the manual ought be bulletproof. I'm assuming I've done something odd, yet, I think I'm pretty generic.
<jgart[m]>rekado: does mumi have an issue tracker?
<acrow>I really thought that the expose clause you suggested would work but it did not. I'm wondering if I must run this from my $HOME dir...
<jgart[m]>rekado: I'd be happy with helping with the graphql support in mumi but I can reach out to Arun to see what's needed on that front
<jgart[m]>would be cool to have a mumi wishlist/issue tracker so contributors can know what's pending/in the works
<rekado>there’s a TODO.org in the mumi repo
<rekado>it’s not exactly a high traffic repo
<acrow>civodul: It was an X issue. After installing xhost and running 'xhost +', xclock and chromium shell's succeed.
<zpiro_>NÄ er jeg lei, Tryg forsikring er stevnet. https://doi.org/10.31234/osf.io/cu3d5 NAV blir stevnet pÄ straffelover i lÞpet av neste uke i mangel av fullt medhold.
<zimoun_>hi
<zimoun_>using Emacs+Geiser, do I just (add-to-load-path "path/to/guix/checkout") and then C-c C-c in my file?
<zimoun_>Because doing that is really slow on my machine.
<lechner>rekado / civodul / +1 on the longer-term plant to reimagine debbugs. i know it well and, i am sorry to say, am better with Perl than Scheme. I have been reading Mumi code and hope to contribute in a small way to your efforts
<lechner>Does Nix really force people to generate new home and new system configurations together? That's so weird.
<jonsger>ACTION has updated guile-gcrypt at openSUSE :)
<acrow>I really love that shell example for chromium. Maybe it could be made to work by default for guix by incorporating the X authorization in xorg-server-service for just localhost, no?
<civodul>future work
<zimoun_>rekado: about debbugs (+ mumi + notmuch + public-inbox + emacs), it is pretty decent
 well I am happy with my workflow. :-) The real limitation is the connection between debbugs and CI; well all the work by cbaines.
<zimoun_>Well, I cannot imagine to deal with 1000+ bugs and idem for patches using something else than debbugs (+ mumi + notmuch + public-inbox + emacs)
<zimoun_>Maybe a GNU instance of SourceHut could help.
<lechner>i can never fin my way around that site
<lechner>find
<zimoun_>me neither but I do not have reaalu tried. :-)
<lechner>if there is a choice, i find codeberg easier
<unmatched-paren>afternoon guix :)
<unmatched-paren>lechner: huh, i don't find sourcehut particularly difficult to navigate
<ardumont>so i can't use the tracing function, from what i've read i need the guile command to be called with --debug
<ardumont>so my question is, how do you normally override the guix shebang (which calls guile) so i can do call it with --debug?
<ardumont>i have an ugly workaround in mind... move my guile link aside, create a writable copy of it and edit it as i want
<ardumont>but is there a more clean way to do so?
<ardumont>guix script's shebang*
<civodul>ardumont: i'd use "guile -L ~/src/guix --debug" instead of 'guix repl'
<civodul>that's cheating, i know
<civodul>alternatively there's an API to run code on a different "VM engine", IIRC
<ardumont>that's way better than mine already
<ardumont>;)
<ardumont>thx
<ardumont>(i'm also getting side-tracked in the guile doc now ;)
<rekado>zimoun_: I really just mean to get more of debbugs into mumi, so we have more freedom to file down those sharp corners.
<ph03n1xaimverncc>How dya run ldconfig in guix?
<ph03n1xaimverncc>ldconfig -p returns error:
<ph03n1xaimverncc>```
<ph03n1xaimverncc>ldconfig: Can't open cache file /etc/ld.so.cache
<ph03n1xaimverncc>```
<apteryx>is stefan on IRC? I'm reviewing their work (https://issues.guix.gnu.org/48314)
<stevenroose>Trying to build my first Guix package, just because I have a program I want to use locally and it wouldn't build otherwise.. And as a way of learning more about Guix packaging.
<stevenroose>It seems I'm bumping into a licensing issue? I get "package <my pkg> has invalid inputs" and then something about openssl and zlib mentioning licenses
<stevenroose>I'm not trying to publish this, I just want to have a working manifest.. Can I turn off license checks?
<rekado>stevenroose: could you show us the actual error message please?
<rekado>it’s not a license check but a type check
<rekado>Guix doesn’t care about what license your private package has
<rekado>but it does need to be a value of the right type
<civodul> https://alpha.gnu.org/gnu/guix/guix-system-install-1.4.0rc1.x86_64-linux.iso was missing; it's fixed now
<stevenroose>package `otclient@2.0.1' has an invalid input: ("_" #<<license> name: "Zlib" uri: "https://zlib.net/zlib_license.html" comment: "https://www.gnu.org/licenses/license-list#ZLib">)
<stevenroose>rekado: ^
<stevenroose>ooh
<stevenroose>maybe the name "zlib" is a license because I have use-module gnu licences?
<podiki[m]>/ph03n1x/aim (vern.cc): guix's libc doesn't use a global cache, but does have that per package; see https://guix.gnu.org/blog/2021/taming-the-stat-storm-with-a-loader-cache/ and guix shell -CF has a more typical libc with global cache loading
<stevenroose>yeah that must be it, thanks
<stevenroose>Adding the package imports worked
<civodul>i guess i'll go ahead with the match-record thing: https://issues.guix.gnu.org/59390
<civodul>looks like it didn't trigger much excitement :-)
<apteryx>civodul: it's nice!
<civodul>aah!
<civodul>good :-)
<apteryx>we've still got to find a proper resolution for the namespace-location thing that breaks dovecot
<apteryx>I suggested renaming the define-configuration location accessor to "source-location" or even drop it (it appears unused)
<lechner>stevenroose / some of the licenses mirror package names. i think openssl may be an example. that's the reason for the license: prefix throughout much of guix
<lechner>Hi, will a lightning bolt strike me if I manually replace one XKB file in the store with another that includes my custom key map? patching the relevant package locally rebuilds the world
<apteryx>lechner: yes
<lechner>apteryx / what if i wrap myself in aluminum foil?
<unmatched-paren>lechner: you could probably do something with grafts
<lechner>unmatched-paren / is there a link to the git repo browser on this page? https://lists.sr.ht/~kennylevinsen/greetd-devel/patches/37142
<lechner>unmatched-paren / i am still reading up grafts
<unmatched-paren>lechner: git repos and mailing lists are independent
<unmatched-paren>it's possible for there to be a ``greetd'' repo and two greetd-related mailing lists, ``greetd-devel'' and ``greetd-discuss'', for example
<lechner>that's fine. they could both point to greetd, but from what i can tell none of them do
<lechner>how about from CI? https://builds.sr.ht/~kennylevinsen/job/891492
<unmatched-paren>however, you can create an all-encompassing "project" at sr.ht/foo which can link to git repos, lists, etc
<unmatched-paren>lechner: https://sr.ht/~kennylevinsen/greetd/
<unmatched-paren>here's the project page for greetd
<unmatched-paren>note the "sources", "mailing lists", and "tickets" tabs
<lechner>thanks, but as a newly minted contributor there i know how to find the repo. my question was related to navigating there with ease from my patch or the relevant CI runs?
<lechner>or how do i get to kenny's repos from here? https://lists.sr.ht/~kennylevinsen
<unmatched-paren>lechner: s/lists.sr.ht/git.sr.ht/ :)
<unmatched-paren>i do think it could be better
<unmatched-paren>e.g. linking to git.sr.ht and todo.sr.ht pages from lists.sr.ht and vice versa if they share a project
<lechner>i am not opposed to reinventing the collaboration tools. the site simply does not seem done. it was also not possible to clone kenny's repo due to a bug in go-git. that, in turn, prevented my repo from being identified a sharing a common history, from what i can tell https://adnano.co/2022/11/12/git-clone/
<lechner>unmatched-paren / ^
<unmatched-paren>lechner: huh, interesting bug
<lechner>unmatched-paren / the fix is still pending https://lists.sr.ht/~sircmpwn/sr.ht-dev/patches/36771
<jonsger>ACTION was as "lazy" as civodul and packaged only guile-gnutls 3.7.9 in openSUSE, as .10 contains this gnulib thingy...
<mirai>jgart[m]: I was thinking, how about using atom/rss feeds for subscriptions? (since there's no easy way to subscribe to a thread)
<ph03n1xaimverncc><podiki[m]> "/ph03n1x/aim (vern.cc): guix's..." <- Ohhhh thank you
<acrow>guix 1.4.0 --> very exciting!
<rekado>hmm, “guix system build” produces a correct system where nscd has been extended with name-services libraries as per the config, but “guix system container” gives me the unmodified nscd
<rekado>probably because of containerized-operating-system
<rekado>yup, that’s the culprit. It overrides nscd-service unconditionally.
<SUPERB[m]>During the Guix installation asks about network protocol containing 3 options:... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/66f85fbd6cc8f156e5e3a2183d52d8dad2b936c7>)
<Andronikos>I am using Guix on a foreign distro. Upon upgrading my system I get "/usr/bin/gtk-encode-symbolic-svg: symbol lookup error: /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE". How do I tell it should not use Guix but instead /lib?
<rekado>Andronikos: this is likely due to environment variables telling your system tools to use libs from Guix
<unmatched-paren>SUPERB[m]: again, you definitely want either just Mozilla or both Mozilla and Tor
<rekado>Andronikos: check the output of env and see if XDG_* variables are set
<rekado>unset them to see if that fixes things
<Andronikos>Still the same issue
<unmatched-paren>what's wrong with this macro? https://paste.sr.ht/~unmatched-paren/933d502acd68f340037235dc5cf36a9bbeed10f2
<unmatched-paren>when i do (modify-services %base-services (prepend (dbus-service))) i get
<unmatched-paren>unknown file:169:0: source expression failed to match any pattern in form (modify-services %desktop-services (prepend gdm-file-system-service))
<unmatched-paren>but i don't when i do (modify-services %base-services (service dbus-root-service-type))
<unmatched-paren>even though the service subform is implemented in terms of prepend
<jab>unmatched-paren: I get the feeling that the order of your services matters?
<unmatched-paren>jab: i don't think it does...
<jab>actually why would it? isn't sheperd smart enough to know which services depend on which services?
<unmatched-paren>(modify-services %base-services (service foo)) == (modify-services %base-services (prepend (service foo)))
<lechner>unmatched-paren / i'm very new and probably should not comment, but isn't the 'prepend' action something outside "modifying" an existing service?
<unmatched-paren>lechner: what do you mean by that? :)
<jab>you could just (define %my-base-services (cons (dbus-service) %base-services)) That's what I do at least
<lechner>i use cons* to add, or presumably prepend, new services and modify-services to change the configurations of those already present
<unmatched-paren>jab: yes, but i'm trying to make it so that instead of doing (cons* (service foo-service-type) (modify-services %base-services ...))
<unmatched-paren>you can do (modify-services %base-services (service foo-service-type))
<unmatched-paren>so there's no need to use *both* cons* and modify-services when you want to add along with modifying or removing services
<jab>I guess that does save a step.
<unmatched-paren>i find it cleaner, personally :)
<jab>You could mention to the guile debugging work group that you want a macro debugger. that would be nice
<evilsetg[m]>Has anyone here gotten emacs tramp from a non-guix to a guix system to work? What I found is this that you have to set tramp-remote-path like described in https://lists.gnu.org/archive/html/help-guix/2016-10/msg00049.html. But I still keep getting an error 'File exists, but cannot be read' and cannot actually edit any files.
<lechner>evilsetg[m] / a user named gabber, who is not here right now, had a similar issue yesterday or the day before.
<lechner>Hi, a new Emacs version is coming, with some pretty cool new additions https://blog.phundrak.com/emacs-29-what-can-we-expect/
<Andronikos>rekado: "su -" did the trick.
<Andronikos>lechner: Having use-package build in is really neat. Especially for new users.
<lilyp>I personally prefer leaf, but meh
<lechner>lilyp / leaf looks good. what do you like about it, please?
<lilyp>it's declarative management similar to use-package, but without the imho unnecessary parts for delight, diminish and the package manager
<lilyp>i.e. it just does the config, which feels cleaner
<tricon>Interesting that Emacs built-in both VC support for package.el and use-package.
<tricon>*bundled, I should say.
<unmatched-paren>tricon: how does it have VC support for use-package?
<tricon>unmatched-paren: two separate things: `package-vc-install' for instnalling from from Git with package.el; plus use-package is now in Emacs core.
<tricon>according to lechner's link.
<tricon>s/instnalling/installing
<tricon>whoops, i forgot that use-package doesn't depend on stright.el. that's just how i used to use it, so no overlap.
<lechner>lilyp / thanks!
<evilsetg[m]>lechner: Thanks, I found the conversation in the logs. I restarted the guix machine and now it works :)
<lechner>evilsetg[m] / yay!
<reyman>hi !
<reyman>i'm loosing my mind with gexp, i have this error : unbound-variable #f "Unbound variable: ~S" (ungexp) #f
<unmatched-paren>reyman: #:use-module (guix gexp)?
<reyman>i have already this #:use-module (guix gexp)
<reyman>i copy paste my define public here : https://paste.debian.net/1262561/
<reyman>line 50
<civodul>reyman: hey! you need: (arguments (list #:phases #~(modify-phases ...)))
<civodul>that way what follows #:phases will actually be a gexp
<civodul>and in a gexp you can use #$ (aka. 'ungexp')
<reyman>ahah, oh i didn't see the ~ ... such an idiot !
<reyman>thanks @civodul ... again !
<reyman>i need to read more about gexp/ungexp, i'm such a begineer with this concept.
<reyman>Great ! That works
<reyman>and also i understand why i need clang-toolchain and not clang only, this is because the "lvm-ar" bin called by rust build script make the hypothesis that "lvm-ar" is into "clang" folder.
<reyman>but this is only the case with clang-toolchain and not clang alone
<jgart[m]>lilyp: wdyt leaf vs setup.el?
<jgart[m]>vs (defmacro use (module)`(require ',module))
<civodul>reyman: it's a tricky package that you chose :-)
<reyman>yes, ahah, i choose the north face of the packaging mountain it seems ..
<reyman>i found some usefull info in chromium packaging
<reyman>We need v8 to build deno to build quarto, i hope v8 is the biggest climb in this list :)
<f3n1x>heya guixers !
<Andronikos>Hey
<lxsameer>hey folks, have you ever used guix instead of something like ansible?
<f3n1x>such a good question !
<lxsameer>I'm kinda annoyed with ansible and other alternative that lacks the rollback or revert functionality
<lxsameer>and I suddenly thought of guix, it would be so cool to do such thing with guix
<civodul>lxsameer: hi! it's not exactly a substitute to Ansible, but 'guix deploy' is nice for simple setups
<lxsameer>civodul: cheers, I'll have a look
<f3n1x>that's guix power !
<f3n1x>ACTION loves guix versatility
<podiki[m]>apteryx: that looks like a nice convenience function for customizing the kernel (surprisingly we didn't have it before)!
<podiki[m]>and I see a bunch of grub, bootloader, all that updates, exciting stuff
<jonsger>lxsameer: guix doesn't have all the power of ansible, but in some functionality its superior :)
<podiki[m]>apteryx: looks like the new doc output broke the module builder again; make that a conditional output, is that possible?
<lxsameer>jonsger: well, it has something that is absolutely necessary which ansible lacks
<jonsger>podiki[m]: does build-doc? #f help?
<lxsameer>it would be cool to add a functionality to bootstrap a system remotely and that would be amazing
<podiki[m]>jonsger: it should, I see the new output is conditional on build-doc?
<podiki[m]>so we should just set that in module-builder instead, then won't have to delete those phases (build-doc install-doc)
<podiki[m]>we should also document customize-linux in the manual, I think it will be quite handy
<haugh>What is mlambda?
<rekado>monadic lambda
<rekado>for use with a monad
<haugh>Where is %standard-phases defined?
<haugh>I guess I need to suck it up and start grepping the source tree, huh
<Andronikos>It is defined in the corresponding build system as it seems.
<podiki[m]>apteryx: looks like 748ec628826cea3faa3679074d87fae9bc810080 had what I would have thought worked too, but builds fail with saying the doc output wasn't produced....is it an ordering thing? maybe just build-doc? #f will work? (haven't tried)
<zamfofex>reyman: I don’t know what “quarto” is, but, to me, Deno will be very useful!
<civodul>rekado, haugh: memoizing lambda i believe :-)
<haugh>I got thrown really hard by the matrix of gnu/guile/build/build-system but now I've got: build/guile-build-system <= build/gnu-build-system AND build-system/guile <= guix/build-system{,/gnu}, but I still don't see the link betwen the build-system side and the build side
<haugh>how do y'all do this? does this make sense if you use emacs?
<abhicherath[m]>how do I check what gstreamer plugins guix has?
<abhicherath[m]>ah gst-inspect nvm
<civodul>heads-up: if you pull now, remember to "make clean-go && make"
<abhicherath[m]>hmmm I've installed all the gst-plugins packages
<abhicherath[m]>but they don't seem to show up in gst-inspect?
<abhicherath[m]>oh yup needed to log out and in again
<abhicherath[m]>weird
<abhicherath[m]>why is that? is this something that can be fixed somehow? I can make an attempt
<haugh>So gnu-build, defined in build-system/gnu.scm, uses '%standard-phases as the default value for its keyword argument 'phases', but %standard-phases isn't defined until build/gnu-build-system.scm, which is imported by neither build-system/gnu.scm nor build-system/guile.scm
<rekado>civodul, haugh: oh, drat, you’re right
<rekado>I was thinking of something else
<rekado>mlet and co
<civodul>it's admittedly confusing
<rekado>confusing to me was “m let” but “map m”
<rekado>but I guess “mmap” would have been way worse
<civodul>yeah :-)
<haugh>alright folks it's been 5 years since I used UML so I hope you'll excuse this ad-hoc nonsense
<haugh>(guix build-system) ─┬─> (guix build-system gnu) ─┬─> (guix build-system guile)... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/5030373b331f0f501efd6f65172d1f2c945bb91c>)
<haugh>I can't find the link. I'm trying to understand how these systems connect so I can understand what parts of the GNU Build System are inherited by the (new?) Guile Build System.
<apteryx>podiki[m]: hi! what fails exactly?
<podiki[m]>apteryx: looks like some modules, like https://ci.guix.gnu.org/build/189794/details
<podiki[m]>builder for /gnu/store/4zxs7b0jg0ykz4aqsxvmzmm6vsxgdzq9-linux-libre-module-builder-6.0.10.drv' failed to produce output path /gnu/store/ghmp1q5w6r1s9364rz53jd42152wgz2v-linux-libre-module-builder-6.0.10-doc'
<haugh>Looking at the definition of %standard-phases in guile-build-system.scm:216, I can that it's modifying the definition provided in gnu-build-system.scm:869, but I don't understand how that definition makes it over to guile-build in guile.scm:82
<apteryx>podiki[m]: I thought I deleted the doc output from make-module...
<apteryx>(outputs (delete "doc" (package-outputs linux)))
<apteryx>in make-linux-module-builder
<podiki[m]>I saw, I'm also confused
<apteryx>are there other procedures involved?
<podiki[m]>looking at corefreq as an example, just seems like linux-module-build-system
<apteryx>ACTION tries
<podiki[m]>is it something with when something is evaluated with inheritance? (I would think not)
<podiki[m]>since the doc output is defined if build-doc? is true, is there an evaluation order here?
<apteryx>bah, I don't get it
<apteryx>it's frustrating that every time I've touched linux-libre something broke ^^'
<jlicht>apteryx: please don't let it slow you down. It can only break in so many ways ;)
<podiki[m]>you've done more good than harm! :)
<podiki[m]>what about setting #:build-doc? will that shortcut the need to delete the doc phases and this problem?
<apteryx>setting it where?
<podiki[m]>in make-linux-module-builder arguments I think
<podiki[m]>oh it is a keyword for make-linux-libre*
<podiki[m]>hmm not sure where that goes then for the module builder
<podiki[m]>(and none of this was your fault if the build-doc phase wasn't so slow, then we wouldn't need to modify the module builder in the first place)
<jonscoresby>hey guix. Is there anyway to run guix style on something that is not a package? Or else is there some other way to format .scm files according to guix styling rules?
<oriansj>zamfofex: ladybird finally downloaded and built. It renders fine (for simple css), memory usage is a good bit heavier than firefox but not bad, the built in spoof user agent is nice. The big issues I can see are you can't open a link in a different tab and you are unable to copy text and it leaves behind zombie processes when you close a tab. (minor bad is no bookmark support or umatrix like filtering)
<zamfofex>I see! Did you update the commit hashes to the latest Serenity/Ladybird commits? Note that they arein rapid development right now, so I feel like it’d help improve the layout of pages even further.
<zamfofex>I remember also hearing they were planning to move away from an AST interpreter to a bytecode interpreter for JavaScript.
<oriansj>zamfofex: well generally I disable JavaScript but lack of the ability to copy text or open a link in a new tab are kind of non-starters for me right now. But I assume they will fix those and when they do then it might become a viable option for me
<zamfofex>I see. That’s fair enough.
<oriansj>I can imagine a work around for maybe manually openning new tabs if I could copy the link
<oriansj>but not being able to copy text or even links is just something I can't work around, even for promising functionality
<oriansj>but I'll give the latest commit a swing to see if any of these core issues have been addressed
<jeandudey>Hi! Has anyone ever tried to make a (shepherd) service for synchronizing TCP open ports? Like, make <x> service wait until port 9050 is listening in order to start
<csepp>folks i'm trying to pull on i686 again and even with --cores=1 it ran all afternoon and then apparently stopped making any progress around 68% of building packages-base. i'm using channel-with-substitutes and removed *all* additional channels from my config. so why is it building during pull?
<csepp>i know i've posed this question already but if i got an explanation i forgot and/or did not understand it.
<apteryx>why would __GNUC__ come out as version 10 when I prepend gcc-9 to the native-inputs?
<apteryx>ah, I think that's because u-boot is cross-compiled
<apteryx>and the cross-compiled appears before my gcc-9, perhaps
<zamfofex>Is it expected that Rust up to 1.65 is defined in ‘gnu/packages/rust.scm’, but then 1.60 is the latest exported? Is that done in preparation for eventually updating it or something else, or is there a mistake?
<apteryx>normally we should only export the latest
<apteryx>the distro may be built on older rust for a little while as rebuilding the rust world is costly
<podiki[m]>apteryx: I see you reverted the doc output of linux-libre, guess you didn't figure out what was going on. should we have a separate package for the docs instead, does that make more sense? (separating out the whole doc building from all the kernel stuff)
<apteryx>podiki[m]: yeah, I couldn't figure it out
<apteryx>if the linux-libre used as the input of the linux-module-build system has a "doc" output, it get confused
<apteryx>I don't see the relationship
<apteryx>a separate linux-libre-documentation package is what I was thinking about as the next step too
<apteryx>now I'm trying to build a u-boot package using a cross-gcc which is at version 9 instead of 10. surprisingly difficult due to gcc symbols top level cycles
<apteryx>the cross-gcc procedure can only be invoked at the place you'd put an input (there's some lazy resolving going on that helps)
<podiki[m]>the recent patches you committed and some you added is looking good for other systems
<podiki[m]>maybe I need a new SBC to for Guix too :)
<podiki[m]>easier customization of the kernel is a nice addition
<lilyp>jgart[m]: haven't seen setup.el
<Michal_Atlas[m]><apteryx> "why would __GNUC__ come out as..." <- Could it be that the default inputs from the build system are included and the newer GCC takes priority? build-system-with-c-toolchain should switch that out fully so that the newer GCC isn't even a dependency
<civodul>Hello Guix!
<sneek>civodul, you have 1 message!
<sneek>civodul, daviid says: one last thing about the learn page, i'd like to suggest to add one entry to the tutorial section - OOP with GNU Guile and GOOPS, https://www.wedesoft.de/software/2014/03/02/oop-with-goops/ -
<yarl>Hello guix!
<jeandudey>Hi! Is there a way to debug start/stop of `shepherd-service's? Like seeing logs or errors
<jeandudey>I know there's `#:log-file' for `make-forkexec-constructor' and for `fork+exec-command', but I'm having problems with the latter I don't know if the program file I'm passing it is getting executed or not as the log file is empty
<jeandudey>Nevermind, running `herd status <serv>' gives some output too
<civodul>jeandudey: hi! shepherd 0.9 logs to /var/log/messages (via syslogd) if you don't provide #:log-file, so you should be able to find details in logs
<jeandudey> civodul: thanks!
<mekeor[m]>hello guix :)
<ardumont>civodul, still working on `guix locate thingy`, I did not find a way to trace with standard tool (yet and stopped)
<ardumont>i've made the execution idempotent though
<ardumont>each run was appending existing data as duplicates
<ardumont>so no more ^
<ardumont>i had to change the schema to add constraints
<ardumont>(and change how the insert is currently being done), seems stable enough now
<ardumont>i was thinking there was a crash somewhere as i have only ~300 packages or so
<stevenroose>This question is a general Guix question, though it does involve a nonguix package, let's hope I'm allowed to ask this.. So the steam package defines a directory in the package definition: ` (sandbox-home ngc-sandbox-home (default ".local/share/guix-sandbox-home"))`. Is it possible to install the package with a custom value for that directory?
<ardumont>civodul: but maybe not in the end, that probably has to do with the :#select clause you added that filters packages
<ardumont>(and (not (hidden-package? package))
<ardumont> (not (package-superseded package))
<ardumont> (supported-package? package))
<ardumont>oops, bad copy/paste ¯\_(ツ)_/¯
<ardumont>anyway, i guess that's fine as is
<ardumont>i'm still not comfortable with the guile repl (how to properly load stuff and whatnot...) with/without emacs
<ardumont>so i might need some more time to play with this
<stevenroose>Note, regarding my question, that field is inside a `(define-record-type* <nonguix-container>` section..
<stevenroose>Oh it seems to take an env var too.. Curious whether that will be used a build time or at runtime
<stevenroose>Ok that worked :)
<jeandudey>stevenroose: you should also be able to define your own <nonguix-container> and call ((@@ (nonguix packages steam) nonguix-container->package) (nonguix-container ...)) with all the fields.
<jeandudey>(sorry if this is not allowed to be responsed)
<stevenroose>Hey, jeandudey, I recall your username from a long time ago.. Not sure from where :D
<apteryx>Michal_Atlas[m]: the problem was in the make-u-boot-package, which was adding its cross toolchain in front of the native-inputs I added myself.
<apteryx>I've made make-u-boot-package honor a modified u-boot that can be taken as argument to fix that, in https://issues.guix.gnu.org/59761
<stevenroose>Ah hehe, you seem to contribute to rust-bitcoin :) Rust, Bitcoin and Guix easily go together I guess :) Nice to cross paths. Anyway, I am quite new to Guix, I have no idea what to do when people give me Scheme snippets, for now i'm mostly just trying to get things to work using the CLI and my single configuration.scm for Guix SD :) But thanks!
<jeandudey>stevenroose: rust-bitcoin and rust-bitcoincore-rpc I think :D
<civodul>ardumont: thanks for the update, sounds nice
<civodul>ardumont: for the REPL i use Geiser (in Emacs), with geiser-guile-load-path containing my local Guix checkout, though that's entirely optional
<jeandudey>I'm still quite grasping Scheme and Guix but loving it so far :D
<ardumont>civodul: that's how i've set it up but i'm not yet fluent in the command to execute from the repl
<ardumont> https://gitlab.com/ardumont/home/-/commit/ce5da3f9147a379cb6e4343529c084aa9425905a
<ardumont>;)
<ardumont>(yes, that's my "old" home, i'll work on making that converge in my other guix home at some point)
<ardumont>still, thx for your insight on that matter
<civodul>"guix.nix" :-)
<civodul>i actually just let Geiser start the REPL for me, but it's less flexible than starting it in the environment of your choice like you do
<ardumont>yes, i could have let geiser do it but i actually wanted to entertain guix shell as well ;)
<ardumont>(and i was also a bit unsure about the guile load path way... ;)
<reyman>Hi !
<reyman>I have a cargo-build-system question, i have a crate package that need (setenv ... ) well defined, when i run the compile of the crate alone there is no problem. But when i add this package as input/dependency to another rust package, the setenv is not recognized, any idea why ?
<jeandudey>reyman: You have to setenv again. May I ask what is the setenv for? You might be able to `substitute*` it.
<jeandudey>reyman: In the downstream rust package I mean, you need the setenv
<jeandudey>reyman: cargo-build-system doesn't yet support those features as it's different to the other build systems and doesn't use the normal inputs field. Hopefully antioxidant-build-system will make that easier
<reyman>The chain is : rust-deno-dep need deno-core as input, that need v8-0-49 as input.
<reyman>The setenv is needed by v8-0-49
<oriansj>anyone else notice slimlock crashes after 5minutes?
<reyman>so if i understand @jeandudey i need to redefine this setenv at rust-deno-dep level ?
<jeandudey>reyman: yes
<jeandudey>reyman: however, you would normally do this in the "final" package, i.e. the binary file that's going to be compiled (deno I assume). You can `#:skip-build? #t` those crates that need the setenv, however it's a good practice to check if these crates build
<reyman>this is the case only for setenv or other thing will not work in modify-phases ?
<ardumont>civodul: ah yeah, gotcha, i knew i read it somewhere the geiser-guile-load-path is defined in the guix:/.dir-locals.el repo
<jeandudey>reyman: I think it also happens with inputs and native inputs of crates.
<reyman>oh :/
<ardumont>civodul: but that one, i "can't" use it easily yet (due to my current emacs' config setup, being declared and all that, it's read-only... so i'm annoyingly prompted all the time to edit it...
<ardumont>anyway on me ¯\_(ツ)_/¯
<reyman>but the fact rust-v8-49 compile well alone, there is no way to directly use it ? I push all my input dependencies in a channel to call them independently
<reyman>as rust-v8-0-49 module
<jeandudey>reyman: Not yet, antioxidant attempts to solve that (compiling each crate to a static library that can be used as an input).
<jeandudey>Cargo requires the source code of all the crates to compile currently, so that's why setenv needs to be replicated on all dependents of rust-v8-0-49
<jlicht>so it seems the order of services in my operating-system record has an impact on the subsequent `guix system reconfigure'; it this something I should always keep at the back of my mind, or should I report an issue
<reyman>ok @jeandudey ! I will try
<jlicht>s/it/is, append '?' to my question as well :)
<lechner>jlicht / Hi, how does the order make a difference, please?
<bdju>is there documentation anywhere for getting pipewire set up on guix system? I already searched the devel manual and the cookbook
<lechner>bdju / a number of folks here have it running. I'd wait and keep asking. In fact, I would like to switch too
<bdju>alright, cool. thanks.
<mbakke>civodul: I think we should include 047425a662608f56ba530052e21106028c5d6eeb in version-1.4.0 so Guix can be used with a foreign libc > 2.33
<mbakke>I already made the cherry-pick but figured I should ask before pushing
<civodul>mbakke: hey! i don't see that commit on Savannah
<civodul>perhaps that's a local commit ID?
<mbakke>civodul: derp, it was my local cherry-pick of 3f6c32a88fc7a4d707ae1ed8ef3f7bd995461aff
<tremon>hi all, what's the recommended way for setting capabilities on binaries in the store? does it require redefining the package or is there some post-install magic that I could use?
<tremon>(specifically, for now, I want CAP_NET_BIND_SERVICE to be set on openldap's slapd)
<civodul>mbakke: ah yes, good idea; ok to cherry-pick 3f6c32a88fc7a4d707ae1ed8ef3f7bd995461aff to version-1.4.0!
<mbakke>tremon: you'll have to copy the binary out of the store and set the capabilities on the new file
<tremon>ouch, that's not what I was hoping for. but thanks, at least it'll save me a few hours of fruitless digging
<mbakke>it would be nice with a capabilities-service-type, similar to setuid-programs-service-type (or perhaps they could be consolidated)
<jlicht>lechner: Practically speaking, the difference is that one order breaks things, and the other works ;)
<jlicht> https://paste.sr.ht/~jlicht/ac0a68156b49346dfb55f00542d0e26ebbd38ed5 this is the tiniest config that reproduces the issue I had
<mbakke>should we pick build fixes to 1.4.0? i.e. 34a70b1f8691f87bc242c9b4adbf69bc0107e707 ?
<rekado>mbakke: yes, bug fixes are fine for 1.4.0
<lechner>jlicht / not sure what's happening but my services are working in the order in which they they don't for you. https://codeberg.org/lechner/system-config/src/commit/d7d6d8abedb529825374043e154eaa2f9370b6e2/host/lechner-desktop/operating-system.scm#L287-L332
<lil>Hello!
<lechner>welcome!
<ph03n1xaimverncc>Heyya, I kinda need help in running rathole again
<ph03n1xaimverncc> https://paste.sr.ht/~ph03n1xaim/a33081053b8e9be5a0163e9612f7c025c68d1c4b
<ph03n1xaimverncc>This is the config that I used to setup rathole service
<ph03n1xaimverncc>I need the service to run and connect to the rathole client
<ph03n1xaimverncc>Currently the rathole service just goes down
<ph03n1xaimverncc>It works without service and by calling the binary on tty
<ph03n1xaimverncc>But I kinda want it to launch everytime it boots
<reyman>i have a strange error with string-append + dirname, return an error, but the setenv seems ok !
<reyman>In procedure scm_to_utf8_stringn: Wrong type argument in position 1 (expecting string): #f
<lil>To demonstrate, I need to show how you can have two versions of python on a system. Can someone post the recipe for python 3.6?
<reyman>(setenv "CLANG_BASE_PATH" (string-append (dirname (dirname (which "clang")))))
<lil>to demonstrate to my colleagues*
<reyman>ok i found, i miss clang in input...
<lechner>reyman / what is the value of (which "clang") please?
<reyman>i found the problem @lechner, this is my fault, clang wasn't in input of my package
<lechner>reyman / please don't be so tough on yourself, and thank you for your contributions
<civodul>ACTION pushed additions to the release notes
<civodul>it's going to be a book
<civodul>now we need artwork or screenshots to spice up that wall of text
<civodul>or songs!
<nckx>civodul: info-guix@ isn't supposed to redistribute replies, only announcements, right?
<civodul>nckx: yes
<civodul>did it redistribute replies?
<civodul>i set Mail-Followup-To: guix-devel@gnu.org too, to avoid problems
<nckx>I didn't check, but some are held for moderation.
<civodul>oh we can drop them
<nckx>I was going to reject those but wanted to check. Don't have time to research a proper solution. Thanks!
<civodul>thank *you*, comrade!
<jlicht>lechner: could you try with elogind _before_ greetd? That's the thing that broke for my reproducer snippet.
<jlicht>Don't feel obliged to do so though :)
<lechner>jlicht / yes, i will. this is my main workhorse, however, so it may take a day or two (and i don't do much with computers on saturdays.)
<lechner>nckx / civodul / cbaines / apteryx / Hi, this fellow lives near me and hosts several other distros in Hurricane Electric's FMT2. (He also operates a well-known internet exchange there.) I'd like to approach him about maybe mirroring Guix. Do we have a way to load balance him in? http://mirror.fcix.net/faq/
<lechner>rekado / ^
<lechner>i am talking about substitutes, not the isos
<nckx>Substitutes are rsyncable now, but I don't know if they are public. I doubt it. But I think that making them accessible to trusted IPs, at least, is a good idea.
<nckx>From this fellow's page, I assume rsync is a prerequisite?
<nckx>ACTION ask question and leaves, evilly.
<lechner>nckx / yeah, looks like he likes rsync. there are other hurdles as well. i am not sure he can handle our download volumes. in a mastodon post, he talks about 1-2 TB per project per day. how much do we serve? https://social.afront.org/@kwf/108608491708475540
<munen>Hi everyone. I'm trying to install GNU Guix System 1.3.0 on a new computer. It crashes and restarts on partitioning. In the log, I can see it is a segfault in libparted. I had this on a different computer, as well. On the other machine I could work around it by using a combination of manual and automated partitioning. On this new machine, this doesn't work, because mkswap fails. I wanted to test the call to mkswap myself in the console, but couldn't.
<munen>Logging into the console fails with a 'no such file or directory' error for /gnu/store/xxx/bin/login. Hence, I'm at a loss of how to continue the installation. Are these known issues? I suppose they are, because I'm getting the same errors on two different machines.
<lechner>munen / i can help you with manual partitioning in an hour and half, if needed, but have to go now
<munen>lechner: Thank you for offering!
<munen>If I don't have it fixed until then, I'll happily take you up on it^^
<apteryx>civodul: about "it's going to be a book" haha, my feeling also
<mirai>when deprecating a field, how can I avoid serializing both the old and replacement field? I think I got the deprecation semantics right at https://paste.centos.org/view/5b9f4023 but I fear that as is this will result in duplicates.
<reyman>Is it possible in guile to concatenate multiple string with variable injected ?
<reyman>i try something :
<reyman>substitute* "./build/not_msvc.rs" (("new\\(\"sh\"\\)") (string-append "new(\"" (which "sh") "\")"))
<reyman>or the only is multiplcate string-append ?
<civodul>mirai: yeah, you'll want to substitute one or the other, not both
<civodul>mirai: also, the location in the warning would be wrong; you'll want (mpd-configuration-location this-record) instead
<mirai>reyman: (string-append "foo" (some-procedure-returning-string) "bar") works
<reyman>ok so my problem is more that (which "sh") return #f
<mirai>or use 'format' procedure
<mirai>civodul: yes, my intention is to deprecate the shorthand one
<mirai>easiest would be to error out and force substitution
<mirai>but if not that, then if someone has already defined the playlist-dir field, it should somehow avoid serializing the updated field that most likely will contain the default value
<civodul>yeah
<civodul>there's no streamlined way to handle field deprecation, unfortunately
<civodul>lemme see if i can find useful examples
<mirai>I also presume <record-type-here>-location will be subjected to changes in the future as its causing some trouble with dovecot (and others?)
<civodul>there's <bootloader-configuration>
<mirai>but that's ok for now
<civodul>but it's not using define-configuration
<mirai>civodul: that one uses define-record-type*
<mirai>and define-configuration doesn't have anything resembling (sanitize)
<civodul>then you have <file-system>, with a... ahem... much more elaborate mechanism
<civodul>mirai: define-configuration builds upon define-record-type*, so it could pass 'sanitize' through
<civodul>actually it already does!
<civodul>but only for type checking
<reyman>well, don't understand why my (which "sh") doesn't return a string, strange, this is not authorized in (snippet ?)
<mirai>I did see the bootloader example but it has a slight issue: it only applies to one field
<mirai>I'm planning on deprecating a few
<civodul>hmm
<civodul>all in all, you can do something similar to what you started to do
<civodul>probably the easiest solution
<civodul>you need to find a way to ensure one field is ignored when the other is set
<nckx>lechner: Much less. If I'm mathsing right, over the past 13 days we've sent less than 300 GiB/day to the Internet, so I don't think that would be the issue. At least not compared to some of his other requirements, like implying that we have any kind of ‘load balancer’.
<unmatched-paren>afternoon guix :)
<nckx>That number isn't to be taken as gospel, I'm just looking at interface totals which can be affected by many things.
<nckx>Hi!
<mirai>civodul: best I can think of is to test if set and use filter-configuration-fields
<mirai>ugly but doable
<ph03n1xaimverncc>My shepherd service dies idky
<ph03n1xaimverncc>Is there a way to make the process spawned by service not die?
<mirai>it can be cleared up after $$some sort of criteria for deleting deprecated code$$
<ph03n1xaimverncc>It seems like the shepherd is killing it?
<mirai>civodul: still within the define-configuration, how does define-configuration and define-maybe relate when either of them use (prefix foo-) mechanism
<mirai>within guix, when both define-configuration and define-maybe are used, they are used without prefixes and tend to be a single service within a scm file
<apteryx>ACTION will fix dovecot today by renaming the default generated "location" accessor to "source-location"
<apteryx>in (gnu services configuration)
<mirai>but say you have (define-configuration foo ... (field-x maybe-type) (prefix foo-))
<mirai>it ends up requiring (define type?) (define-maybe type (prefix foo-)) (define (foo-serialize-type) ...) as well
<mirai>what if there are 2 service types within the same file that want to use different serialize procedures for "the same type"? (type here could be something usual, say (define-maybe string))
<civodul>apteryx: too bad :-/
<apteryx>civodul: what is too bad? :-)
<apteryx>mirai: there's some awkward prefix mechanism that can be used
<apteryx>it's explained in the manual
<civodul>apteryx: we had a long discussion with many proposals and i thought my arguments for keeping 'location' in slot 0 etc. made sense
<mirai>apteryx: the manual doesn't quite cover what would happen in a scenario like this https://paste.centos.org/view/96791fa9
<mirai>it awkwardly requires using prefix again on the define-maybe
<mirai>but that will squat it for the remaining configurations that also want to use it
<apteryx>civodul: that could be done in the future again, if we have a need for it. I'm a bit weary of touching the layout again, after some users apparently had to adjust on their side
<mirai>I don't recall exactly how it went if you didn't use prefix with the maybe type, I think it will want a serialize-maybe-foo procedure instead. But it's not clear at all how the prefix interacts with define-maybe
<mirai>for define-configuration it's mostly clear that it's just a prefix, i.e: prefix-serialize-string
<apteryx>civodul: and anyway there's conflict with location one way or the other, so it has to be renamed to something less conflicty
<apteryx>what I still don't know though, is: is this field used by the error handling code? my analysis says "no", but that seems an odd conclusion, meaning the field is not in actual use in our code base?
<mirai>but with maybe types strange things happen depending on how many and where did you place the (prefix ) field
<apteryx>mirai: if you are struggling too much with this, it may be best to split the service into its own module
<apteryx>I think things can get very verbose when using prefixes
<lispmacs[work]>Hi, something is broke for me in the boot process, and I'm wondering if it might be due to the upgrade to 6.0.10 linux-libre. How do I specify in my system manifest the kernel version?
<rekado>(kernel 
)
<mirai>that would obliterate the point of using prefix though. My point is that the interaction between define-maybe and define-configuration+prefix is not intuitive
<lispmacs[work]>I presume it is adding something like (kernel #:version blablabla) but I don't see the syntax listed in the docs
<rekado>lispmacs[work]: the (kernel 
) field takes a package
<mirai>I'll try to come up with examples on its counterintuitive parts
<rekado>for example: (kernel linux-libre-5.15)
<lispmacs[work]>rekado: okay, I'll try dat
<lispmacs[work]>rekado: can I do that with specification->package?
<rekado>yes
<rekado>(kernel (specification->package "linux-libre@5.15"))
<rekado>untested, but this should work
<apteryx>mirai: OK! I haven't used them much so I don't know; I'm curious about your feedback though!
<lispmacs[work]>rekado: profile seems to be building, thanks
<civodul>apteryx: i think i replied to all these (valid) questions, but i feel like that feedback is not being heard
<civodul>i have to rush but i'll share my thoughts on the process
<civodul>ttyl!
<vagrantc>ACTION had a scare when the signature didn't match on the guix 1.4.0rc1 tarball ... only to realize that the tarball didn't fully download :)
<lechner>nckx / thanks for those numbers! i like them low because we would need some of the capacity for the relatively frequent upload with new substitutes. maybe we can get some advice regarding "load balancing". the gentleman works at Arista and is an expert in anycast routing https://en.wikipedia.org/wiki/Anycast
<lechner>munen / you good?
<munen>lechner: Thanks for asking! I kept re-trying and rebooting. Turns out if you switch often enough between guided and manual partitioning (without changing what's actually entered), it worked! 😂
<lechner>munen / glad to hear it! please feel free to blog about your experience, so we can refer to when someone shows up with the same issue. happy hacking!
<lechner>it
<munen>hihi, I've already migrated some people to Guix and have more people coming tomorrow (with EmacsConf around the corner and me being one of the organizers of the Swiss satellite).
<munen>I do hope that the libparted segfault in the installer will be an issue of the past in the next release, though^^
<lechner>munen / segfaults should be extremely rare in Guix. how did you install, please, and on what type of equipment? did you boot in EFI and use GPT as a partitioning scheme?
<munen>lechner: I installed it from a USB stick. The version of Guix system I used is the current one from https://guix.gnu.org/en/download/.
<lechner>munen / also, thank you for your hard work on EmacsConf. I have tried other editors and use nothing else (except mg as root)
<munen>The libparted segfault happened three weeks ago on the first laptop I tried. Today, it happened on a second laptop. Also, I made sure to re-download the Guix system installer today.
<lechner>munen / what type of laptop were those, please?
<munen>One notebook is a Lenovo Thinkpad X1 3rd edition. The other is a Schenker S306. Both have run various versions of Debian for years. So, generally speaking, they run GNU Linux fine^^
<unmatched-paren>munen: maybe try the latest image
<unmatched-paren>instead of current
<unmatched-paren>because latest follows master
<munen>So, both are not the newest notebooks. But they are also not quite obscure hardware, I suppose.
<unmatched-paren>by this point, current is so old that latest is probably less buggy
<munen>Re Emacs: It's where I spend about 90% of my computer time (mails, tasks, slides, controlling, accounting, project management, or simply all the things^^).
<munen>unmatched-paren: When you say 'latest', where would I get that? On https://guix.gnu.org/en/download/ there's a download for 1.3.0 (which I realize is quite old).
<ardumont>does someone know how i can actually reply to an existing email thread in the ml while i was not subscribed at the time?
<ardumont>(please)
<ardumont>from this https://lists.gnu.org/archive/html/guix-devel/2022-01/msg00354.html
<ardumont>(i don't find any metadata in there which could help, imsmw, that's how it's done, some email thread id to reference back in my mua or something)
<munen>lechner: > did you boot in EFI and use GPT as a partitioning scheme?
<munen>Yes, I booted in EFI, but I did not use GPT as partitioning scheme.
<lechner>ardumont / yes, you can. i'd keep the subject the same if you can't find the message-if
<lechner>id
<ardumont>thx!
<lechner>munen / why not?
<unmatched-paren>munen: https://guix.gnu.org/en/download/latest/
<munen>lechner: First, I used 'automated partitioning'. That seemed to be the easiest choice. That resulted in a segfault in libparted (saw that in terminal 3). The installer went back to the language menu. I retried the same 2 more times, always the same result. Then I used 'manual partitioning' and added one manual partition. Again, the installer crashed and restarted with the language menu. On the fifth retry, I used automated partitioning, again. And this
<munen>time it worked.
<munen>lechner: Having said so, this was on the first laptop (the Schenker). On the second, the process was way more elaborate. I cannot reproduce it anymore. It involved a lot of retrying the same and hoping that the result will change. After enough retries, it did.
<unmatched-paren>munen: could it be this? https://issues.guix.gnu.org/57513
<unmatched-paren>munen: also, the latest installer now has the ability to catch and report core dumps :)
<unmatched-paren>because of this: https://issues.guix.gnu.org/58733
<munen>unmatched-paren: Thank you the link! I'm trying to find it from the menu and can't. Next time, I'll make sure to use this and not the old version(;
<lechner>munen / sorry about that experience. are you sure parted crashed, or was it the installer? like unmatched-paren said, you used a relatively old version, which also did not work so well for me in April. the key is to 'guix pull' at the earliest opporunity
<unmatched-paren>munen: the menu shows "Standard" and "Latest" under "Download"
<lechner>munen / 1.4.0 is about to be released, too
<munen>unmatched-paren: It could totally be issue 57513. Hard to tell after the fact(;
<unmatched-paren>but it's quite hard to get to "Latest" from "Standard" or vice versa
<munen>I did take some screenshots on both instances, but since I used 1.3.0, I would propose to call them all obsolete(;
<munen>On the next try, I'll make sure to use the latest version. Don't know when that will be, since both notebooks run Guix System now^^
<lechner>munen / anyway, now you are off to the races. make sure to 'guix pull' at least once and have a look at 'guix home' as well as 'guix deploy'
<munen>unmatched-paren: Ok.. now I see it, too. Thanks! Having said so, I just used the CTA from the LP and didn't even use the menu: https://screenshots.200ok.ch/screenshot_2022_12_02-3c15aa6c.png
<lechner>munen / with your proficiency in lispy things we can't wait for your contributions! for example, i think, our emacs integration could perhaps use a refresher
<unmatched-paren>munen: ah, yeah
<unmatched-paren>we should probably change that
<munen>I'm quite proficient in lispy things as I earn my money doing Clojure. But having said so, I'm aware that this is not the Clojure that you might not have wanted to hear about. I do also like Elisp a lot and I do have plans to brush up on Guile. I think Guix is solving a lot of real-life problems I'm seeing in my company (and personal computers) regularly.
<lechner>munen / also, since you mentioned it already, it's probably worth pointing out to everyone in this channel that EmacsConf starts tomorrow, on December 3 https://emacsconf.org/2022/talks/
<munen>Right now, I've already set Guix up to replace a lot of my dev tooling. In my company, we've replaced some CI builds from Docker to Guix. But I'm a total beginner to be honest. I haven't even written my own package, yet. But that's totally to come, because not all the things I need are in Guix (and shouldn't be, because the things I'm referring to are Clojure related).
<lechner>we think of ourselves of bringing the Emacs model to operating systems
<nckx>munen: <re: Installer not using GPT on UEFI system> Ouch. If that still happens on the Latest image, could you report it?
<nckx>I don't see how that could boot?
<lechner>depends on the bios
<munen>If anyone is in Switzerland or central Europe, we have a venue for EmacsConf where you're all very welcome: https://200ok.ch/posts/2022-11-01_emacsconf__with_a_new_physical_venue.html
<lechner>nckx / sorry, i was thinking the other way around, legacy boot with GPT. i use that on one of my servers, but there are not many good reasons to do so
<munen>nckx: Turns out I didn't use the latest image. I used the one linked to from the landing page which is version 1.3.0. I now see that there would have been a link to 'latest' in the menu.
<munen>I don't think I'll retry with the latest image, because my business partner is already chucking away on the notebook and building things with it(;
<nckx>Oh, I know, I meant ‘please report it if it still happens’.
<nckx>Okido.
<munen>Thank you everyone for your awesome instant support 🙏 GNU Guix is an amazing community^^
<nckx>lechner: I haven't used ‘MBR’ partitioning on ‘BIOS’ machines for over a decade. My take is the opposite: whether or not you consider GPT's advantages ‘good’, MBR has none, so GPT is still the better choice.
<nckx>It's OK to let obsolete things die sometimes.
<nckx>ACTION looks at Old Hardware Museum in which they live — It's also OK to keep them alive.
<singpolyma>Except that not everything supports GPT yet I think
<lechner>nckx / yes, i agree with you. without questioning munen's motive, probably no one should be using MBR disk partitioning in 2022
<lechner>singpolyma / what doesn't please?
<singpolyma>lechner: anything without UEFI at least, right?
<nckx>Maybe I misread munen's <I booted in EFI, but I did not use GPT as partitioning scheme> + <On the fifth retry, I used automated partitioning, again> as ‘the installer did so for me’.
<nckx>singpolyma: Why not?
<lechner>nckx / let's parted chose GPT for them!
<lechner>let's hope
<singpolyma>I dunno, maybe stuff in my house will work with GPT and I've just been too lazy to try. That's fair
<nckx>Then I don't get the first bit, but yes, let's.
<lechner>nckx / let's hope parted picked GPT
<nckx>I meant ‘I did not use GPT’.
<nckx>singpolyma: I've heard unsubstantiated stories of ‘some BIOS trying to be clever by reading the partition table’ (not the BIOS's job, ever) but never anything with credible names/models/details.
<nckx>Certainly never owned anything that did.
<munen>lechner: I didn't want to to imply that GPT isn't a solid choice. Tbh, I didn't really know about MBR vs. GPT until this discussion. It simply wasn't a default that was picked in the TUI installer.
<nckx>I'm using BIOS to mean pre-UEFI firmware here.
<nckx>munen: When your friend surrenders the machine and you don't have anything better to do (which is, granted, anything else), could you double-check?
<lechner>munen / you can still switch. GPT is great. it keeps a backup elsewhere on the disk and there is no need for "extended" partitions and all the odd math they bring with them
<vagrantc>ACTION glares at FAIL: tests/graph.scm - reverse bag DAG
<nckx>ACTION downloads the rc.
<munen>nckx: Do you want me to do a `fdisk -l` or something else?
<nckx>That's enough, thanks!
<lechner>nckx / the only issue i heard of, and it did not matter to me, is that Winblows refused to boot on a double-boot system when legacy boot is used with GPT. on pre-UEFI equipment that was a great choice for years
<lechner>munen / or gdisk :)
<nckx><Windows> Ah. That is a valid point.
<nckx>How one can live in one's own little Free world :)
<munen>nckx: Here
<munen>nckx: Here's `fdisk -l`: https://screenshots.200ok.ch/screenshot_2022_12_02-348ff0db.png
<munen>nckx: Sorry, we don't have any tool on the laptop, yet, to copy text easily to another machine(;
<nckx>ACTION was bracing for a flood after ‘Here’. Phew.
<nckx>Huh. OK.
<nckx>Bold choice, but OK.
<munen>nckx: Apologies. I wouldn't paste a lot of stuff. I'm just typing on my notebook right now and I'm not used to it (usually type on the Kinesis). But I'm already at the venue where we'll be hosting an EmacsConf satellite tomorrow.
<munen>nckx: What's the bold choice?^^
<nckx>No, it's just that folks new to IRC sometimes paste 20 lines of text into the input box and then we have to teach them about pastebins. You did good.
<nckx>munen: Defaulting to msdos partitioning on known-UEFI systems.
<munen>I know, I know. I turned the old 40 this week. No youngling here^^
<munen>nckx: Well.. it wasn't so much a choice. More "that didn't crash the installer"(;
<nckx>I see.
<nckx>So ‘I used automated partitioning, again. And this time it worked.’ 
but you did override a default choice?
<nckx>Sorry, I don't mean to keep harping on your word choice or anything, just trying to make sure I understand.
<munen>nckx: Unfortunately, I stubbornly retried the same thing over and over, again.
<munen>nckx: But I would chuck all of the issues up to me using 1.3.0.
<munen>I'm debating with my colleague if he wants to restart with the latest image.
<munen>Then we would also totally pick GPT(;
<nckx>Don't feel obligated to reinstall. I can always build a UEFI VM to satisfy my own curiosity.
<munen>đŸ‘ïž
<nckx>cbaines: Er. What was my issue again with adding bordeaux by default to guix-install.sh? It's been so long

<nckx>I can't think of an obvious blocker but that just makes me worried I'm missing one.
<mirai>apteryx: ok, I've did some experiments with the maybe macros
<mirai>about the point of possible conflict between multiple define-maybes and define-configurations depending on prefix, it surprisingly doesn't happen
<mirai>See this https://paste.centos.org/view/7f44a358
<mirai>I tried it under geiser
<mirai>it all seems to match
<mirai>but I am surprised that the sequence of define-maybe's at the top actually don't shadow one another
<vagrantc>This packages can guix 1.4.0rc1
<lechner>nckx / for my hopes to obtain free mirroring near my house, it would probably help to accept this patch for bgpq3. is that tool acceptable here, or should it go into the other channel? https://issues.guix.gnu.org/59623
<nckx>Other channel?
<lechner>non
<nckx>Oh, you mean nonguix? I don't know; what's questionable about it?
<lechner>it helps people to configure very fast equipment from the other side
<lechner> https://github.com/snar/bgpq3
<nckx>(Please don't market nonguix as ‘the other channel’, that gives it undue important. There are many other channels.)
<nckx>*nce
<mirai>how long should a deprecated field/piece of code remain until it is deleted?
<nckx>Just say ‘nonguix’.
<lechner>okay, thanks
<rekado>lechner: if it’s free software and doesn’t require the use of nonfree software: yes, it’s okay for Guix
<mirai>lechner: but bgp3 is FOSS?
<nckx>(I mean, if possible, *don't* say it; but this ‘mysterious forbidden channel’ mystique has the opposite effect. But I've sung this song before.)
<nckx>lechner: I meant questionable from a freedom/licence perspective.
<lechner>mirai / bsd-2
<nckx>Barring outright malware (although we do package bitcoin, so that's selectively enforced) anything free is OK for Guix.
<lechner>nckx / i have high moral standards, but this text too is likely to travel through proprietary equipment
<nckx>It's travelling through proprietary equipment ~right now~ 🩇
<mirai>lechner: if it's about whether the patch will go faster in nonguix, I wouldn't count on it
<lechner>nckx / i would like to offer FCIX a deployment solution in Guix. in my opinion, it will be easier to deploy on new anycasted nodes and then manage remotely with Guix than their current solution based on Ubuntu (and maybe Puppet)
<nckx>I see.
<lechner>the 750KB/sec i get from MDC are a strong motivator for me
<mirai>nckx: it's everywhere! the screen you're reading this on, the keyboard you're typing on, the disk drives, all have inscrutable firmware blobs!!
<nckx>ACTION scrutes them.
<rekado>lechner: I get 50MB/s from a random EC2 instance in Frankfurt
<rekado>¯\_(ツ)_/¯
<mirai>the FOSS setup would be: a nand-chip built cpu+gpu and a vector display
<mirai>and possibly a motorized telegraph for bitbanging ethernet frames
<mirai>lechner: https://spdx.org/licenses/
<nckx>I'm reviewing it by the way.
<rekado>I think it’s important to repeat every once in a while that this is not a purity contest, but a best-effort attempt at liberating ourselves from arbitrary restrictions where feasible.
<nckx>lechner: Why a commit rather than v0.1.36.1? (There are correct answers, don't worry, but we do prefer releases in general.)
<tricon>"and possibly a motorized telegraph for bitbanging ethernet frames" - â˜ș i love this comment.
<nckx>M-x summon-avian-carrier
<nckx>(A little door pops open where your RJ45 jack used to be, releasing seed.)
<mirai>rekado: https://www.gnu.org/philosophy/saying-no-even-once.html
<lechner>nckx / i contribute regularly to various upstreams. over time i found that release tags are more for people's orientation than any other purpose
<lechner>nckx / same is true for Guix 1.4.0
<nckx>I'll take that as a ‘no hard reason’ and use the tag then.
<rekado>mirai: exactly
<nckx>lechner: Guix releases are explicitly, as someone recently so elegantly put it, ceremonial, yes.
<nckx>As meaningless and meaningful as birthdays.
<rekado>another common misconception is that running free software is something to be ashamed of, that it is somehow a moral failing. It is an injustice that people are *made* to use proprietary software, that they are pressured into give up computing autonomy.
<rekado>the very act of using nonfree software out of your own volition is besides the point.
<pkill9>i think you accidentally wrote free software instead of proprietary software in the beginning :p
<rekado>ah drat
<lechner>nckx / in greetd, for example, my commit is needed for any FUSE-based home folder or anyone using root_squash on NFSv4, but I have to wait for kenny to release before i can drop my custom package definitiion. i wish greetd too would use versioning that allows intermediate uploads https://git.sr.ht/~kennylevinsen/greetd/commit/9c8297e4cbb12ab6f4bc0ecc4e586d9938e9ff6a
<rekado>pkill9: should have been “nonfree” indeed
<nckx>lechner: That's fine. We add a comment to the package explaining why a commit is used in such cases.
<pkill9>does it still apply to things like gaming
<nckx>lechner: So if there's a missing feature/bug/interop issue with using the latest bgpq3 tag, let me know, then I'll add such a comment.
<pkill9>that you dont have to do, but if theyre nonfree
<pkill9>then to game you need to
<rekado>this is also why as a *project* Guix takes a stance against recommending the use of proprietary software. As a project we have a different responsibility than individuals.
<lechner>nckx / that's fine regarding bgpq3. thanks for looking at it!
<vagrantc>any hunches as to why this test failed: https://paste.debian.net/1262661/ ... run inside a debian usernamespaced build without network access, fwiw
<lechner>nckx / in general, though, the guix setup is too stiff. the packaging variables are tied too tightly to tags and even commits. all those versions can co-exist peacefully
<nckx>It's a trade-off.
<nckx>Never trust GitHub licence declarations, part eleventy zillion: https://github.com/snar/bgpq3/blob/master/strlcpy.c
<nckx>VONE clause
 TWO clause
 THREE clause?? 🩇
<xd1le>yeah it's just basically a guess
<xd1le>sometimes different files in the repository can have different licenses, like in this case
<nckx>Ironically, the two BSD-3 files are ‘better’ licenced — the BSD-2 ones don't even have headers. There's a blanket 2-clause COPYRIGHT file, which is I guess where GitHub gets its oversimplified licence value.
<nckx>Genuinely surprised they haven't deployed AI for that yet. You could say ‘liability’, but they are already making a declaration in this case, and they could mark the AI result as a suggestion to be verified.
<xd1le>yes, and they don't care much to improve their 'license detection'
<nckx>ACTION enjoys triggering folks by saying AI.
<mirai>there's spdx and the REUSE spec
<nckx>I know. But you can't spell REUSE without USE. And sadly, people don't.
<lechner>nckx / woops, i did not trust the Github declaration but it is such a small program, i probably did not examine all file headers. i'd be happy to redo the patch. how can the issue be addressed, please?
<the_tubular>ACTION Can't wait for emacs 30 to land in the repos!
<nckx>lechner: I've already made the change here, along with some other (minor) tweaks, so in this case I'd prefer to just push my version. But in general: you'd edit the package, git commit --amend [-a|FILE], and git send-email -v2 the result.
<lechner>nckx / thank you, and sorry about the oversight
<lechner>nckx / as for release tags, i think the tradeoff is in our heads. Please have a brief look at what's holding back Gocryptfs. Why should I need to wait for the Golang build system to be upgraded from go-1.17 (or whatever is causing the issue for go-ipfs and go-golang-zx2c4-com-wireguard). There is no technical reason why go-golang-org-x-net cannot be available in multiple versions (except perhaps space consideration). The argument is
<lechner>even more true, because it is "source" library https://debbugs.gnu.org/cgi/bugreport.cgi?bug=58658#18
<nckx>lechner: It's really no big deal, this is trivial to miss, and I only notice it because I'm anal about checking them (and I have surely missed some because of that!). This is what review is for.
<nckx>lechner: That is indeed in your head.
<nckx>Nobody is saying you can't do that.
<nckx>s/because of/despite/ how to English it hard.
<lechner>nckx / i know we can compensate with multiple variables, but i think those variables should be functions https://mail.gnu.org/archive/html/guix-devel/2022-10/msg00248.html
<lechner>this way, the prerequisite version is managed in the consuming package
<nckx>Which has drawbacks, hence trade-offs.
<lechner>what kind of drawback, please?
<nckx>Complexity. Even reading ‘the prerequisite version is managed in the consuming package’ does not have the (clearly positive) intended effect you clearly expected.
<lechner>the dependency version is managed in the dependent package
<nckx>Yes.
<nckx>I understand.
<nckx>Anyway, I just came here to have fun and review bgpq3, and I'm all out of bgpq3. I'll push it shortly. Thanks!
<lechner>nckx / sorry to be argumentative, and thanks for your work on bgpq3
<nckx>You aren't argumentative, but also thanks for not forcing me into a related but distinct discussion I didn't sign up for :)
<lechner>actually i'd rather goof off to. it was a bit to heavy. you were right to call it
<lechner>too
<lechner>Hi, for English-speakers this talk has a very witty and funny title. There is a children's song called "Wheels on the Bus." With seatd, some of my setup seems to migrate away from D-Bus. Do we have an opinion on D-Bus? https://mail.gnu.org/archive/html/guix-devel/2022-10/msg00248.html
<nckx>(Wrong link?)
<lechner>thanks and sorry, again https://emacsconf.org/2022/talks/dbus/
<lechner>the talk is on sunday
<degauss>Hi! I'd like to start a thread in the guix-devel mailing list, but I may not have the time to cope with the whole traffic of the list. Is it ok to send an email while not subscribed (indicating so in its body)? Thanks! :)
<nckx>Yes!
<lechner>Yes, people do that. It works especially well in Guix because we have a habit of copying prior commenters via "Reply All". (Some other projects discourage individual cc's.) Either way, you can always go the list archive on the web to see the reactions to your posting.
<degauss>Cool! Thanks nckx and lechner, I wanted to be sure that it wasn't taken as rude. :)
<lechner>nckx / thanks for the routing tool!
<nckx>Urw. You did the work.
<lechner>Yeah, like miss two incorrect licenses
<nckx>In an ideal world, you wouldn't need to audit those đŸ€·
<nckx> https://github.com/snar/bgpq3/issues/72
<lechner>nckx / Thanks for that filing, too! The insecure home-page is kind of inconsequential. Should I have listed the GitHub page again, instead?
<mirai>XDG_CONFIG_HOME isn't set by default?
<nckx>No, I kept the http: one.
<lechner>mirai / depends
<nckx>mirai: Not by Guix, anyway.
<lechner>mirai / are you using elogind?
<mirai>lechner: I am but I asked for a different purpose
<mirai> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/audio.scm#n65
<nckx>Would mpd respect XDG_CONFIG_HOME if not explicitly given a different directory?
<nckx>grep suggests it would.
<lechner>Would mpd know about XDG_CONFIG_HOME when run as a system service?
<nckx>That depends on what those lines configure, and I don't know that.
<nckx>If they only affect the daemon or clients somehow too. Anyway.
<mirai>according to https://mpd.readthedocs.io/en/latest/user.html#configuring-the-music-directory it will actually prefer to read from XDG
<nckx>That's what I'd expect.
<mirai>but since we pass the config file explicitly, it doesn't matter much this particular case
<mirai>the interesting part starts on the non-config files
<nckx>I think XDG_ being set or not is a red herring for your real question, but I don't really know what that is.
<nckx>You should never expect it to be set.
<mirai>I was thinking that instead of just polluting the home directory with the .mpd directory it should try to place them under XDG_CONFIG_HOME
<lechner>mirai / you are starting it as a home service, right? https://www.reddit.com/r/GUIX/comments/qnioet/comment/ipd7fj8/
<mirai>lechner: I am refactoring this service actually
<mirai>the service it works without root (I think it only matters if you want to bind to lower ports)
<mirai>the service works*
<mirai>so I suppose you could configure mpd-service-type to either just use the internal daemon user or you could set it to your "interactive" user
<mirai>(doubt there are any system users that have use for a ~/Music folder)
<lechner>mirai / my concern was merely the access to the right environment, rather than each program or service making assumptions as to where XDG_CONFIG_DIR and friends might be located. there seems to be a bit of a vigilante trend sometimes
<mirai>it's clear that such a folder only has significance for interactive users
<nckx>mirai: <I was thinking> Yes, it should.
<mirai>lechner: the spec for XDG base variables is clear on its behavior
<nckx>There are clear fallback rules for what to do when XDG_CONFIG_HOME isn't set, which should be the common case. It seems mpd applies those (StandardDirectory.cxx).
<nckx>Damn, too late.
<lechner>okay, maybe i need to read more
<nckx>But this can only be a run-time fall-back, of course.
<nckx>I too thought this was about user services.
<nckx>This service is just a bit weird.
<mirai>nckx: I suspect it actually doesn't quite work as you're lead to believe
<mirai>the user for instance
<mirai>is hardcoded
<mirai>it has multiple notions of user
<nckx>That is quite possible, I did not dive into GetHomeDir() for example.
<reyman>arf, autoconf by default is 2.69, where is the 2.71, some package need it, any idea ?
<nckx>location: gnu/packages/autotools.scm:115:2
<unmatched-paren>reyman: autoconf-2.71
<nckx>reyman: autoconf-2.71 is ‘the renaissance version, which is not widely supported yet.’
<nckx>Which makes it sound way cooler than it probably is.
<lechner>i can barely remember it being any other way. autoconf 2.69 was released ten and a half years ago
<reyman>lol ok
<lechner>but to be fair, 2.71 is only a year and a half old
<reyman>when you want to pass directly a version to native input, how do you do ? using tuple ?
<lechner>i wish
<lechner>i think you use the variable autoconf-2.69 (or so)
<unmatched-paren>reyman: no, it literally has the variable name ``autoconf-2.71''
<reyman>ok ! thanks
<unmatched-paren>but for that particular package, the variable name and the package name are different
<reyman>right !
<unmatched-paren>so (define NAME ...)'s NAME is autoconf-2.71, but (package (name NAME) ...)'s NAME is "autoconf"
<reyman>grr, i try many things but a crate (libffi https://github.com/tov/libffi-rs/tree/libffi-v2.0.1/libffi-sys-rs/ ) resist to compilation ...
<reyman>i clone libffi, run autogen.sh, but when the build.rs run command
<reyman> "/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/sh" "configure" "--with-pic" "--disable-shared" "--disable-docs" "--prefix" "/tmp/guix-build-rust-libffi-sys-2.0.1.drv-0/libffi-sys-2.0.1/target/release/build/libffi-sys-dce947b2f8d4ebef/out/libffi-root"
<reyman>i have this error configure: error: cannot run /bin/sh ./config.sub
<rekado>reyman: /bin/sh does not exist in the build environment
<nckx>Is this is a guix-daemon build environment?
<rekado>set SHELL or CONFIG_SHELL
<lechner>i love guix
<lechner>i mean it
<reyman>yes, this is a package build by guix
<tricon>lechner: it's really great, isn't it?
<reyman>what i don't understand the good /bin/sh is used to run configure
<reyman>the "/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/sh"
<reyman>but the error returned a simple /bin/sh, what happen
<rekado>autogen sometimes explicitly uses /bin/sh
<rekado>it can run the configure script automatically
<rekado>you have to make it not do that
<lechner>tricon / yes that is very true, although my comment was directly related to /bin/sh being absent from the build environment
<lechner>that probably took eight years
<rekado>(I’m not sure I like this, actually. /bin/sh is available everywhere, so this seems like an arbitrary complication.)
<reyman>ok will search if autogen get some env to change that
<lechner>maybe so, but there have been discussions elsewhere about what /bin/sh is, or what it is supposed to be
<lechner>besides, all those hashbangs should read /usr/bin/env guile anyway
<reyman>that works
<reyman>lol
<reyman>this is so fucking complicated
<reyman>:D i love guix
<reyman>thanks @rekado
<unmatched-paren>WHAT "Your Savannah account <paren> is automatically removed due to inactivity."
<nckx>Uhm.
<unmatched-paren>I literally created it just about a week ago or something.
<nckx>2?
<nckx>Otherwise, bug.
<nckx> https://savannah.gnu.org/maintenance/IdleAccounts/
<nckx>I guess we (maintainers) need to add a hard deadline for approvals from our side.
<unmatched-paren>ah, i created it on 2022-11-15
<unmatched-paren>so yeah, two weeks
<unmatched-paren>time flies :)
<nckx>It's almost suspiciously quiet, like your request got lost (or spam-filtered) somehow? I dunno. I got it

<nckx>ACTION stops speculating.
<nckx>Sorry :(
<unmatched-paren>no problem. that's just a really short max idle time...
<nckx>Forcing someone to comment seems counter-productive, indeed.
<unmatched-paren>ACTION clicks "New User", for the second time...
<nckx>We have a meeting coming up this Tuesday; I'll make sure your request is processed.
<lechner>unmatched-paren / same thing happened to me recently
<unmatched-paren>nckx: thank you :)
<nckx>It's insane because AFAIR ‘member’ means ‘commit access’!?
<unmatched-paren>okay, registered again
<unmatched-paren>fortunately it's really easy
<nckx>(Don't forget your key :)
<unmatched-paren>oh, yeah
<lechner>are congratulations in order?
<nckx>I think the best work-ar^Wsolution on our end is to add a seemingly innocent step to our commit request process, where applicants open a ‘commit request’ ticket on Savannah, just to stop this death timer.
<nckx>lechner: Not yet.
<lechner>yeah, not all interactions with savannah count
<nckx>‘Posting a new item in any tracker’ is explicitly listed, so if that doesn't help we can file a bug.
<nckx>ACTION looking 
do we even *have* a Savannah tracker? 

<mmorko12>hello there
<nckx>Answer: no.
<nckx>Not to your hello! Hello: yes.
<podiki[m]>hmmm unmatched-paren makes me wonder when I created my account...
<nckx>Blargh. So we'd have to open a Savannah bug tracker just for this, which would probably attract real bug reports, which we then have to (manually) point to our *real* bug tracker

<nckx>JFC spicy chicken.
<nckx>podiki[m]: Tick tock!
<podiki[m]>perhaps just a note in the commit access docs to "create a savannah account once approved, unless you have one already"?
<nckx>Which is extra cruel, because you've actually been approved
<podiki[m]>my password file says nov 23
<podiki[m]>yes, tricky since when someone makes a signed email announcement, one would want to check with the savannah account key for confirmation publicly
<nckx>Well, it's just your public key there; someone else could in theory create an account. But yes, it was definitely a nice-to-have part of the story.
<nckx>Unless we add a ‘physical meet-up’ condition we can't do much better than those I fear. But that's a different issue.
<podiki[m]>right, I meant confirm there is a savannah account with that public key at least
<podiki[m]>not much but something
<nckx>Right.
<podiki[m]>especially if they remove accounts that don't do anything :-P
<lechner>nckx / does this explain a possible cooperation between debbugs (bugs-guix, not guix-patches) and the savannah tracker? https://debbugs.gnu.org/Using.html
<nckx>Heh, I was just reading that :) Thank you very much!
<lechner>it still says to turn off the savannah tracker, so no
<nckx>Well, in the ‘recommended mode’.
<nckx>But yes.
<nckx>I find it all very complicated.
<lechner>it was the leading edge of technology, in 1999
<nckx>When I said ‘reading that’ I meant ‘reading it for the second time, understanding slightly more, maybe 3rd time will be a charm’.
<nckx>Which is a pretty red flag.
<nckx>I would prefer not to point something arcane at our mailing list, thank you very much 1999.
<nckx>I've enabled something called a ‘task tracker’, but of course I can't see what it looks like to unprivileged users.
<nckx>What *I* see is insanely complex.
<nckx>Because Savannah.
<mmorko12>hello again, sorry was kicked off before
<mmorko12>i am trying to learn some stuff with guix, starting to understand system configurations, not yet there with home configurations, just started with packaging
<nckx>ACTION AFK, but welcome!
<lechner>mmorko12 / what can we do for you, please?
<mmorko12>i do have quite a lot of doubts question and not sure where to start, let's try
<lechner>also, Hi. i always forget that
<lechner>please proceed
<mmorko12>my goal is to learn packaging, one of them at least
<mmorko12>i started reading the manual
<mmorko12>i am understanding the basics
<lechner>do you have any other packaging experience?
<mmorko12>also made a first package of a very basic hello world on my repo
<mmorko12>not really
<mmorko12>i always used linux but never packaged, i started recently with void linux but then switched to guix 3 weeks ago
<lechner>ACTION looks up void linux
<mmorko12>xbps-src in void is quite simple
<lechner>on that level packaging in Guix is probably quite comparable
<lechner>you may have to unlearn some other things, though
<mmorko12>yes but i struggle to get some aspects
<mmorko12>yes probably yes
<mmorko12>anyway my first goal is trying to package labwc a wayland wm
<mmorko12>i also wrote the package scm file
<rekado>it’s a pity I still can’t boot from the SSD that’s connected to the SATA card on my rockpro64
<lechner>mmorko12 / is it working?
<rekado>in u-boot I do “pci” and then “scsi reset” and it immediately causes a CPU reset
<mmorko12>trial error it kinda work, by means it download the source from github, but than rise error with another package
<mmorko12>wlroots
<rekado>I’m still using the recommended PCIe card from the Pine shop: vendor 0x197b, device 0x0585.
<lechner>mmorko12 / can you pastebin the file somewhere, please?
<mmorko12>lechner / yes give me a bit must find it
<lechner>rekado / are you being hit by something like this? https://patchwork.ozlabs.org/project/uboot/patch/1497706560-23385-3-git-send-email-bmeng.cn@gmail.com/
<oriansj>what would be the most guix proper way of doing the if statement in this file: https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/kodi.sh
<oriansj>(I know the startx is just do autologin)
<rekado>lechner: maybe
<rekado>I’ll have to look at the u-boot sources
<lechner>rekado / it's an old patch but the behavior your described seemed faulty
<mmorko12>lechner / here it is
<mmorko12> https://github.com/m4lin/guix-packages/blob/main/labwc.scm
<rekado>FWIW I’m using u-boot-2022.04
<mmorko12>i tried to write also scm file to update version of wlroots
<mmorko12>it complains about wayland package version
<mmorko12>wrote also wayland ... it install
<mmorko12>but when i try to install new rev of wlroots it complain
<mmorko12>bit lost, and almost sure i am doing something wrong
<mmorko12>please note the latest version of labwc is 0.6.0
<mmorko12>i changed 0.05 and after 0.0.4 to see if it works better with old version of wlroots in guix
<mmorko12>no difference
<lechner>mmorko12 / unfortunately, i have to leave for an hour and a half, but i will look at it with you when i return---unless someone else beats me to it
<mmorko12>it is ok do not worry
<rekado>lechner: the patch is already part of u-boot-2022.04
<lechner>there are many lurkers here, and nearly all of them are more capable than I
<rekado>but I don’t think CONFIG_DM_SCSI is defined
<mmorko12>for sure more than me LOL
<lechner>rekado / i believe vagrantc, who is not here right now, is an expert in u-boot
<rekado>yes, we discussed this back in March, I think
<rekado>but unfortunately nothing came of it
<rekado>I’ve been booting this thing off a USB stick with Guix System on it.
<rekado>but I’d really like to actually be able to reconfigure the system on disk
<lechner>rekado / have you looked at the Rockpro64 specifics here, including the patches and the "supported operating systems," whatever that means? https://www.sfxworks.net/posts/uboot-and-rockpro64/
<lxsameer>hey folks, how do you use geiser with guix? do you run guix repl externally and then connect to it?
<the_tubular>Anyone is able to boot the installer inside Hyper-V ?
<the_tubular>Keyboard isn't working, but it's working in other vms
<rekado>lechner: I don’t think this is relevant
<rekado>I’m not using SPI boot
<rekado>the instructions there are to boot into a system so that you can flash to SPI
<mihi>on logs.guix.gnu.org latest logs are from 2022-11-30...
<mihi>(but they include this message: https://logs.guix.gnu.org/guix/2022-11-30.log#001122 - is there some cronjob that should rotate the log?)
<oriansj>the_tubular: I believe you need to tweak a few groups to be more like Debian to get it to work correctly but I don't remember the exact details
<the_tubular>Relating to the hypervisor or the VM ?
<oriansj>I believe the VM
<the_tubular>I wanted to test Wsl ... :/
<the_tubular>What would be the quickest way then ?
<oriansj>The fastest path I found was Debian on HyperV and then install Guix on top
<oriansj>then I took a bit to figure out what about Debian needed to be replicated in Guix
<the_tubular>Last time I tried that I had problems also
<the_tubular>I couldn't guix pull for some reason
<oriansj>Linux on HyperV never was well tested
<oriansj>most people know better an just do Windows on a Linux VM instead of the other way around.
<arescorpio>linux-vainilla | linux-international | linux-libre | HURD | kfreeBSD | etc
<oriansj>well HURD's virtualization support didn't really do testing for supporting Windows VMs
<oriansj>as they are a dumpster file to debug
<oriansj>^file^fire^
<lechner>mmorkoz12[m] / Hi, did you remove anything from the labwc.scm file you posted?
<the_tubular>Isn't WSL Linux on Hyper-v oriansj ?
<mirai>huh, putting a lambda function with 2 arguments for serializing maybe-type directly within define-configuration fails
<mirai>Wrong number of arguments?
<mirai>Pretty sure the serializing procedures always take 2 args
<oriansj>the_tubular: no, as I understand it WSL is a translation api upon the kernel like win32 is
<oriansj>minor refinement WSLv1 was just a translation API to the Windows kernel and WSLv2 actually runs a modified Linux kernel using some features of Hyper-V https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux
<oriansj>but it isn't a Hyper-V container as you get full disk access with no ability to limit beyound basic user access controls
<haugh>flatwhatson, you in here? got a question about the modules used in guile-gemini/guix.scm
<haugh>sneek, later tell flatwhatson why does guile-gemini/guix.scm need (guix build utils) and (guix gexp)?
<sneek>Will do.
<oriansj>sneek: botsnack
<sneek>:)
<oriansj>always take good care of which you depend upon, least it is not there for you when you finally need it.
<haugh>this is the mentality that led to people using IRC in 2022 in the first place
<oriansj>haugh: and usenet too https://craphound.com/overclocked/Cory_Doctorow_-_Overclocked_-_When_Sysadmins_Ruled_the_Earth.html
<oriansj>when something works really well, it sticks around for a long time
<haugh>that's not the only reason systems persist
<oriansj>really well also is extremely relative; if all people have to choose between is super painful and slightly painful; then slightly painful will persist until something even less painful shows up and slowly takes over.
<oriansj>the only times things stick around past their superior replacement when the pain of change exceeds the benefit of change. (then the change will occur after the last generation trained on the inferior method dies)
<haugh>I don't have that kind of time
<oriansj>haugh: well if your plans depend upon everyone doing "the right thing", then your plans have already failed and never stood a chance to have success.
<singpolyma>People are constantly being trained up on inferior stuff though, so the last one never dies
<oriansj>singpolyma: when is the last time you saw a licensed medical doctor talk of bad humours and bloodletting as a cure for having the flu?
<singpolyma>Never, because once we instituted licensing and regulation banning that practise and teaching it went away
<singpolyma>But without that there would be those still sticking to it I'm sure
<singpolyma>(as you see with less regulated things like supplements)
<oriansj>singpolyma: well selling supplements doesn't require education to do
<oriansj>so the removing of "bad training" isn't an option
<singpolyma>Could ban selling things that don't work though. Require a testing regime etc
<singpolyma>But supplements are mostly harmless and just a waste of money, so it's not considered worthwhile
<singpolyma>Point is better things don't magically win and the old guard never dies because they create their own replacements
<oriansj>the problem is you'll have banned 98% of corn sold because Nixtamalization isn't done
<oriansj>(it is required to make the B vitamins bio-available for humans)
<singpolyma>I mean, corn is a pretty bad product generally so yeah. It's not really digestible food
<singpolyma>Probably shouldn't be allowed to market it as food
<oriansj>when is the last country you knew of that didn't have markets and currency?
<singpolyma>Unfortunately none
<singpolyma>Maybe someday
<oriansj>when something better is available
<oriansj>and it replaces the old and worse system
<oriansj>it is terrible in many ways but in others it is an improvement
<singpolyma>People just get stuck withe the way things are very easily. So we have nonfree software and IRC and cars and currency and all sorts of inferior stuff running around
<oriansj>singpolyma: well what is absolutely superior to IRC?
<singpolyma>Sometimes a better thing seriously wins, like Wikipedia, but even then it's not that it won on pure merit. Lots of factors contribute
<singpolyma>oriansj: to IRC? Any federated system for example
<singpolyma>Anything that can send multiple lines of text also
<oriansj>singpolyma: well how you define merit says a great deal about if you feel the winners are justified.
<oriansj>singpolyma: so you would say something like matrix is superior to IRC right?
<singpolyma>oriansj: sure. I mean, I'm no matrix fan but if I had to choose between it and IRC and there were no other options I guess I'd choose matrix
<oriansj>well there are matrix IRC bridges, so there is nothing stopping you from accessing this channel via matrix and not having to deal with IRC
<oriansj>and in some non-bridged channels like #bootstrappable there are far less people on matrix than there are on IRC itself
<singpolyma>Indeed. I use a gateway to be here and a different gateway anytime I have to deal with matrix
<oriansj>and if matrix isn't good enough to defend. What alternative is in your mind the best out there now?
<oriansj>it is easy to say how something is bad, it is much harder to show a superior option.
<oriansj>is IRC flawed, absolutely. But do any of those flaws limit real human communication and cooperation for technically literate individuals: no.
<oriansj>can you run it on a $5 computer: yes
<oriansj>can you run it on an overburdened ad-hoc meshnet with reasonable human latencies: yes
<oriansj>can you use a console application or emacs: yes to both
<singpolyma>Sure, I use XMPP for everything and have for decades and it has only gotten better in that time, where IRC still is basically the same. For people who have normalized it's limitations this is fine, but obviously it's not for everyone
<singpolyma>The centralized nature is a big turn off for me, but the can't send multiple lines is a much more practical problem I think
<oriansj>singpolyma: really? paste urls tend to cover it (just wish there was a gemini site for pastes)
<singpolyma>oriansj: that requires having a favourite pastebin and opening a browser during a chat. Sure, it's a working workaround but it's not very nice
<oriansj>singpolyma: actually it doesn't require a browser (just a pair of commandline tools and an IRC folder)
<singpolyma>Depends what pastebin the other person uses
<oriansj>or if you are using emacs, just a couple functions to pull it up into a new buffer and to get the link to paste
<oriansj>singpolyma: granted there are some pastebins which explicitly make it impossible to access without a browser
<oriansj>and then I just ask the poster to be more considerate and use a more civilized pastebin
<oriansj>(I'm honestly currently going through a period of trying to find a viable browser option on guix right now [with qutebrowser currently showing the most promise])
<oriansj>but having to do --qt-arg disable-seccomp-filter-sandbox just to see text is far from ideal
<oriansj>(although this topic is probably more belonging on #guix-offtopic )
<oriansj>hmm looks like guix doesn't have emacs-jabber packaged yet either (are there any good xmpp clients for emacs available on guix?)
<oriansj>(Debian has it packaged as elpa-jabber )
<oriansj>singpolyma: so please join #guix-offtopic as I would like to continue this discussion further if you are open to it ^_^
<raghavgururajan>Hello Guix!
<raghavgururajan>Any idea on how to set $DISPLAY *before* home shepherd starts?
<raghavgururajan>oriansj: Regarding your use of dhcp+iwd without NetworkManager, are you able to use VPN fine?
<dlowe>Heh. I had a fantasy of finishing up the project of replacing the nix daemon with a guix-specific one in scheme, but I would have to grok the nix daemon *and* the half-completed thing that's already there.
<oriansj>raghavgururajan: I haven't fully tested that code path yet but I know tor works correctly and without issue. (there are way too many VPN protocols)
<oriansj>oh and wireguard too
<jlicht>orians: Do you prevent udev from renaming your `wlan0' to `wlp54s0' and its ilk, only for iwd to revert the the name change? If so, how :)?
<oriansj>jlicht: well I don't have to do any of that as you can see in my configuration: https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/guix-config.scm
<jlicht>oriansj: any particular fiddling with /etc/iwd/main.conf you had to do? Or just happy camping with the defaults?
<oriansj>jlicht: I haven't yet figured out how to fiddle ith /etc/iwd/main.conf in guix yet
<oriansj>and when I do I'll just be adding a single line so that I don't have to manually run dhclient
<oriansj>(literally EnableNetworkConfiguration=true )
<jlicht>tyvm
<jlicht>raghavgururajan: I don't think this is possible right now (RE your home-shepherd + DISPLAY question)
<jlicht>something like systemd targets + systemctl import-environment for shepherd could probably get it to work though :-)
<mbakke>seems like cuirass is stuck: https://ci.guix.gnu.org/jobset/master
<raghavgururajan>oriansj: Thanks!
<raghavgururajan>jlicht: I see. Thanks!
<enzuru>Just upgraded to Guix 1.4 and GNU/Linux-libre kernel 6. Pretty stable!
<darosior>Is there a way to print the value of variable in a manifest file? Trying to debug why my getenv isn't taken into account. :)
<mbakke>darosior: try (pk variable)
<darosior>Thanks
<mirai>I suspect opensmtpd-service-type should depend on networking as well
<mirai>it mysteriously works if manually started after booting
<mirai>otherwise it just sits there as "stopped"
<jlicht>mirai: Does it not do that if you add a dependency on networking?
<mirai>jlicht: can it be added? I don't see it as an available field to be set
<unmatched-paren>mirai: you need to add the dependency in the requirement field of the shepherd-service
<jlicht>mirai: as ( said: you'd have to edit the guix sources to make this change, and deploy it to a system
<mirai>jlicht: from your answer I was under the impression that it was a built-in feature within the existing services
<mirai>so it requires changing the guix sources for it
<jlicht>mirai_: my bad, I could have been more clear about it :)
<SeerLite[m]>mbakke: What's pk? What does it do? I couldn't find it in any documentation
<mbakke>SeerLite: it's a procedure that prints a representation of whatever argument it's given to standard output
<mbakke>mainly a debugging tool
<SeerLite[m]>Oh, nice! It's similar to (write), is there any difference other than that pk adds a newline?
<unmatched-paren>SeerLite[m]: Pretty sure it prints both the expression and the result
<unmatched-paren>ACTION opens geiser to check
<unmatched-paren>pk is an abbreviation for peek, by the way
<unmatched-paren>oh, yeah, it prints the result *and* returns the value
<unmatched-paren>so, in the expression (+ 3 (peek (+ 2 1)))
<unmatched-paren>it returns 6 as well as printing 3
<unmatched-paren>so you can just throw pk around to see intermediate values
<jgart[m]>SeerLite @seerlite:matrix.org: pk is not documented
<jgart[m]>If you'd like to learn about pk usage I'd recommend the racket docs on pk.
<jgart[m]>pk is very similar in concept to ice ream: https://github.com/gruns/icecream#--
<jgart[m]>s/ice ream/icecream/
<SeerLite[m]>Ohh it returns the value, that seems very useful!
<jgart[m]>s/ice/icecream/, s/ream/🍩 /
<SeerLite[m]>jgart: That's cool, although it seems kinda excessive to install a package just for that, seems very direct to create such a wrapper
<SeerLite[m]>Unless it does more
<jgart[m]>Try inserting pk in a guix package record that you're building to see it in action on stdout
<jgart[m]>pk is built into guile
<jgart[m]>iirc pk is a 3rd party package in racket
<SeerLite[m]>Oh yeah it's built into Guile, very useful
<jgart[m]>nothing is excessive to install/add to your guix profile if it's already packaged in guix ;()
<jgart[m]>Maybe the danger/decadence of powerful package managers
<unmatched-paren>jgart[m]: whoa, how do you turn ``print(foo); return foo'' into a 369 line library :P
<unmatched-paren>(i'm talking about icecream, to be clear :))
<jgart[m]>unmatched-paren: ask cwebber:
<jgart[m]>Oh ya icecream
<unmatched-paren>jgart[m]: looking at its readme.md it doesn't seem to be the same as pk
<jgart[m]>Maybe that's why it's called icecream because it makes your project feel bloaty
<unmatched-paren>haha
<unmatched-paren>it doesn't return the value like pk does
<jgart[m]>Well, I'll go package icecream now since we have pyproject-build-system
<jgart[m]>(set! *đŸ’©* (cons đŸ’©'(🍩)))
<lxsameer>hey folks, how do you load guix in geiser?
<unmatched-paren>lxsameer: i use (set! %load-path (cons (getcwd) %load-path)) (set! %load-compiled-path (cons (getcwd) %load-compiled-path))
<unmatched-paren>there might be a better way, idk...
<lxsameer>unmatched-paren: thanks let me try it
<lxsameer>unmatched-paren: do you do it in your ~/.guile file?
<unmatched-paren>lxsameer: obviously this is assuming (getcwd) is your guix checkout
<unmatched-paren>lxsameer: no, and you probably shouldn't
<unmatched-paren>*but* you could add a (load-working-directory) procedure
<unmatched-paren>that does that
<unmatched-paren>to the .guile file, then you can do that in your guix checkout
<unmatched-paren>in fact, i'll do that right now :)
<lxsameer>unmatched-paren: ahhh got it
<lxsameer>thank you
<unmatched-paren>lxsameer: oh, wait, i don't think geiser loads the .guile file
<unmatched-paren>by default
<unmatched-paren>i think you need to set geiser-guile-init-file
<lxsameer>unmatched-paren: thank you
<panosalevro>has anyone run into a kernel panic when trying to install guix?
<unmatched-paren>panosalevro: oh, what specifically were you trying to do?
<mirai>How many arguments does a serializer procedure for define-configuration take? It's unhappy with only 2 (https://paste.centos.org/view/7996395d)
<unmatched-paren>mirai: i think it might be 1?
<unmatched-paren>not certain though
<mirai>unmatched-paren: there are many that seem to take the form of (serialize-foo field-name value) though
<panosalevro>unmatched-paren: im simply trying to install guix on my machine really. i run into a kernel panic immediately after starting installation from grub
<unmatched-paren>panosalevro: which image are you using?
<unmatched-paren>standard or latest?
<unmatched-paren>mirai: oh
<unmatched-paren>never mind then :)
<panosalevro>unmatched-paren: how can i tell? i downloaded the one from guix.gnu.org
<jpoiret>that's most likely the 1.3 one then, can you try the one at https://guix.gnu.org/en/download/latest/ instead?
<unmatched-paren>panosalevro: the one advertised on the front page is the standard one
<unmatched-paren>it uses the 1.3.0 tagged commit, which is pretty ancient
<panosalevro>ah ok, im gonna try the latest one then
<unmatched-paren>very soon we should be releasing 1.4.0
<unmatched-paren>so standard will again become the recommended image
<jpoiret>hello guix by the way
<panosalevro>unmatched-paren: great :) im downloading the latest and will report back
<jpoiret>how do people manage to contribute to Guix when they already have a day job
<unmatched-paren>usually, we'd recommend standard, as it's more stable, but since it's so old, there have been many bugs fixed
<jpoiret>i can't manage to sit in front of my Emacs after a day of work
<ardumont>civodul: hi, thx for your iteration on 'guix index'. Did not check yet. For your last remark, do you have a suggestion regarding which version control? Should I create a repo (it's currently a branch in my local guix clone) or send patch to the ml or something else?
<unmatched-paren>ardumont: patch to the ml following https://guix.gnu.org/manual/devel/en/html_node/Submitting-Patches.html
<ardumont>Thx!
<panosalevro>unmatched-paren: it seems like the latest image works fine. thanks!
<unmatched-paren>panosalevro: yay :)
<PotentialUser-70>Hi, How can I set up linux capabilities for binary file?
<unmatched-paren>PotentialUser-70: sorry, i don't understand :( what exactly do you mean?
<PotentialUser-70>in normal situation I can use sudo setcap cap_net_bind_service=+ep ... but in guix everything in store is read only.
<unmatched-paren>oh, i don't know anything about linux capabilities, sorry :(
<unmatched-paren>(didn't even know that was a thing :))
<PotentialUser-70>thank you for trying help me. I am waiting for answer. :)
<jpoiret>PotentialUser-70: the store is read-only by design, you should not modify anything in there yourself
<jpoiret>are you using guix system?
<PotentialUser-70>yes
<PotentialUser-70>how can i set up that?
<unmatched-paren>setting programs as setuid usually requires modifying the files, right?
<jpoiret>then one solution (that would require some work) would be to augment the <setuid-program> interface to also manage capabilities
<unmatched-paren>jpoiret: gah, looks like we both thought of basically the same thing :)
<jpoiret>basically, what guix system does for setuid is just copy them to /run/setuid-programs/ on activation and set the right setuid bit
<jpoiret>unmatched-paren: better than re-inventing the wheel, right?
<jpoiret>although i'm not a fan of that approach, it feels off somehow
<jpoiret>can't wait to re-implement dbus/polkit once more for the Right© approach
<jpoiret>aaaaand the thing I was working on for the last hour has already been done but not committed :/ guess i'll be reviewing a patchset instead
<PotentialUser-70>ok, I understand. How can i simple run wireshark without root permission? it doesn't have set up setuid bit? does it mean that wireshark package is defined wrongly?
<unmatched-paren>PotentialUser-70: no, you need to define setuid-programs in your system config
<PotentialUser-70>Ooo, yeah, I got it in the documentation. Thank you for help! :)
<jpoiret>PotentialUser-70: FTR, files in the store have uniform permissions, ie always r-x
<jpoiret>r-xr-xr-x i mean
<jpoiret>one reason is that any user can write a package definition and let the guix daemon build it, so setuid bits shouldn't be kept
<lxsameer>hey folks, I'm having a hard time setting up geiser to work with guix, here is my config, my code and the error I get https://dpaste.com/H7P83M6ZT
<lxsameer>could you please help me fix it?
<lxsameer>let me know if you need more info from me
<unmatched-paren>lxsameer: guix/config.scm is auto-generated
<unmatched-paren>have you not run make in the guix source repo?
<unmatched-paren>actually, i think ./configure --localstatedir=/var will suffice to generate it...
<lxsameer>unmatched-paren: oh no i didn't
<lxsameer>unmatched-paren: I think it would be a good idea to add that to the docs
<unmatched-paren>lxsameer: you should run both though, it'll make it much faster to load
<unmatched-paren>``./bootstrap && ./configure --localstatedir=/var && make -j$(nproc)''
<lxsameer>unmatched-paren: cool, let me try
<nckx>jpoiret, unmatched-paren: I have a capabilities patch set for post 1.4.
<nckx>setuid-programs -> privileged-programs.
<lxsameer>unmatched-paren: I have /var/guix already from my guix binary installation, should I use that path for localstatedir?
<unmatched-paren>nckx: oh, nice!
<unmatched-paren>lxsameer: no
<unmatched-paren>--localstatedir=/var
<unmatched-paren>*always* use --localstatedir=/var
<unmatched-paren>no exceptions :)
<unmatched-paren>(afaik...?)
<lxsameer>unmatched-paren: cheers
<unmatched-paren>unless, i think, for some reason you chose to put the data dir somewhere else when you first installed guix
<jpoiret>nckx: great!
<jpoiret>grmbl, why am i building rust just to test an unrelated patchset?
<jpoiret>oh, 100% unrelated stuff (looks like one needs specific rust versions for firefox esr)
<podiki[m]>jpoiret: yes, they have bumped the minimum version above what guix has set as the public version
<podiki[m]>1.61 if I remember
<podiki[m]>(a certain other channel has subs though)
<unmatched-paren>we should add a public rust-next variable...
<unmatched-paren>it'd require inheriting and making a few changes though
<unmatched-paren>because the rust-1.65 package is a bootstrapped package which presumably cuts a few corners?
<podiki[m]>all the rust ones are bootstrapped from previous ones, aren't they?
<podiki[m]>I think just a define-public for a rust-next setting it to say rust-1.65 or whatever would be enough, no?
<jpoiret>no, the publicly exposed packages have some specific customization on top
<unmatched-paren>^
<unmatched-paren>see our rust package
<unmatched-paren>it's not just (define-public rust rust-1.60)
<unmatched-paren>it's inherited and has a bunch of modifications on top
<jpoiret>why wouldn't rust-1.61 have substitutes though? it's built by CI right?
<jpoiret>oh no, nothing depends on it my bad
<podiki[m]>well hopefully can just inherit that version setting the base rust to a newer version
<podiki[m]>yeah the > 1.60 are all defined but not public or used by any (guix) packages currently
<jpoiret>why are their derivations changing so often though?
<jpoiret>heh, so we didn't have those up until a couple of weeks ago, and now that *that other channel* has started using this one instead of their own, they haven't built it on their CI
<podiki[m]>you won't get substitute for something that is built as a dependency if it isn't public as a package?
<lilyp>I'm pretty sure rust taking ages to build has an impact there, but I could be wrong
<jpoiret>but it's weird that firefox is not getting substituted with ./pre-inst-env
<jpoiret>i have it right here :( does using "-L" influence the derivation of the channel's packages? i hope not
<mirai>civodul: can you confirm if I am using this-record and the serializer fields right? (https://paste.centos.org/view/7996395d) << this-record complains that its being used outside of define-record-type*
<lilyp>jpoiret: same derivation?
<jpoiret>i get different derivations with `--no-grafts` even
<jpoiret>let me try with time-machine so i get exactly the same commits but i was only a couple of commits ahead on the guix channel
<lxsameer>unmatched-paren: running the configure script fails with in https://dpaste.com/AS99GE4UV
<unmatched-paren>lxsameer: oh, you'll want to run those commands in the appropriate guix shell
<unmatched-paren>guix shell -D guix -- ./configure --localstatedir=/var
<lxsameer>unmatched-paren: thank you
<lxsameer>unmatched-paren: guix: shell: command not found
<unmatched-paren>lxsameer: umm
<unmatched-paren>what's the output of ``command -v guix'' and ``guix describe''?
<lxsameer>unmatched-paren: https://dpaste.com/AWTHPLBFV
<lxsameer>surprisingly guix points to my global installation
<lxsameer>shouldn't it point to the one in my user profile
<unmatched-paren>lxsameer: aaaaah there's your problem
<unmatched-paren>did you do ``guix install guix'', by any chance...?
<lxsameer>no
<unmatched-paren>oh, okay
<lxsameer>I just set GUIX_PROFILE in my zsh profile
<unmatched-paren>(i misinterpreted "user profile" :))
<lxsameer>guix pull
<lxsameer>and guix install guile
<unmatched-paren>lxsameer: can i see that file?
<lxsameer>sure
<jpoiret>did you logout and login after modifying the profile file?
<lxsameer>unmatched-paren: https://dpaste.com/D396DNDET
<jpoiret>the profile file only takes effect when zsh is started as a login shell. And also, if you use a DM to start your graphical session, it might be that zsh is never used as a login shell and you might have to modify something else
<lxsameer>jpoiret: no but reload it
<jpoiret>you need to logout and login
<unmatched-paren>lxsameer: guix pull doesn't install to ~/.guix-profile
<jpoiret>zshprofile is only sourced by login shells
<lxsameer>jpoiret: I added it to zshrc actually
<unmatched-paren>it installs to ~/.config/guix/current
<unmatched-paren>so you also need to source that
<lxsameer>unmatched-paren: ok let me try
<jpoiret>ah, right. The "proper" location should be zshprofile so that you don't source it every time you open a new shell, but it should at least be working
<unmatched-paren>lxsameer: hmm, i vaguely recall there being some problem with using the rc file for that
<lxsameer>jpoiret: I usually work on my shell and usually source this file frequently
<jpoiret>lilyp: with the same exact commits, I get different derivations
<lxsameer>unmatched-paren: now that I switched to the current, I can't install guile anymore, guix says no action to take and guile is not available
<jpoiret>you need to source both
<jpoiret>~/.config/guix/current/ contains the guix from `guix pull`, and ~/.guix-profile contains the software you've installed with guix
<lxsameer>jpoiret: ahhhhh got it
<lxsameer>thank you
<unmatched-paren>and ~/.guix-home/profile contains stuff installed with guix home. those are the three default profile paths
<lxsameer>but I suppose GUIX_PROFILE should be set to current right?
<jpoiret>it does not need to be set
<jpoiret>it's just a small helper that the /etc/profile scripts use to keep your env variables clean
<lxsameer>so just source ~/.guix-profile/etc/profile?
<jpoiret>the best way is `GUIX_PROFILE=~/.guix-profile/; source $GUIX_PROFILE/etc/profile; unset GUIX_PROFILE`
<lxsameer>I'm a bit confused
<jpoiret>if you don't set GUIX_PROFILE, it will still work, but the env variables will look like "/gnu/store/XXXXXX-profile/bin" instead of "~/.guix-profile/bin"
<jpoiret>even though they point to the same thing
<jpoiret>so this just helps the profile scripts know what the "nice" name of the profile is
<lilyp>jpoiret: so you get one hash with ./pre-inst-env and a different one without even though it's the same commit?
<jpoiret>yep (but it's for a package in a different channel)
<lxsameer>so how should I set the profile to current?
<lilyp>in that case, can you write a channels.scm that deliver you the same hash?
<podiki[m]>any guix container fans here? I have a local package definition for flatpak-xdg-utils, works in guix containers too, letting you communicate with host using the xdg portals
<podiki[m]>so you can say open a link from the container but in your host's browser
<jpoiret>lilyp: to clarify, I'm using that channel check-out at the very same commit as the time-machine
<jpoiret>but i'm worried it's somehow an issue with how that channel defines its package
<lxsameer>jpoiret: so does this make sense https://dpaste.com/3WUPDFE3G
<jpoiret>yup, looks good, although I would switch the two profiles around, and put the unset at the end
<jpoiret>(you don't need to unset a variable if you're re-setting it afterwards)
<lxsameer>ok let me try
<lxsameer>it works now I have access to the installed guile and also guix points to the one from my profile, but `guix shell -D guix -- ./configure --localstatedir=/var` still fails with
<lxsameer> https://dpaste.com/9J2QKUNDD
<podiki[m]>any openrgb users here? working on packaging some plugins, the effects one works :) (got to figure out best way to handle openrgb finding them, just did it manually for now)
<jpoiret>lxsameer: you shouldn't need to install guile, `guix shell -D guix` should pull all the dependencies of guix for the following command
<lxsameer>jpoiret: hmmmm, weird, it doesn't do anything
<lxsameer>ok I passed --check to shell and got some warnings back
<lxsameer>what's the different between guix shell and guix environment?
<unmatched-paren>lxsameer: environment is deprecatde
<unmatched-paren> https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/
<lxsameer>ahhhh, I found it in the guix readme file
<jpoiret>lilyp: i feel like an idiot, i'm testing a change to pipewire but firefox depends on pipewire. Teehee. But now I have to build rust and pipewire myself, because the former is not substituted :(
<nckx>sneek: later ask civodul: If there's going to be a string freeze, can we merge this for 1.4.0? <https://issues.guix.gnu.org/58583> I'd argue it's an ‘important fix’, tongue only partly in cheek :)
<sneek>Got it.
<nckx>sneek: botsnack!
<sneek>:)
<podiki[m]>jpoiret: yes, seems it won't download rust even though it must exist on the sub server (I just made a tiny change to firefox and see it wants to build rust 1.61 too)
<podiki[m]>but also guix weather rust is showing no subs and I see the CI has not built recently, so...
<podiki[m]>(the guix CI)
<nckx>Oy. https://ci.guix.gnu.org/jobset/master
<podiki[m]>vey indeed
<Guest5>hello
<unmatched-paren>Guest5: hi! :)
<bdju>anyone here running pipewire that could explain how to set it up on guix system?
<nckx>Let's see if 16771 completes. The ‘aborted’ ones fail with 0 bytes of log output.
<Guest5>I have translated over 1,001.How can I contribute this project more ?
<Guest5>I know python worked with libs  like  qt, tkinter and  pygame.
<twopubsolar[m]>hi
<twopubsolar[m]>what is needed for the output of guix import to work?
<unmatched-paren>twopubsolar[m]: it should work by default for many packages
<unmatched-paren>but some need manual intervention
<twopubsolar[m]>unmatched-paren: i mean modules
<unmatched-paren>twopubsolar[m]: depends on the importer
<twopubsolar[m]>when i paste that into a file, and run build, it only tells me 1 missing module
<twopubsolar[m]>so i have to fix the code and repeat the command many times