IRC channel logs
2022-11-30.log
back to list of logs
<pkill9>what does iwd replace? networkmanager? <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 <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 <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 <oriansj>pkill9: well I guess if one preference is clicky clicky; then yeah I guess that is easier but I prefer TUI/CLI interactions <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 <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 <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]>I use guix home on my pinephone pro for everything. The only time I use apt is to apt update && apt upgrade <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>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>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, <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>Not that the number makes the differents, but it's just a tad over â10â⊠<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 <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>I'd expect problems with 1, maybe 2 (which is still unreasonable, sure). Does the OS use a lot of it? <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>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 <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>(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 <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 <lechner>abhicherath[m] / i think one of the login managers is supposed to do that for you, when appropriate <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 <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]>I'll submit a documentation patch for it, and wait for someone to correct me đ€Ł <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>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 <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>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. <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 <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 <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>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. <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? <nckx>florhizome[m]: You cannot hibernate to zswap, but zswap requires swap space, and that's where the hibernation image is stored. <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. <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 <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. <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? <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>Damn you and your knowledge of our logs. <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. <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. <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 <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). <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. <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 <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]>nckx yes i simply never read of anyone doing it and i had a complicated View of hibernation <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>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 <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 <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) <unwox>jlicht: you need to specify your shell in "command" field of greetd-agreety-session record <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>(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? <ardumont>(or is that some implementation adaptation so the tool is doing it?) <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? <mothacehe>it's running an old cuirass and i'd like to reconfigure it <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 ;) <civodul>ardumont: in the end it would be part of Guix <civodul>that's the kind of tool that's generally useful <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 <civodul>zimoun demoed extensions at the 10 years :-) <zimoun>civodul: I think we should go a path where we have more extensions and less all-in subcommands. For sure, tradeoff with maintenance. :-) <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! <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? <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 <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 <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>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>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 <zimoun>yeah, it depends but many first questions are often the same <zimoun>as âguix describeâ for instance <mothacehe>reusing/extending the installer coredump mechanism could also be nice i guess <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? <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) <rekado>jas: I had the same problem with Ubuntu <rekado>the clone syscall fails for some reaon <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. <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>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>adding the missing import and replace by simple (display "hello folks!") it's working now <zimoun>ardumont: my hello.scm from where? :-) <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. <ardumont>in the video, i saw the extension typo in the import instruction, don't know if it's that one <ardumont>that's a nice cookbook recipe (from what i've read so far) <tricon>lechner: thank you for the link. this is appealing. <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 <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) <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>how can I start gdm through herd? <mirai>I'm using gdm but it doesn't appear under herd status <rekado>I think it provides âxorg-serverâ <Guest88>How can I schedule a Guix pull once a week? Thank you <rekado>Guest88: the manual has something to say about this in 12.9.6 Unattended Upgrades <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 <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 <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 <HexMachina>unmatched-paren: an update to guix-install.sh along the lines of: <HexMachina>+ for i in "${var_guix}"/share/info/*.info "${var_guix}"/share/info/*.info.gz; do <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>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 <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" <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>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 <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? <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) <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! <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 :-) <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... <rekado>zacchae[m]: upon joining a channel an intro is displayed <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>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 <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 <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? <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>(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>I'm debugging an activation action from a service <euandreh>and I'm wondering if there's a hook to trigger it manually <euandreh>I'm finishing up a said cyrus-sasl-service-type, that accompanies postfix-service-type :) <rekado>euandreh: are you aware of the wip-postfix branch? <euandreh>but I went a bit beyond, and written the service too <euandreh>in fact, the package was submitted yesterday! <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 <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 :) <pkill9>kori: is it good as a daily rriver? <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 <kori>like I said, maybe with a different setup :) with this out of the box setup, no <pkill9>i currently use pixel 4a with grapheneos <pkill9>they have overview and apps in one view unlike anddrois and ios <kori>my current dream is to get a guix setup working <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 <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 ;) <dthompson>had to enter password twice, not great but not the end of the world <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>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>(I have 5 LUKS'd disks in a RAID -- it prompts 5 times) <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>(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>haven't had one of those issues in a long time. thank you! <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" <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>jlicht / there are older options. why are you running greetd? ;) <lechner>the hair is how i think about Linux-PAM <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) <oriansj>hence I am reporting it as completely broken <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! <oriansj>The package for eolie is entirely broken <lechner>qutebrowser appears to use vi key bindings <oriansj>zamfofex: you really should submit it for guix upstream <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 <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>Now, I've read (skimmed) the source for this build system and I can't discern anything specific to documentation. <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>"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]>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. <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. <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>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]>zamfofex: Would you do me a favor to share me a link to all commands of guix <SUPERB[m]>So Guix is a real complete OS and not just for package managing <SUPERB[m]>Shall I install the standard version or the Latest one? <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 <zamfofex>They are âcerimonialâ in the sense that they serve mostly just as progress milestones/reports. <unmatched-paren>don't worry, it also has roll-backs, so it won't be a problem if it breaks :) <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 <SUPERB[m]>But how shall I connect it while it hasnât been installed <SUPERB[m]>Iâm talking about an actual installing as default OS <unmatched-paren>due to the linux-libre kernel stripping their firmware out (because they're nonfree) <unmatched-paren>we can't mention it here, but if it turns out you need it, i'll send you a DM <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. <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 <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 <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 <SUPERB[m]>Do you suggest any video series like on YouTube or somewhere else to learn Guix from the beginning <unmatched-paren>there are a few videos on guix.gnu.org but i think they're a bit outdated <SUPERB[m]>Just started downloading the latest version and installing it on a VM and start learning <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>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 <SUPERB[m]><unmatched-paren> "we can't mention it here, but if..." <- Would you send me that directly plz? <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 :-) <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 <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>i don't see it actually, do you have the reference? <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 <mothacehe>you can cc the installer team maybe in the call for testing <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? <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>so I used guile-build-system in Guix <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 <haugh>Okay, I was looking at guix/build-system/guile.scm for the past two hours <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 <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 <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 <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 <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 <heisig>civodul: Wow! Guix is really such a cool thing. Thank you very much! <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? <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>("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>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>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 <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 <civodul>ardumont: you'll want to use 'cache-directory' from (guix utils) to follow the XDG convention <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>(roh i need to name the lambdas now though ;) <civodul>ardumont: careful, "docs-1.8" in the URL indicates you're looking at very old doc <mirai>civodul: they occasionally pop up when with $YOUR_SEARCH_ENGINE_HERE when searching for guile scheme related stuff <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>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 <civodul>but at least people could install linux-libre:doc in their profile <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>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>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 <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>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â <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! <mirai>is there even a "Debbugs User Guide" in the first place <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. <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]>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!â <rekado>mirai: debbugs is simple: to report a bug you send an email. Done. <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. <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 <jonsger>civodul: guix 1.3.0 should work with guile-gcrypt 0.4.0 or? <civodul>jonsger: yes, it's compatible (it follows semver) <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$" ... <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. <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? <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 <zimoun_>me neither but I do not have reaalu tried. :-) <lechner>if there is a choice, i find codeberg easier <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 <civodul>ardumont: i'd use "guile -L ~/src/guix --debug" instead of 'guix repl' <civodul>alternatively there's an API to run code on a different "VM engine", IIRC <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. <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 <stevenroose>maybe the name "zlib" is a license because I have use-module gnu licences? <civodul>looks like it didn't trigger much excitement :-) <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 <lechner>apteryx / what if i wrap myself in aluminum foil? <lechner>unmatched-paren / i am still reading up grafts <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 <unmatched-paren>however, you can create an all-encompassing "project" at sr.ht/foo which can link to git repos, lists, etc <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? <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/ <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) <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. <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 <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)) <jab>unmatched-paren: I get the feeling that the order of your services matters? <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? <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. <jab>You could mention to the guile debugging work group that you want a macro debugger. that would be nice <lechner>evilsetg[m] / a user named gabber, who is not here right now, had a similar issue yesterday or the day before. <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>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>whoops, i forgot that use-package doesn't depend on stright.el. that's just how i used to use it, so no overlap. <evilsetg[m]>lechner: Thanks, I found the conversation in the logs. I restarted the guix machine and now it works :) <reyman>i'm loosing my mind with gexp, i have this error : unbound-variable #f "Unbound variable: ~S" (ungexp) #f <reyman>i have already this #:use-module (guix gexp) <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>i need to read more about gexp/ungexp, i'm such a begineer with this concept. <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]>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 :) <lxsameer>hey folks, have you ever used guix instead of something like ansible? <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 <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 <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>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? <civodul>heads-up: if you pull now, remember to "make clean-go && make" <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>confusing to me was âm letâ but âmap mâ <rekado>but I guess âmmapâ would have been way worse <haugh>alright folks it's been 5 years since I used UML so I hope you'll excuse this ad-hoc nonsense <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. <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>are there other procedures involved? <podiki[m]>looking at corefreq as an example, just seems like linux-module-build-system <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>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]>what about setting #:build-doc? will that shortcut the need to delete the doc phases and this problem? <podiki[m]>in make-linux-module-builder arguments I think <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 <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>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]>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 <sneek>civodul, you have 1 message! <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 <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>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>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 <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. <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>(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>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>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. <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: 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. <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... <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 <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 <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 <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 <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 ;) <mbakke>should we pick build fixes to 1.4.0? i.e. 34a70b1f8691f87bc242c9b4adbf69bc0107e707 ? <rekado>mbakke: yes, bug fixes are fine for 1.4.0 <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>now we need artwork or screenshots to spice up that wall of text <nckx>civodul: info-guix@ isn't supposed to redistribute replies, only announcements, right? <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. <nckx>I was going to reject those but wanted to check. Don't have time to research a proper solution. Thanks! <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>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. <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>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>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>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>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 <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>all in all, you can do something similar to what you started to do <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â. <nckx>That number isn't to be taken as gospel, I'm just looking at interface totals which can be affected by many things. <mirai>civodul: best I can think of is to test if set and use filter-configuration-fields <mirai>it can be cleared up after $$some sort of criteria for deleting deprecated code$$ <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" <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)) <apteryx>mirai: there's some awkward prefix mechanism that can be used <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>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? <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) <rekado>(kernel (specification->package "linux-libre@5.15")) <apteryx>mirai: OK! I haven't used them much so I don't know; I'm curious about your feedback though! <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 <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 <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! <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? <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^^ <munen>So, both are not the newest notebooks. But they are also not quite obscure hardware, I suppose. <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^^). <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>(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 <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>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: also, the latest installer now has the ability to catch and report core dumps :) <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 <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' <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 <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. <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>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â. <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 <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â. <lechner>nckx / let's parted chose GPT for them! <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. <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? <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 <nckx><Windows> Ah. That is a valid point. <nckx>How one can live in one's own little Free world :) <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. <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>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. <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>but I am surprised that the sequence of define-maybe's at the top actually don't shadow one another <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>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 <nckx>(Please don't market nonguix as âthe other channelâ, that gives it undue important. There are many other channels.) <mirai>how long should a deprecated field/piece of code remain until it is deleted? <rekado>lechner: if itâs free software and doesnât require the use of nonfree software: yes, itâs okay for Guix <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. <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) <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!! <rekado>lechner: I get 50MB/s from a random EC2 instance in Frankfurt <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 <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.) <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 <nckx>I'll take that as a âno hard reasonâ and use the tag then. <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>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 <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! <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>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 <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>this way, the prerequisite version is managed in the consuming package <nckx>Which has drawbacks, hence trade-offs. <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>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 <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! :) <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>Yeah, like miss two incorrect licenses <nckx>In an ideal world, you wouldn't need to audit those đ€· <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. <nckx>mirai: Not by Guix, anyway. <mirai>lechner: I am but I asked for a different purpose <nckx>Would mpd respect XDG_CONFIG_HOME if not explicitly given a different directory? <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>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 <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>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>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>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 <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 <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 think you use the variable autoconf-2.69 (or so) <unmatched-paren>but for that particular package, the variable name and the package name are different <unmatched-paren>so (define NAME ...)'s NAME is autoconf-2.71, but (package (name NAME) ...)'s NAME is "autoconf" <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? <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 <lechner>tricon / yes that is very true, although my comment was directly related to /bin/sh being absent from the build environment <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 <unmatched-paren>WHAT "Your Savannah account <paren> is automatically removed due to inactivity." <nckx>I guess we (maintainers) need to add a hard deadline for approvals from our side. <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>Forcing someone to comment seems counter-productive, indeed. <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 <nckx>It's insane because AFAIR âmemberâ means âcommit accessâ!? <nckx>(Don't forget your key :) <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. <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? ⊠<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⊠<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]>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]>especially if they remove accounts that don't do anything :-P <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>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. <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 <mmorko12>my goal is to learn packaging, one of them at least <lechner>do you have any other packaging experience? <mmorko12>also made a first package of a very basic hello world on my repo <mmorko12>i always used linux but never packaged, i started recently with void linux but then switched to guix 3 weeks ago <lechner>on that level packaging in Guix is probably quite comparable <lechner>you may have to unlearn some other things, though <mmorko12>anyway my first goal is trying to package labwc a wayland wm <rekado>itâs a pity I still canât boot from the SSD thatâs connected to the SATA card on my rockpro64 <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 <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 <oriansj>(I know the startx is just do autologin) <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>i tried to write also scm file to update version of wlroots <mmorko12>it complains about wayland package version <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 <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 <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 <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 <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>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... <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 <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 <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 <lechner>mmorkoz12[m] / Hi, did you remove anything from the labwc.scm file you posted? <mirai>huh, putting a lambda function with 2 arguments for serializing maybe-type directly within define-configuration fails <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>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)? <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>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? <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) <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>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) <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 :)? <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>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 :-) <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. :) <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 <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 <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. <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 <jgart[m]>Try inserting pk in a guix package record that you're building to see it in action on stdout <jgart[m]>iirc pk is a 3rd party package in racket <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>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 <jgart[m]>Well, I'll go package icecream now since we have pyproject-build-system <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)) <lxsameer>unmatched-paren: do you do it in your ~/.guile file? <panosalevro>has anyone run into a kernel panic when trying to install guix? <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 <panosalevro>unmatched-paren: how can i tell? i downloaded the one from guix.gnu.org <unmatched-paren>panosalevro: the one advertised on the front page is the standard one <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? <panosalevro>unmatched-paren: it seems like the latest image works fine. thanks! <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. <jpoiret>PotentialUser-70: the store is read-only by design, you should not modify anything in there yourself <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 <jpoiret>PotentialUser-70: FTR, files in the store have uniform permissions, ie always r-x <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>let me know if you need more info from me <unmatched-paren>actually, i think ./configure --localstatedir=/var will suffice to generate it... <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)'' <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>unless, i think, for some reason you chose to put the data dir somewhere else when you first installed guix <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 <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 <jpoiret>why wouldn't rust-1.61 have substitutes though? it's built by CI right? <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 <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 <unmatched-paren>lxsameer: oh, you'll want to run those commands in the appropriate guix shell <lxsameer>unmatched-paren: guix: shell: command not found <lxsameer>surprisingly guix points to my global installation <lxsameer>shouldn't it point to the one in my user profile <lxsameer>I just set GUIX_PROFILE in my zsh profile <jpoiret>did you logout and login after modifying the profile file? <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 <jpoiret>zshprofile is only sourced by login shells <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>~/.config/guix/current/ contains the guix from `guix pull`, and ~/.guix-profile contains the software you've installed with guix <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'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` <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 <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>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 <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? <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 :) <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... <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]>when i paste that into a file, and run build, it only tells me 1 missing module