IRC channel logs

2021-12-09.log

back to list of logs

<oriansj>well inits are simple, what people want inits to be responsible for is complicated
<oriansj>for example one can easily write an init in 747bytes of hex0 https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/kaem-minimal.hex0
<nckx>But does it support DNSSEC.
<oriansj>it does absolutely everything needed to boot a modern linux system and kick off all the tasks required. It just doesn't do anything more
<oriansj>we have used it to bootstrap from hex0 to GCC; bootstrapping and building autotools, bash, binutils, bison and a bunch more.
<jpoiret>oriansj: i'm not sure you're able to mount any root the kernel doesn't already know how to
<jpoiret>ie root fses inside LUKS
<oriansj>jpoiret: It can if cryptsetup is in the RAM disk
<oriansj>just like guix does with shepard
<tschilptschilp23>Hi! following roptat's hint at linux-module-build-system, I'm trying to install the kernel module rtl88x2bu with this package definition: https://paste.debian.net/1222658. I run `guix package -f rtl88x2bu.scm` to do so. The log of the process looks like this: https://paste.debian.net/1222660. It shows up as installed if i run `guix package --list-installed`, but tree on the /gnu/store-path puts out the following:
<tschilptschilp23> https://paste.debian.net/1222661. Where could this module have gone? Is there a chance to get more verbose output from the installation compared what's in /var/log/...? I'm totally planless (although I understand my scheme and understanding of guix could be way better). Any ideas?
<jpoiret>actually, i'm pretty lost here. where does this intervene in the bootstrap from hex0 to gcc?
<jpoiret>i would think that if you have a kernel that boots into an init, you'd already have GCC, no?
<jpoiret>but yes, looking at the guix init, i've also understood how simple inits actually are
<roptat>tschilptschilp23, try "guix build -f rtl88x2bu.scm --log-file"
<roptat>then you can use bzless to look at the log
<skintimidation>HELLO.
<skintimidation>Is running OpenCL on Guix impossible?
<jpoiret>skintimidation: everything is possible :)
<skintimidation>I've got an AMD RX 480. How about NOW?
<apteryx>that GPU probably won't boot with linux-libre to start with, so I'd say no.
<jpoiret>apteryx: any luck with the slim errors?
<apteryx>I'm about to reboot with some forced polling to wait on dbus readiness
<apteryx>we'll see, but I'm skeptical it'll do anything
<jpoiret>on the other hand, i'm pretty hopeful about that! did you add it to the elogind service?
<skintimidation>You're telling me I can't do all the cool shit I dreamed of when I read the original page?
<skintimidation>NOOOOOOOOOO
<apteryx>I think elogind already requires dbus, so by the time it fires dbus should be ready
<apteryx>then if it still fail we might have to add more waits in the services requiring elogind (waiting until elogind has be acquired properly by dbus)
<apteryx>skintimidation: which page was that?
<nckx>Cool shit and proprietary hardware seldom if ever go together.
<skintimidation>man, find me an open source gpu
<skintimidation>apteryx: the very front page of guix
<nckx>I'd steal it first.
<skintimidation>lmao
<apteryx>skintimidation: we should sit down and design one; it doesn't yet exist
<skintimidation>tsmc will kill us
<jpoiret>anyways, goodnight guix!
<tschilptschilp23>roptat: thanks, that sounds more comfortable than copying pathes in emacs indeed. nevertheless I can't make out anything there than something with 'missing binutils support' ... I've already tried adding binutils to both inputs and native-inputs (not at the same time), but with the same result! looks like I'll stick with my cable...
<skintimidation>I WILL RETURN. I have to fix my utterly fucked alpine system
<skintimidation>and by fix i mean 'consider gentoo'
<skintimidation>which is why i considered guix
<apteryx>systemd has some code to wrap dbus services, doing these things via socket activation, IIRC
<nckx>tschilptschilp23: https://paste.debian.net/hidden/9ee20657/
<nckx>Indentation of ‘#:allow-other-keys’ is zoinked; I blame the tabs.
<jpoiret>apteryx: yes, although when I looked at it in pipewire for example I was under the impression that the daemon itself has to support systemd activation sockets
<jpoiret>but i may be mistaken
<apteryx>jpoiret: it didn't help
<apteryx>dbus was almost instantly ready in 1 s
<apteryx>then login1 timed out as usual (25 s)
<tschilptschilp23>nckx: thank you -- I've seen this make-magic at the other definitions in /gnu/packages/linux, but didn't get what it does, so didn't dare to use it -- I'll try in a second!
<apteryx>could be that it's really timing out and that I need to make that timeout longer
<tschilptschilp23>nckx, roptat: ouch, and now the circle is closed: https://paste.debian.net/1222667 ;) That's what hit me when I tried to 'make' from bash in the very beginning -- the 'not-found cc' I could circumvent with 'export CC=$(which gcc)', but the terminal error brought me in here today ;)
<nckx>tschilptschilp23: It's not really magic, although I understand it looks like that at first ☺ The l-m-b-s default 'build phase calls make with some hard-coded arguments (see <https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build/linux-module-build-system.scm#n52>). One of them — probably -C — breaks the build here, causing nothing to be built (compare the old build log to the new: see all the new CC calls?) and be installed ‘successfully’.
<nckx> Here we override the 'build phase to invoke simply ‘make’ with no arguments apart from -j for parallel builds, and voila, things get built.
<nckx>tschilptschilp23: ? The package I pasted builds perfectly.
*nckx quickly double-checks that.
<tschilptschilp23>* tschiltschilp checks as well.
<nckx>This is the first & last time I'll blame emacs for something but seriousl, screw you, emacs >:(
<nckx> https://paste.debian.net/hidden/2e2b562e/
<nckx>tschilptschilp23: ☝ You will have 100% more success with that recipe.
<tschilptschilp23>nckx: I'll report, that's the other black magic I didn't dare ;)
<nckx>tschilptschilp23: https://paste.debian.net/hidden/51434dc2/
<nckx>You'll need both.
<nckx>cc-for-target is in (guix utils).
*nckx goes back to manually bisecting BIND which is clearly doing their brain no good.
<the_tubular>nckx, yeah I've been looking for a bind alternative ...
<nckx>Oh, I don't actually use it.
<nckx>I use and highly recommend Knot.
<nckx>But BIND is the exim of DNS servers and probably does weird stuff nothing else does.
<nckx>Guix has several good DNS server packages but not all have services yet.
<nckx>sneek: later tell jab: I do get & read your messages, but you're never on-line when I reply :)
<sneek>Got it.
<the_tubular>Yeah, Bind has had so many CVE's I can't get myself to use it lol
<skintimidation>i don't get how my isp is still alive
<skintimidation>i checked today and they're on a version of bind from like
<skintimidation>too long ago
<singpolyma>nckx: knot looks interesting I should try it
<the_tubular>It would be a shame if someone sold that info on the dark web
<tschilptschilp23>nckx, roptat: thanks for your great support! I'm still a bit confused, but this message is coming through wifi with a contemporary mainstream USB-wifi-dongle (some european TP-link archer)! (dancing through my living room ;))
<nckx>
<skintimidation>lmao the_tubular
<nckx>Mmmmaybe it's patched? Mmaybe.
<the_tubular>From experience, I doubt that
<the_tubular>Specially if they don't have a bug bounty or anyway to do disclosure
<skintimidation>i don't even know which cve to try and test
<skintimidation>maybe i'll call someone and find a way to internally escalate
<skintimidation>that's what i hate; it's not a promotion to patch a fundamentally flawed server
<skintimidation>you have to just hope someone utterly fucks up your network and then you get to fix it
<skintimidation>with the money that somehow comes out
<skintimidation>magically, from the suit's pockets
<pyrotek45[m]>wow exporting /var/lib/flatpak/export/share to xdg data dir doesnt work
<pyrotek45[m]>on guix to show up the apps
<pyrotek45[m]>what could i be doing wrong?
<pyrotek45[m]>its kind of frustrating
<the_tubular>Just wait til it starts costing them money skintimidation
<the_tubular>Then it changes fast ususally
<the_tubular>One of my friend is working in a company that got ransomwared 3 times in the same year
<the_tubular>Then they opened security related position ...
<skintimidation>it's starting to feel like ransomware is just internal, lmao
<skintimidation>IT dudes holding the company for ransom
<skintimidation>it's weird to me that it's always these pieces of critical infrastructure, too
<skintimidation>you can phish a company, or you can just see their email server is running old shit
<skintimidation>big companies are more exposed to phishing
<skintimidation>whereas i'm surprised that automated pwnage isn't the norm for smaller places
<the_tubular>pyrotek45[m] have yous tarted your guix-home yet ?
<the_tubular>But yeah, skintimidation the mentality has to change industry wide
<nckx>*NOW* you can talk about unpatched BINDs, because Guix's has finally been patched.
<skintimidation>At what cost?
<skintimidation>You wouldn't think DNS would be so goddamned confusing
<the_tubular>nckx it probably still needs patching since you wrote that message :P
<nckx>Hmm?
<the_tubular>It's a joke since BINDs always needs to be patched
<nckx>Hah!
<mekeor[m]>what are BINDs?
<nckx>I thought you meant the commit hadn't gone through or something (but it did).
<the_tubular>No, it was just a joke ^^'
<skintimidation>mekeor[m]: BIND is software for running a dns server
<skintimidation>specifically a name server
<mekeor[m]>ah okay thanks
<skintimidation>it's also usually used as an alternative remote access tool for those who don't like asking for accounts on your server
<the_tubular>lol
<the_tubular>To be fair, most of the vulnerability results in Denial of Service
<nckx>Can't DoS you if they can't resolve you *taps brain*
<skintimidation>ah nvm the local isp's version is from uhh
<skintimidation>2016
<skintimidation>or so'
<skintimidation>not too bad
<skintimidation>i see a few announcements for rce but nothing with an obvious poc
<nckx>I should point out that it's trivial to spoof the server name and version responses. Not likely, but if the admin has my dubious sense of humour, not impossible.
<roptat>I remember my school had a bind version so old that there were no CVEs on it ^^'
<jackhill>how does one get debug symbols? --wiht-deug-info hasn't helped me so far with swaylock or webkitgtk
<pyrotek45[m]>Not yet
<pyrotek45[m]>I'm still using guix in a vm. I would really rather wait till gnome 40 is out on guix before I put it on metal tbh
<pyrotek45[m]><the_tubular> "pyrotek45 have yous tarted..." <- Not yet,
<the_tubular>Why do you need guix on baremetal for it ?
<pyrotek45[m]>I dont need it, but thatd what I want before I switch completely
<pyrotek45[m]>I dont really care for old gnome tbh
<pyrotek45[m]>Or if they fix sway in gdm
<pyrotek45[m]>Not being recognized
<pyrotek45[m]>Pls I use the vm to iron out any errors that might occur before I switch to it fulltime
<pyrotek45[m]>Just like this flatpak issue
<pyrotek45[m]>so testing this out in a vm is ideal
<pyrotek45[m]>im used to fedora, where everytings pretty uch super up to date and plug and play
<pyrotek45[m]>i can use sway and gnome , and they both appear in gdm no problem
<pyrotek45[m]>i can even use gnome xorg or wayland
<pyrotek45[m]>its super nice, not beign able toe asily use sway in guix is kind of annoying
<jackhill>pyrotek45[m]: it's fixed on the core-updates-frozen branch (which will hopefully be merged soon, but you can always use it before merge :)). The "problem" is that GDM won't offer to launch wayland sessions if it is not running as a wayland session, and wayland gdm didn't become working until recently
<pyrotek45[m]>sure i get that, (although fedora does it fine atm) but i dont yet understand guix well enough to ditch my current setup yet
<pyrotek45[m]>hence the vm , a place where i can learn and make mistakes and not cost me anything
<pyrotek45[m]>also, ive tried installing the other de's on guix (with the built in installer) and some just arent configured very well at all, like enlightenment was horrible
<pyrotek45[m]>i couldnt open a terminal for the life of me
<jackhill>especially if you're trying to test/figure out your setup, I would definitly recommend trying core-updates-frozen, since we might, unintentionally, introduce bugs for you. If you're new, trying out a non-default branch might sounds scary, but if you're up for it, it could be a good learning experience
<oriansj>jpoiret: to your question about kernels with an init already requiring GCC. No kernels with init support could be written in assembly or a C subset that bare metal compilers like M2-Planet could compile
<pyrotek45[m]>im not even sure how to use the core-update-frozen
<pyrotek45[m]>but if its gonna get merged "soon" im sure i can wait
<pyrotek45[m]>hopefully its not much longer
<jackhill>pyrotek45[m]: well, it's easy: `guix pull --allow-downgrades --branch=core-updates-frozen` and then reconfigure/package -u as usual. --allow-downgrades is scary, but nessisary since core-updates-frozen is not decended from master
<jackhill>indeed, hopefully now
<pyrotek45[m]>till then, im just gonna keep reading about guix, so that when i do fully switch over i can use it fulltime
<jackhill>*not
<jackhill>cool!
<pyrotek45[m]>but i might try that in a vm
<pyrotek45[m]>any eta on the merge>
<pyrotek45[m]>?
<pyrotek45[m]>honestly i would like to just have flatpaks working without much effort tbh
<pyrotek45[m]>idk why it keeps complaining that the paths arent set even though ive exported it to xdg_data_dir
<pyrotek45[m]>many times
<pyrotek45[m]>rebooted,relogged in
<pyrotek45[m]>nothing makes it show up the desktop files
<nckx>Can flatpacks run on Guix now?
<pyrotek45[m]>they can run, but you have to run them from the commandline
<pyrotek45[m]>afaick
<nckx>Aha.
<pyrotek45[m]>guix doesnt have nautilus-open-terminal in the repo
<pyrotek45[m]>that stinks
<pyrotek45[m]>thats like one of the best things to have lol
<pyrotek45[m]>you can manually create desktop files in .local/share/applications though
<pyrotek45[m]>to run flatpak programs
<pyrotek45[m]>but you should have to do this manually tbh
<pyrotek45[m]>unless im missing something
<pyrotek45[m]>* you should not have to
<pyrotek45[m]>what guix doesnt have tilix????
<pyrotek45[m]>ohmylor
<nckx>Guix lacks many obscure packages just waiting for someone to package them!
<nckx>It does not look hard.
<pyrotek45[m]>ive never packaged a program in my life
<pyrotek45[m]> i wouldnt even know where to begin, how to do it right, or how to test it out
<pyrotek45[m]>rip
<nckx>Yep. That's how everyone started.
<pyrotek45[m]>im sure with the right amount of time i could do it, its just not gonna happen with my current schedule
<pyrotek45[m]>amazon worker life lol
<the_tubular>Also, there's a few patches that are waiting for an answers, how long doe sit takes for patch to be accepted usually ?
<the_tubular>Also, what are the biggest change when core-frozen is going to be merged to master ?
<Zambyte>the_tubular: I think the few patches I've sent have been merged in about a week
<nckx>It seems our LDC is slighty too old to compile Tilix…
<pyrotek45[m]>oh well
<pyrotek45[m]>i hope a lot of upates come in the merge, it seems a lot of stuff is out of date in guix repo
<nckx>The merge is not a magical sandy clause that brings us all the updates, alas. LDC (D in general) is the opposite of a core update. It hasn't been updated probably because it's hardly used.
<nckx>I tried brute-force replacing JSONType with JSON_TYPE but it's not so easily fooled.
<nckx>Oh well. I only tried packaging Tilix because it's in D and I'd never seen D code, now I've seen D code. 🤷
<the_tubular>*Googles LDC*
<nckx>Not sure why you'd ever want to tile only your terminals — nothing else please! there are children watchi! — inside a big-ass CSD pointy-clicky window surrounded by a big-ass pointy-clicky DE but it's certainly quirky. I like quirky.
<nckx>the_tubular: The somethingsomething D compiler.
<nckx>L probably doesn't stand for something, though, that would be weird. Probably stands for LLVM
<nckx>Oh hell it's still based on llvm@6.0.1.
<apteryx>not on core-updates-next?
<apteryx>not sure. Anyway we should use the GCC D frontend to build it instead of the complicated (and mostly futile) bootstrap i've done for it on c-u-f. I've learned about its existence too late in the game.
<nckx>It's 1.10.0 everywhere I can see, apteryx.
<apteryx>1.27.0 on cuf
<apteryx>unless you were not talking about ldc?
*apteryx preps to reboot for the 218th time. Problems only reproduced on metal are sure fun.
<nckx>I am. Is it not at 1.10 on core-updates?
<apteryx>core-updates-frozen?
<nckx>Oh -frozen is a joke?
*nckx checks.
<apteryx>you know, the branch everybody thought frozen except apteryx? yes, that one
<nckx>Oops, sorry if it was a genuine mistake.
<nckx>gnu: ldc: Update to 1.27.1.
<nckx>A c-u-f exclusive.
<apteryx>I think I put it there as it was useful in testing another thing I had added (lld-wrapper perhaps), I don't remember now.
<nckx>Talk me through this.
<nckx>OK…
<nckx>Your bootstrap work is admirable but oof.
<apteryx>c-u-f is going to be master anytime anyway :-).
<nckx>Why isn't it on master? ☺ Apart from the merge conflict portal to hell my naive cherry-pick just opened, but presumably that will be/have been resolved anyway.
*nckx shuts the portal, not today Satan.
<apteryx>it's not on master because "c-u-f is going to me merged to master anytime now". So it was not worth the effort to be cherry picked
<nckx>But that was September.
<nckx>Speaking of blockers, how's your logindbusthing going?
<apteryx>I've now added something to elod
<nckx>So the explicit synchronisation didn't help?
<apteryx>... to the elogind-service-type to poll on the org.freedesktop.login1 service availability in d-bus; will see on the reboot
<nckx>Ah.
<nckx>I have been unable to reproduce this.
<apteryx>that GRUB prompts me thrice (eating like 30 s each time) coupled with the slow booting time has made each iteration costly :-)
<apteryx>I should change my password to '1' or something
<nckx>I must've missed something—thrice?
<nckx>That sounds somehow self-inflicted 😉
<apteryx>I have 3 disks in a raid0
<nckx>Oy.
<apteryx>raid1, sorry
<nckx>Phew.
<apteryx>each of them encrypted with LUKS
<nckx>If this is real RAID why can't GRUB just read from 1?
<apteryx>real as in hardware? no, it's software based (Btrfs)
<nckx>Ah.
<apteryx>it gets assembled when Btrfs does its scan
<nckx>Right, yeah, it'll have to open each disc.
<apteryx>I'll be looking at ways to cache the passphrase or some other scheme to avoid this madness in the future
<nckx>Not just for the scan but because btrfs ‘raid’ (2 copies) != RAID (3 copies).
<apteryx>also copying the code linux uses to decrypt the LUKS keys into GRUB would help it seems (it's so slow)
<kwjc>how come when I do "guix gc --delete-generations" it doesn't actually delete them?? they are still there in the grub boot menu. I backed up to a previous generation, updated and everything but it still boots up into the "messed up" generation in the grub boot menu (even after running guix gc --delete-generations)
<apteryx>in my case it's 3 copies (because I told it I wanted the c3 profile or whatever it's called)
<apteryx>raid1c3 IIRC
<nckx>Then I don't see why GRUB can't read from 1 but I'm not familiar with GRUB's btrfs driver.
<apteryx>it could I think, but our script is not ready for it. currently if I pull one drive it won't even pass grub
<apteryx>which defeats some of the value of RAID1
<nckx>GRUB key derivation is slow but you'll always be limited by a single core. I'm not sure it's worth porting Linux code, if it even is ‘faster’…
<nckx>apteryx: Yikes.
<apteryx>I've opened an issue about it, and someone shared how it's done in Debian. It just needs some time to get to it (doesn't look too complicated)
<nckx>kwjc: ‘Before starting the garbage collection process, delete all the generations older than DURATION, for all the user profiles; when run as root, this applies to all the profiles _of all the users_.’
***Myrcies is now known as myrcy
<apteryx>failed to login still...
<nckx>I.e. you're not running the right command.
<nckx>kwjc: See (guix)Invoking guix system, ‘delete-generations’.
<nckx>apteryx: What's the reliability like?
<apteryx>you mean w.r.t. this raid1c3 array?
<nckx>Btrfs raid in general if you have any other experiences, but yes.
<apteryx>the only issues I've had with Btrfs in the past were caused by faulty connectors or diying drives
<nckx>I still run a few ‘old’ btrfs storage servers but the RAID is all md because I got burnt too often. So I wonder what life on the non-paranoid side is like nowadays.
<apteryx>so I can't blame Btrfs for it (it was good that it warned me early)
<nckx>Oh good.
<apteryx>I think only RAID 5/6 are susceptible to corruption, but that's a long known thing (they mention it as such on their wiki)
<apteryx>so I've never used that (I've used raid0 and raid1 only so far)
<apteryx>I hated to have to rebuild arrays with mdadm following a simple power outage
<nckx>I've only used btrfs raid1.
<apteryx>I think Btrfs has a finer grain view of the arrays, so it can resync smaller pieces. Never noticed my drives grinding for hours following power outages.
<nckx>Heh, I guess I'm lucky that power outages aren't that common here to be called ‘simple’.
<nckx>md's bitmaps sort of speed up the process… sort of. There's still an excess of grinding.
<apteryx>bah, I forgot to specify the system bus for my dbus poller
<apteryx>yet another iteration
<kwjc>thank you nckx!
<kwjc>I suppose that I assumed that "--delete-generations" with no further argument would imply "time=now".
<nckx>It does. But ‘guix gc’ and ‘guix system’ operate on totally different sets of generations (profiles).
<nckx>Well, that's not quite accurate. ‘guix gc --delete-generations’ and ‘guix system delete-generations’ operate on totally different profiles.
<nckx>The actual garbage collector just reaps whatever's dead, it doesn't care or even know about profiles.
<nckx>When you ‘guix install icecat’ you add icecat to your user profile. It has generations: you can ‘guix package --roll-back’ to return to a time without icecat. This profile has nothing to do with the system profile, which contains system packages and services, which is what the GRUB menu displays and boots, and what ‘guix system’ manipulates.
<nckx>Since ‘guix gc’ doesn't deal with profiles, its ‘--delete-generations’ argument is arguably misplaced and confusing. It's just a convenience option to clean up user profiles before starting the GC, equivalent to ‘guix package --delete-generations && guix gc’ (which is much more clear). There's no equivalent option for system profiles built into ‘guix gc’, so you always run the explicit ‘guix system delete-generations && guix gc’.
<nckx>I have no idea whether this is helping or just confusing you further.
<kwjc>after putting the manual all on one page i'm seeing that multiple commands have "delete-generations". guix package, guix pull, guix gc, guix system. i'll have to read them all I suppose to see what does what
<cwebber>hm
<cwebber>git fetch doesn't seem to be working for me
<cwebber>fatal: Could not read from remote repository.
<cwebber>Please make sure you have the correct access rights and the repository exists.
<cwebber>but I'm still using cwebber@git.sv.gnu.org:/srv/git/guix.git and I think I still have access...
<nckx>kwjc: Think of guix system, guix package, and guix pull as operating on three different and orthogonal (that's important!) profiles: one for the base OS, one for the user's packages, and one for Guix itself. guix gc stands apart, doesn't deal in profiles—except for the weird UI quirk that is ’--delete-generations’ and only affects user profiles.
<nckx>cwebber: Back from holiday? 😉 Sounds like ol' https://savannah.nongnu.org/forum/forum.php?forum_id=10061
<cwebber>nckx: ah
<nckx>Admittedly it felt much older than October for some reason.
<cwebber>;)
<apteryx>nckx: so login1 here just straight out refuse to work; even waiting for it as part of the elogind service, it never comes up
<nckx>I might have fallen asleep. Who knows. Certainly not you!
<nckx>(Good night :)
<podiki[m]>saw something about flatpaks, pyrotek45 did you figure it out?
<podiki[m]>I use them fine, you can't add /var/... to xdg because /var doesn't have it
<pyrotek45[m]>so far i figured out i can make my own .desktop files
<pyrotek45[m]>but its a pain
<podiki[m]>if you start flatpak from a terminal it will tell you 2 directories to add, one of them doesn't exist on guix
<podiki[m]>add the other one and make sure that is in a .profile or similar file so it is sourced on login
<podiki[m]>then it should show up wherever (I only use Rofi, but shows up there as it reads xdg for desktop files)
<podiki[m]>and the reason why is that flatpak adds an /etc/profile.d/ script and we (guix) don't automatically source it, while e.g. Arch does
<podiki[m]>but seems very rare anything puts in scripts there (when I compared to my Arch setup)
<podiki[m]>feel free to steal part of my .zprofile (meant for multiple guix profiles, but has what you want): https://github.com/podiki/dot.me/tree/master/zsh#guix-profile-loading
<pyrotek45[m]>ill try that, right now im trying to figure out why emacs evil-system-undo is so broken
<podiki[m]>that I cannot help you with, no evil for me :)
<pyrotek45[m]>you edit using mouse?
<podiki[m]>errr the keyboard?
<pyrotek45[m]>how do you move around?
<podiki[m]>regular emacs keybindings; one day will be curious to see the vi/modal way
<pyrotek45[m]>hmm ive tried both and vi is just easier on the hands
<podiki[m]>and searching, nothing fancy though here good things about stuff like avy(?)
<pyrotek45[m]>holding ctrl for evrything is hard
<pyrotek45[m]>just learned more about the emacs customize stuff very cool
<cehteh>note that emacs has a few vi modes
<pyrotek45[m]>thats what im using now
<pyrotek45[m]>evil mode
<pyrotek45[m]>its pretty good
<pyrotek45[m]>been using neovim before that
<cehteh>i use emacs as emacs so i cant tell :D
<pyrotek45[m]>lol
<pyrotek45[m]>i wonder how i would look at vim if i used emacs first
<podiki[m]>and also god mode (like evil but emacs keys I think)
<pyrotek45[m]>i like vims modal editing
<pyrotek45[m]>though and at the time when i was looking into one or the other
<pyrotek45[m]>vim was very simple to learn/use
<pyrotek45[m]>being able to do (command motion)
<pyrotek45[m]>is really nice
<pyrotek45[m]>without having to press like ctrl for anything
<cehteh>i am pretty happy with emacs now, it made some progress past time with native compiler and language server etc
<pyrotek45[m]>its prolly closer to how i use vscode since when i use vscode i just use it like notepad
<pyrotek45[m]>i use my mouse to move my cursor
<jgart>Hi Guix, what's the best way to pretty print derivations?
<jgart>Is there something like jq?
<jgart>gq?
<the_tubular>cehteh talking about that native compiler, when is 28.x coming out ?
<apteryx>nckx: still no joy, but the thing is elogind runs successfully, but without yielding a login1 d-bus service during boot
<apteryx>if I stop and restart it manually after the boot is done, login1 is listed in the available d-bus services
<cehteh>the_tubular: no idea
<sam_>probably related to how many people test the pretest
<apteryx>jgart: emacs-guix
<jgart>apteryx, do you happen to know the elisp function that pretty prints the derivation?
*jgart searches
<apteryx>jgart: probably part of 'guix-build-log-minor-mode
<apteryx>or perhaps (add-hook 'scheme-mode-hook #'guix-devel-mode)
<apteryx>uix-derivation-mode
<apteryx>err, guix-derivation-mode
<pyrotek45[m]>Emacs feels like a free vscode
<cehteh>prettyprint as what? -> htmlfontify-buffer generates almost 1:1 html from whatever emacs shows you
<pyrotek45[m]>Cuz I use vim keys on vscode too lol
<jgart>maybe `guix-pretty-print-buffer`?
<pyrotek45[m]>Just too good
<jgart>pyrotek45[m], it feels a bit like that with eglot on
<pyrotek45[m]>whats eglot?
<jgart>it's a language server protocol client for emacs
<pyrotek45[m]>ah
<podiki[m]>anyone know how to delete a patch from an inherited package? I tried, delete, delv, with or without (search-patches "the-patch-to-remove.patch")
<pyrotek45[m]>but yeah i cant do the normal mosue editing anymore
<pyrotek45[m]>shoot idk
<podiki[m]>a correct version is (patches (delete (car (search-patches "patch" ....
<podiki[m]>(since search-patches evaluates to a list)
<jgart>is anyone managing bleeding edge elisp libraries with guix home?
<Guest11>When installing openjdk, I see a GC Warning:
<Guest11>grafting '/gnu/store/2w8f32h6cgcrm2gd36l7krc5d98a9vsd-openjdk-11.0.13-jdk' -> '/gnu/store/f4mgwc83b7wz9xxil47sbhlfcdllyd67-openjdk-11.0.13-jdk'...
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<Guest11>GC Warning: Repeated allocation of very large block (appr. size 1052672):
<Guest11>    May lead to memory leak and poor performance
<pyrotek45[m]>theres a new package called meow for emacs for people who would like to try modal editing
<pyrotek45[m]>not the the same as evil mode
<pyrotek45[m]> https://github.com/meow-edit/meow
<the_tubular>What is it exactly pyrotek45[m] ?
<the_tubular>Ooh, modal editing, like vis ?
<pyrotek45[m]>im not sure i just read about it
<pyrotek45[m]>i think its something for people who use emacs and wanna try modal editing but dont wanna go full evil mode
<pyrotek45[m]>not sure
<pyrotek45[m]>i just came across a reddit post for it
<the_tubular>Umm, i see, I might give it a try when I have a better understanding of Emacs
***regtur_ is now known as regtur
<rekado>there's also god-mode
<pyrotek45[m]>i think evil is still better than god mode
<pyrotek45[m]>but im sure you could use both with some work
<rekado>they are very different
<rekado>god-mode is very Emacsy in that it only removes chording and has a direct translation of all default Emacs bindings into modal commands.
<the_tubular>What is chording ?
<the_tubular>Still not use to all that emacs lingo
<rekado>it's hand lingo :)
<rekado>when you sit at a piano and play a chord, you're holding down more than one key with one hand.
<rekado>apply that to a computer keyboard
<rekado>e.g. to hold down Alt and Ctrl and then hit f.
<the_tubular>Got it
<pyrotek45[m]>chording hurts my fingers lol
<pyrotek45[m]>and ive taken piano classes
<pyrotek45[m]>im not tryna get emacs pinky
***df_ is now known as df
<pyrotek45[m]>i think atom and vscodium should be in guix
<pyrotek45[m]>the free version of vscode
<rekado>they are probably not at all easy to package
<fiesh>I wish ZFS was part of guix -- the lack of a good filesystem is more of a problem to me than the lack of bloated and cumbersome editors ;)
<JchymTomek[m]>have you tried btrfs?
<abrenon>hello guix
<fiesh>yeah, it's great for single disks or loop devices, but otherwise rather pointless without redundancy support
<JchymTomek[m]><pyrotek45[m]> "im not tryna get emacs pinky" <- i am starting to get rsi even from vim. I think the solution is to move the pinky work completely to the thumb, aka split keyboard with thumb clusters
<JchymTomek[m]>fiesh: what kind of redundancy?
<fiesh>JchymTomek[m]: raid-like redundancy
<cehteh>btrfs can do raid1 .. but otoh i always managed to crash it horrible in stress tests
<cehteh>hoping that bcachefs comes along
<fiesh>yes, but raid1 is hardly useful for typical server systems...
<cehteh>yes btrfs doesnt deliver what one really needs, encryption and raid6/zraid is nil
<cehteh>and it can still eat data under high loads and has some other issues
<fiesh>I feel like encryption is perfectly reasonable at the block layer, but raidz1 / raidz2 beats even our pricey battery-backed-write-cache-what-not hardware raid controllers in my book
<JchymTomek[m]>you are much more knowledgeable than me :)
<JchymTomek[m]>but I have hope that someday btrfs will be the reliable workhorse of a filesystem even for servers
<pyrotek45[m]><JchymTomek[m]> "i am starting to get rsi even..." <- most of the commands from vim are just typing normal letters, so idk if a split keyboard will help you
<pyrotek45[m]>because youre still going to be typing words anyways
<pyrotek45[m]>which is the same thing as using vim
<pyrotek45[m]>plus most of my commands, even in emacs, use space as the leader key, i rarely have to use modifier keys at all, but if typing even letters is causing your hands stress, perhaps a more ergonomic keyboard or chair might be better help
<abrenon>I thought I saw someone mention here how they solved the hash conundrum of versioning a guix.scm file within a repository describing how to build it
<abrenon>any tip ?
<JchymTomek[m]><pyrotek45[m]> "plus most of my commands, even..." <- it is more the occasional Escape or pressing shift etc. The emacs pinky just never got away completely
<pyrotek45[m]>the escape i can understand (though i know some people remap this, but shift is also just a problem with normal typing)
<pyrotek45[m]>if you code or capitalize words alot
<JchymTomek[m]>it's not capitalized words, more symbols on the number row etc.
<pyrotek45[m]>ah yeah ( same diff lol)
<pyrotek45[m]>ive been thinking of getting a split keyboard
<pyrotek45[m]>but no moneys lol
<JchymTomek[m]>even worse, as you always need to stretch your hands
<pyrotek45[m]>but idk if its worth to just not have to use shift imho, though it doesnt seem like a bad idea
<JchymTomek[m]>pyrotek45[m]: yeah, it's pretty expensive
<JchymTomek[m]>i do it as a fun project, to practice my soldering, since I haven't touched it for a few years now
<pyrotek45[m]>i know recently
<pyrotek45[m]>i bought a new compression piston for my chair
<pyrotek45[m]>you can get new sizes on amazon
<pyrotek45[m]>and getting a longer one to sit higher
<pyrotek45[m]>oh man
<pyrotek45[m]>so nice
<civodul>Hello Guix!
<jonsger>hello civodul :)
<civodul>abrenon: re guix.scm, you can write (package (source (local-file "." #:recursive? #t)) ...) or something along these lines
<civodul>here's an example: https://notabug.org/cwebber/guile-gcrypt/src/master/guix.scm
<jpoiret>Hello guix!
<jpoiret>after thinking it through while in bed, I'm not sure GRUB can be easily patched to have grub-probe behave the proper way for LUKS2
<jpoiret>the way GRUB lets grub-probe hook into its internals is... subpar, lets say, especially for cryptodisks
<abrenon>civodul: thanks for your answer !
<abrenon>yeah, I'm doing something along those lines to build my local copy, and I wrote earlier this week (or last week ?) to ask if this was a common practice, or if people found a way to distribute a guix.scm that pointed to a particular state of their repos
<abrenon>wow, git-predicate looks like exactly what I was needing ! growing tired of seeing the versionned files copied to the store at each build ^^
<abrenon>thank you so much !
<qzdlns[m]>morning guix !
<abrenon>and the builds are stable ! this trick is great
<civodul>abrenon: yw! it'd be nice to have less boilerplate, perhaps we should think of a way to achieve that
<civodul>like a macro that would expand to (local-file ...)
<civodul>hey jpoiret! is there a problem with LUKS2 support?
<jpoiret>yes, there is for the installer-generated config
<jpoiret>here's a summary: grub-install doesn't add the needed luks2 module to the grub image, so it cannot load additional files from the /boot/grub/ directory if it is on a LUKS2 device
<jpoiret>it would work if /boot/grub/ was on an ordinary device (for example, I have /boot as the /EFI/Guix/ of my efi partition)
<jpoiret>i'm working on adding the necessary support to GRUB right now
<jpoiret>let's just say that "LUKS2 support was added in GRUB 2.06" is way too overblown
<civodul>ah ok, got it
<civodul>so it would work on UEFI systems only, right?
<civodul>did the installation tests catch this?
<jpoiret>yes! mothacehe reported the error yesterday (I have to admit i did not run them myself, I didn't know we had some for installer-with-encryption)
<jpoiret>it would work (or not work) with both UEFI and CSM. It's just a matter of having the grub files on an unencrypted partition (separate /boot for example)
<jpoiret>on UEFI it's more common because you have the EFI partition already
<rekado> https://ci.guix.gnu.org/workers looks idle
<jpoiret>although my setup is non-standard i must say, most people don't put the whole /boot on their ESP
<civodul>jpoiret: ah good that tests caught it at least
<civodul>we should pay more attention i guess ;-)
<civodul>rekado: there's gc running though it's in the "remove trash" phase (lock released)
<civodul>there don't seem to be many pending builds though
<jpoiret>civodul: totally my fault here, it looks like i didn't even try to boot the installer-generated config, only checked that it formatted the device as LUKS2....
<civodul>heh np, we didn't have a release in the meantime :-)
<nazarn65>Hello there, does anybody knows,   how i can install composer package  ?
<sneek>nazarn65, you have 1 message!
<sneek>nazarn65, nckx says: I have to go for now, good luck.
<attila_lendvai>in my shepherd service, i use #~(make-kill-destructor), but looking at the log, there's no sign of a clean shutdown, the process just disappears. am i missing something? same with SIGINT.
<rekado>only four bioinfo packages are broken on c-u-f; two of them need fixing by upstream; two others require severely outdated packages and could probably be removed.
<rekado>so I finally finished what I wanted to do before the merge.
<rekado>civodul: should we have a corresponding branch for guix-past? And guix-science?
<rekado>I believe there will also be considerable damage to these branches.
<PurpleSym>rekado: In order to allocate resources for a c-u-f branch for guix-science I unfortunately need a merge date for c-u-f to “prove” the urgency. Do we have that?
***chris is now known as Guest3662
***Guest3662 is now known as chris-l
<chris-l>n00b qu: say I want to hack on an oss repo using emacs, cmake, gcc etc. is it best practice to install emacs in guix home, and cmake/gcc/dependencies in guix shell?
<raghavgururajan>Hello Guix!
<chris-l>my reasoning is -- cmake + gcc etc form part of the toolchain, whereas emacs is my preferred editor.
<attila_lendvai>chris-l, yes, something like that. especially if you capture the dependencies into a guix.scm file in the project. and even more so if you want to capture a specific revision of guix and the dependencies.
<chris-l>attila_lendvai: thanks. how dumb of a question, yet not obv from manual.
<attila_lendvai>chris-l, the manual is very verbose for my taste, and lacks a structured bird's eye view map. i'm also new to guix (a few months).
<chris-l>any simple guix.scm that I can copypasta?
<attila_lendvai>chris-l, i have this, but it's too simple: https://github.com/attila-lendvai/Idris2/blob/build-system/guix.scm
<attila_lendvai>chris-l, IIRC the new guix shell command has some support for loading a guix.scm, and probably has some docs
<chris-l>"has some docs" -> we shouldn't dig into the dark web to find them!
<attila_lendvai>chris-l, yeah, i think it's too new. it's basically a redesigned `guix environment` that breaks the API. https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/
<civodul>rekado: a corresponding branch for guix-past and guix-science?
<civodul>& PurpleSym ↑
<civodul>i could add jobsets at guix.bordeaux.inria.fr, to see how well that works
<civodul>i was wondering about %build-inputs, which is now missing in qt-build-system or something
<civodul>could that lead to breakage in third-party channels?
<dale`>Hello, help needed with static networking: where in the config is static-networking-service supposed to go? I keep getting 'service networking provided more than once.'
<attila_lendvai>can i control the guest-side permissions of a `guix system --share=foo:bar vm ...`?
<raghavgururajan>Any thoughts on this Hw-Probe patch? https://issues.guix.gnu.org/49934#13
<civodul>dale`: hi! that probably means you're using both static-networking-service and something like dhcp-client or network-manager-service-type
<civodul>(the latter is part of %desktop-services)
<civodul>attila_lendvai: no, i think --share just has the guest mount the thing as-is
<civodul>you can choose between --share and --expose though
*jonsger sees 93% build success on "his" channel on c-u-f :)
<attila_lendvai>civodul, my goal is to have a permanent storage for the guest, and i want /var/lib/my-service, but the guest mounts it as alice (instead of root)
<civodul>attila_lendvai: --share doesn't do an UID mapping, so i'm guess that it's mounted as "alice" just because that has the same UID as your directory outside
<civodul>amirite?
<raghavgururajan>I am unable to patch these programs: echo, grep, hwinfo, join, sha512sum, sleep, sort, split, stat, and unlink.
<attila_lendvai>civodul, most probably. after a chown root on the host i'm one step closer, but now the guest cannot chown anything. lemme play with the virtfs security model...
<rekado>raghavgururajan: I'm really not a fan of this.
<rekado>raghavgururajan: if you must patch these all how about doing (substitute* "..." (("Cmd\\(\"([^\"]+\"" name m) (string-append "Cmd(\"" (which name) "\"")) ...)
<rekado>i.e. match on *all* Cmd things, and then look up the tool name in the current environment.
<rekado>I never know which is bound first: the whole match or the match group, so you may need to swap "name" and "m".
<kwjc>good morning, evening, or night everyone!
<civodul>attila_lendvai: maybe we should add a way to specify the guest-side UID
<civodul>hey kwjc
<attila_lendvai>civodul, what i'd need is to pass security_model=mapped-xattr to qemu (the recommended default, it stores guest perms in host xattrs), but if i change common-qemu-options then it changes the /gnu/store mount point also, and that breaks.
<attila_lendvai>civodul, hand editing it back to 'none' starts the vm as expected, and i can modify the mounted dir, and it's persisted, but for some reason i can't see my service fails to start, even though it has a (requirement '(file-systems)), and the dir looks all fine in the guest.
<attila_lendvai>civodul, re guest-side UID: in this setup, upon first start i had to correct the owner/perms of the dir, but then it's persisted from then on.
<attila_lendvai>*from inside the guest
<raghavgururajan>rekado: I'll look into it.
<civodul>attila_lendvai: rather than relying on host xattrs, which is hidden state, i'd rather add something that arranges so the guest mounts with the "uid=N" mount option (assuming 9p supports that)
<raghavgururajan>Thanks
*attila_lendvai looks into that
<attila_lendvai>civodul, it seems to ignore the -o uid=0,gid=0 options, and the doc also doesn't list it: https://wiki.qemu.org/Documentation/9psetup
***Guest6594 is now known as chris-l
<kwjc>anyone know the lightest window manager as far as ram usage goes?
<jpoiret>kwjc: i think the cage wayland compositor may fit the bill
<kwjc>fascinating. do you have an estimate? according to a reddit thread, evilwm (which is in the repos[?]) uses only ~800kb of ram
<jpoiret>i've got no idea, apart from the fact that it's the lightest wayland compositor i know
<jpoiret>it's made for kiosks for example
<kwjc>my computer is so slow that I need as light as I can get. I thought xfce would be fine but I'm running into a lot of performance issues...
<mfg>well, i thought sway would be kind of "light" but it currently consumes >200MiB RAM for me ... I mean it's okay i have enough, but i expected it to be less
<apteryx>civodul: I've sent a strace of the hung up elogind
<cehteh>mfg: hint: try swap on zram or zswap
<apteryx>it's reproducible on each boot on that machine. which is weird, since it doesn't seem easily triggered elsewhere
<apteryx>civodul: this looks interesting sendmsg(11, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="l\1\0\1\0\0\0\0\1\0\0\0m\0\0\0\1\1o\0\25\0\0\0/org/freedesktop/DBus\0\0\0\3\1s\0\5\0\0\0Hello\0\0\0\2\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0\6\1s\0\24\0\0\0org.freedesktop.DBus\0\0\0\0", iov_len=128}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = -1 EPIPE (Broken pipe)
<attila_lendvai>how can i force shepherd to run the activation script? herd disable foo && herd enable foo doesn't seem to run it. when is it run normally? there's not a single 'activate' in the entire herd manual.
<jpoiret>good news, I have a local GRUB patch that makes grub-probe behave properly with luks2 :)
<apteryx>jpoiret: nice! you are going to send it upstream, right?
<jpoiret>attila_lendvai: activation scripts are run only when reconfiguring or booting
<jpoiret>apteryx: no, this is just for me
<apteryx>:-D
<jpoiret>jokes aside, yes! i'll have to clean it up a bit first
<civodul>apteryx: uh, weird; i grepped through dbus and elogind to see what's supposed to happen in this case but couldn't find it
<jpoiret>and check that it works with different sector sizes
<attila_lendvai>oh, actually, i think this is my problem: shepherd probably ignores the (requirement ...) declaration, and runs my activation script before the filesystem is available.
<apteryx>civodul: perhaps that's why it fails, if it doesn't handle it ;-)
<civodul>yeah, that's what i wanted to see
<kwjc>alright, here goes nothing. going to try and switch from xfce to evilwm. last time I tried I ended up blowing up my desktop environment and creating 5 different generations (that were all broken)
<attila_lendvai>IOW, mkdir'ing stuff in the service activation script is a bad idea then? i've seen it in multiple places...
<civodul>apteryx: dbus_bus_get, which the Hello() remote method call via dbus_bus_register, does return an error in that case
<civodul>*which makes
<jpoiret>time to test `grub-install` :)
<jpoiret>grub-install works!
<kwjc>gratz
<mothacehe>hey guix!
<sneek>mothacehe, you have 1 message!
<sneek>mothacehe, jpoiret says: looks like grub-probe -t abstraction /mnt doesn't return the needed grub modules for LUKS2, on my LUKS1 setup it detects everything properly. Worse, grub-probe -t cryptodisk_uuid /mnt doesn't say anything
<civodul>hey mothacehe!
<jpoiret>hey mothacehe!
<attila_lendvai>jpoiret, you seem to understand shepherd and activation... i'd grateful if you could say anything about this hypothesis: service activation runs early in boot, in an unspecified order, and ignore the (requirement ...) values
<jpoiret>i have a grub patch that fixes grub-probe and grub-install for LUKS2
<civodul>apteryx: i have no idea how elogind speaks dbus; it seems to have its own sd-bus thingie (from systemd), but i'm hoping it doesn't actually reimplement the whole thing
<rekado>does icecat's (or chromium's) dark mode detection work for any of you? I wanted to use @media (prefers-color-theme: dark) {...} on issues.guix.gnu.org (and work on a few other CSS fixes), but this doesn't seem to have any effect.
<jpoiret>attila_lendvai: there are no requirement fields for activation services iirc, they're just gexps
<mothacehe>oh nice, i see that nckx did revert it
<attila_lendvai>jpoiret, i mean the requirement field of the service, i.e. which other services it depends on
<mothacehe>i'm curious to see your new patch :)
<jpoiret>shepherd services and activation services are orthogonal
<jpoiret>and yes, activation scripts run right after early userspace has pivoted to the real root, before shepherd is started
<mothacehe>civodul: i've been monitoring the GC a bit, it is in the early phase removing the /gnu/store/trash content since 11:00
<mothacehe>which means that the actual GC stuff has not even started yet
<mothacehe>unless i'm mistaken
<civodul>mothacehe: "rm -rf trash" is the next-to-last phase
<mothacehe>yes but it's also an early phase
<civodul>the last one is "delete unused links"
<mothacehe>see line 686
***aya is now known as gyara
<kwjc>rekado: you'll have to break it down barney style for me. I am able to use the dark mode theme but I assume that's not what you're referring to?
<civodul>mothacehe: d'oh, indeed
<mothacehe>(the fact that the GC is held and it's removing the /gnu/store/trash content makes me think that we are at this step)
<mothacehe>*GC lock
<civodul>hmm still
<attila_lendvai>jpoiret, thank you! i'll need to redesign my service then... :/ i'm doing a lot of stuff in the activation, but when i use --share to persist the service's directory on the host, then the mount in the guest is established too late... :(
<civodul>mothacehe: ah yeah, gc lock is held, so you must be right
<civodul>damnit
<jpoiret>i don't think activation would be the place for that. Usually, activation services only contain some (mkdir-p "/run/xy")
<attila_lendvai>jpoiret, should i do it in the servide start thunk?
<civodul>mothacehe: weird because i think it never took this long previously
<mothacehe>civodul: now this directory may be abnormally large because of the previous aborted attempts.
<jpoiret>depends on what exactly you want to do, but yes, that's a possibility
<mothacehe>but i need to push the investigation further
<civodul>ah yes, could be
<civodul>mothacehe: from 4AM to 11AM, that was the "finding GC roots" phase?
<mothacehe>dunno
<mothacehe>but from 11am to now it was in the trash removal phase for sure
<civodul>ok
<attila_lendvai>jpoiret, stuff like calling the binary to initialize the database when starting at the first time.
<rekado>kwjc: browsers support @media queries to select different defined CSS styles. There is a media property for the current window width, for example, but there's also a property "prefers-color-theme", which may be "light" or "dark".
<rekado>in icecat it always seems to be "light".
<mfg>cehteh: how is swap supposed to change something here? and i don't know the z variants -> googling now
<jpoiret>attila_lendvai: activation services are run on every boot, and end up delaying the boot, unlike shepherd services
<cehteh>mfg: in case your machine starts swapping because of low ram, which affects performance extremely
<cehteh>zram/zswap are basically memory compressors
<attila_lendvai>jpoiret, oh, that's another reason to move it into the start thunk. but i'll need a module for my utility functions then. we'll see how that goes... thank you for the guidance!
<jpoiret>attila_lendvai: you can use with-imported-modules to have some modules be available when the gexp is run i believe
<mfg>cehteh: Ah, i see. Good to know :) Although my overall ram usage rarely goes beyond 60% (this machine has 32GB) but i will definitely have to set that up on other machines
<civodul>apteryx: what you could do is have elogind-service-type use the same elogind version as on master, to see if that makes a difference
<kwjc>rekado: I was just on a website that queried @media (prefers-color-scheme) but it still set it to bg-light color-light on icecat
<rekado>kwjc: I tried toggling this in the inspector (it's a new feature in the more recent icecat), but this also had no impact.
<rekado>I wonder if this is accidentally / purposefully disabled in icecat.
<rekado>at least in chromium this appears to be a bug.
<jpoiret>being able to change the bootloader package with a patched one in the system.scm is such a godsend
<apteryx>civodul: good idea; it should be working on master... then bisect
<jpoiret>`guix system bisect` when??
<kwjc>what does this mean? guix home: error: derivation `/gnu/store/54lzgqma0kcbkxfiqaxcvy1j8rsqd4c4-gtk+-3.24.24.drv' has incorrect output `/gnu/store/ki8fam06gb63q15l7wq2mmiqwb3hbvz1-gtk+-3.24.24-bin', should be `/gnu/store/kavx5ypcdz5fnmagf19v1snyjsc68kjq-gtk+-3.24.24-bin'
<mbakke>apteryx: setting DBUS_VERBOSE=1 in the dbus-system daemon environment may give some clues about how things look on the D-Bus side
<mbakke>I was confused looking at the communication, and the D-Bus protocol, and found this: https://github.com/systemd/systemd/issues/16610
<mbakke>fun to see the systemd and DBus maintainers disagree on how to communicate with D-Bus :)
<attila_lendvai>i have an export GUIX_PACKAGE_PATH=... pointing to a checkout of another repo. in a gexp in a shepherd service, i'm trying to use this module. i have added it to the service's modules field, and i'm using (with-imported-modules (source-module-closure ...)), but i get "no code for module" from `guix system vm ...`
<attila_lendvai>should this work? or am i missing something?
<attila_lendvai>if i look at the /gnu/store/...scm then it sets up %load-path, but it points to a store path that doesn't have my module. something somewhere in the build quietly ignores it.
<mbakke>attila_lendvai: I don't think GUIX_PACKAGE_PATH is used/tested much with the advent of channels... perhaps it should be deprecated.
<kwjc>idk what that error was. running the command again seemed to magically fix it
<attila_lendvai>mbakke, the trouble is that i don't want to record a commit and pull it as part of my edit-test-edit cycle. it works fine for `guix system vm ...`. the only issue is within a gexp in a service start thunk.
<kwjc>yay my ~/src/home-configuration.scm works. small problem though
<apteryx>mbakke: I have a dbus-verbose package that I used (it needs to be built with with some flag) and added a verbose? option to dbus server config, but it's over the top verbose :-) I should try again
<kwjc>bash complains: bash: alias: -p: not found. from my home-configuration.scm: (aliases '(("grep='grep --color" . "auto")
<kwjc> ("ll" . "ls -l")
<kwjc> ("ls='ls -p --color" . "auto")))
<zamfofex>You seem to have forgotten to close a single quote.
<mbakke>attila_lendvai: perhaps you can work around it by explicitly setting %load-path in the gexp, pointing to a cached copy of your channel, e.g. (local-file "/your/channel" #:recursive? #t)
<jpoiret>here's me wondering why the vm doesn't boot properly when i forgot to put the luks mapping in the dependencies of the root filesystem
<attila_lendvai>mbakke, thanks, i'll try that next. i'm trying to debug this now, because %load-path *does* contain my second repo while inside load-path-expression
<mbakke>attila_lendvai: does it contain a cached (/gnu/store/...) path, or the absolute location on your file system?
<attila_lendvai>mbakke, the issue seems to be that the modules argument doesn't contain my module. maybe i'm looking at the wrong thing... but the failing gexp does have a (with-imported-modules (source-module-closure ...))
<attila_lendvai>hrm... lemme look at source-module-closure!
<attila_lendvai>damn! it has a #:key (select? guix-module-name?)
<attila_lendvai>now i wonder why was that a good idea...? maybe i'm missing something.
<attila_lendvai>is that against improper use when people list (ice-9 ...) stuff? it should error then, not silently ignore.
<mbakke>attila_lendvai: huh, so passing e.g. #:select (const #t) fixes it?
<attila_lendvai>mbakke, for now i just hot-patched guix-module-name? :) but somehow it introduces "no code for module (gcrypt hash)" while `guix system vm ...` is building. investigating...
<attila_lendvai>there are 7 instances of (define not-config? ...) in the codebase
<attila_lendvai>maybe that config module should simply not be part of the guix namespace
<attila_lendvai>it's a bad idea anyway to mix generated source files with the handwritten ones
<florhizome[m]>Trying to build this emacs package, I need to run make to compile webkit-module in the buildprocess. This results in an error for “cc” not found where cc is inserted for $(CC) in this make file
<florhizome[m]> https://github.com/akirakyle/emacs-webkit/blob/main/Makefile
<florhizome[m]>I have gcc in native inputs, so it should be found, right?
<florhizome[m]>what would be missing for it to be found?
<tricon>Goodness... This place is full of guix...
<zamfofex>florhizome[m]: You should set it using the ‘#:make-flags’ argument.
<attila_lendvai>mbakke, yay, success! i introduced a with-myservice-gexp macro that expands to with-imported-modules and my own module filter. also made sure to exclude (guix config), and it works.
<kwjc>gratz
<zamfofex>florhizome[m]: See here, for example: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/suckless.scm Look at the definition of ‘slscroll’.
<attila_lendvai>one downside is that it seems to compile longer, even though my file is small. i guess it recompiles everything whenever i change my file.
<florhizome[m]><tricon> "Goodness... This place is full..." <- uhm, yes (:
<kwjc>i'm not exactly code savvy. you said I was missing a closing parentheses? I tried adding one and it didn't work either
<zamfofex>I said you missed a single‐quote.
<zamfofex>It should look something like: ("ls='ls -p --color'" . "auto")
<zamfofex>Note the single‐quote before the double‐quote after ‘--color’.
<zamfofex>kwjc: See if that works out well!
<kwjc>brb!
<kwjc>lol that's funny
<kwjc>bash: alias: -p: not found
<kwjc>bash: alias: do: not found
<kwjc>bash: alias: anything: not found
<kwjc>bash: alias: else.: not found
<kwjc>bash-5.0$
<kwjc>hey, thanks a lot for the help! i'm officially going to make this as a lost cause (for me) and move on
<acrow>kwjc: I bet you are working from a guix home import. guix home import doesn't do a good job on handing alias translation. You should look at each of the aliases in your home-configuration.scm and make them look like zamfofex described above.
<zamfofex>I think they left.
<acrow>Nothing ventured, nothing gained. I can only type so fast.
<zamfofex>kwjc: acrow sent you a message while you were gone. I don’t know much about ‘guix home’, but if you want to explore it more, maybe they know how to help you.
<nckx>It's a good idea to keep half an eye on https://logs.guix.gnu.org when your connection is intermittent.
<zamfofex>It looks really suspicious how you set “ls -l” on the second side of the pair for “ll”, but “auto” for the others.
<acrow>yes. While typing I loose situational awareness on IRC.
<acrow>It seems best to keep entries very short.
<kwjc>sorry i'm logging in and out constantly cuz I keep doing "guix home reconfigure config.scm"
<kwjc>yes I used "guix home import..." following the documention from the gnu guix manual (latest)
<acrow>zamfofex: the output of guix home import requires some editing.
<bdju>when I click a link in a pdf (opened in zathura) it doesn't seem to do anything. Is there another way to get to that link somehow?
<zamfofex>bdju: Try opening the PDF in IceCat, if that’s possible.
<bdju>oh, interesting idea. alright
<acrow>kwjc: I don't think running guix home reconfigure should interrupt an in-progress IRC connection. That's odd.
<jpoiret> https://lists.gnu.org/archive/html/grub-devel/2021-12/msg00076.html !!!
<jpoiret>let's hope everyone on the grub-devel mailing list is as welcoming as here :)
<kwjc>acrow: oh no, it doesn't. I use pidgin and have been logging in/out to verify whether i fixed my issue or not
<bdju>zamfofex: that worked, thanks. the link was clickable in icecat
<zamfofex>bdju: I’m glad I was ble to help! 👍
<nckx>bdju: I have a hunch. Does it work after installing xdg-utils?
<florhizome[m]>Ah, ty :)
<florhizome[m]>But since I am in emacs build system I would need to import that somehow
<nckx>Zathura calls girara_xdg_open_with_working_directory which invokes "xdg-open" without an absolute file name, so it needs to be in $PATH.
<kwjc>that did the trick! thanks a lot acrow and zamfofex for the help!
<acrow>kwjc: np
<bdju>nckx: I definitely have xdg-utils already and a hand-tweaked mimeapps.list file, but not everything works still.
<nckx>Adding xdg-utils to girara would increase its closure size by 115 MiB… :-/
<zamfofex>kwjc: I’m glad you got it in the end! 🎉
<nckx>bdju: Weird. If you run zathura from a terminal, does it log anything?
<bdju>nckx: oh jeez... it's working now. so, before I actually opened the pdf with xdg-open and now I launched zathura explicitly. not sure if that matters
<nckx>Hum. Apparently so? I don't much use the XDG stuff so my grasp of it is quite shallow.
<bdju>it's using zathura in both cases but yeah it looks like the issue still happens if launched with xdg-open again
<nckx>I guess $PATH gets mangled somewhere along the way when xdg-open foo.pdf invokes zathura.
<nckx>Definitely a bug worth reporting if you have the time.
<bdju>sure
<bdju>nckx: I think it was user-error after all, so I closed the bug. I can't be sure of what I did differently at first, but now a double click + waiting 5 seconds seems to open the link properly when launched either way
<rekado>PurpleSym: there's no date, but at least from my side there are no blockers any more.
<rekado>(for the merge of c-u-f)
*rekado waits for the gc lock on berlin, wants to reconfigure with new mumi
<florhizome[m]>I just registered that gcc has been changed so i thought it might be happening already?
<vdv>what has changed within ggc?
<vdv>*gcc?
<florhizome[m]>It’s now gcc-toolchain, there is a remark about that, and seems like the default is 10
<jonsger>meh, mcron doesn't support @reboot parameter :(
<amazigh>did anyone try to package foundationdb? duckduckgo does not yield interesting results.
<kwjc> m, ,ML
<kwjc>/. m nm,. bn nm
<kwjc>woops sorry about that
<kwjc>amazigh are you looking for this? https://libreplanet.org/wiki/Group:Guix/Wishlist
<kwjc>so I have a working home-configuration.scm with guix home, evilwm is added to the package list... what now? how do I get it to be my window manager
<florhizome[m]><kwjc> "so I have a working home-..." <- If you’re to on a foreign system you would need to put it into your system profile
<kwjc>florhizome[m]: I am not using a foreign distro. gnu guix system
<zamfofex>Are you using a display manager?
<kwjc>zamfofex: yes, gdm by default
<zamfofex>I see. I don’t know then. If you didn’t, you could always just install xinit and use it manually.
<zamfofex>I decided to start reading about ‘guix home’. Just a question: Wouldn’t it make sense to arrange Guix files in a single `.guix` directory? So `~/.guix/{home,profile}`, etc.
<zamfofex>Maybe even ‘~/.config/guix’, if it’s worthwhile to trade more typing for organization.
<florhizome[m]>.config/guix exists already
<florhizome[m]>you can put your channels.scm there
<zamfofex>Ah, yeah, I remember that now. I suppose it’s meant for user configuration (i.e. to be modified by the user) rather than files managed by Guix itself.
<florhizome[m]>Well on the other site it’s used to link your current profile
<lilyp>zamfofex: I made such a proposal earlier
<zamfofex>Was there a conclusion?
<lilyp>Not yet, but you can look here: https://lists.gnu.org/archive/html/guix-devel/2021-10/msg00026.html
<lilyp>The proposal is quite clear in what it's going for, it just needs someone to write up a PoC implementation
<florhizome[m]>I usually have my system and home config file laying there and a folder for manifests though but it doesn’t mean much
<florhizome[m]>I would say in general guix could use some additional defaults (and reorganization of existing ones), esp concerning dealing with profiles and guix home
<efraim>I feel like the skeleton could probably be either rewritten or added to to use guix home
<lilyp>we should really iron out some bugs and idiosyncrasies before we make it the default, though
<florhizome[m]>lilyp: I thought about introducing sth like %default-home-profiles aka profiles that are loaded with shell activation and conditional extension like if wayland session, load some wayland utilities
<lilyp>hmm, good point, I hadn't thought about conditional expansion
<florhizome[m]>and I would’ve called it home-profile-management- service or so :D
<lilyp>OTOH if you have such a use case, why not gexp-code that into your bashrc?
<lilyp>I think the basic features ought to be kept simple so that solutions can more easily be composed
<florhizome[m]>I think it’s relevant enough
<florhizome[m]>also you can just not use it ;)
<podiki[m]>would love for better multiple profile set up in Guix
<florhizome[m]>yup
<florhizome[m]>and synchronize stuff like fonts and icons between them
<lilyp>wdym "relevant enough"? Relevant enough to warrant a field in the profile config itself?
<lilyp>because stuff like font sync can be done by extending fontconfig service type
<lilyp>imagine for a moment it supported multiple user-specified directories
<lilyp>then you simply filter-map existing share/fonts onto your multiple profiles and add those to the fontconfig service
<florhizome[m]>no in the home profile management service config
<lilyp>ezpzlmnsqzy
<lilyp>Okay, what do you mean when you say "home profile management service config"?
<florhizome[m]>that sounds good, let’s write achapter in cookbook about a non official impl.
<florhizome[m]>It’s a home service that you declare in your home env. that manages stuff about profiles
<lilyp>okay, I think I skipped a line somewhere, hence the confusion
<lilyp>but still; why have the condition be a field of whatever record you use for customization?
<lilyp>it makes much more sense to simply set (enabled? #f) and then code up your own hyper-specific solution as part of home-<shell>-service-type
<florhizome[m]>for what specifically
<lilyp>mainly because shell is not a lisp, so we can't really "safely" insert code snippets
<lilyp>let's take your wayland example
<lilyp>you add (home-profile (location "~/.guix/wayland") (manifest ...) (enable #f)) to your profile-service type
<florhizome[m]>conditional activation or sync of fonts/icons...
<lilyp>conditional sync of icons makes no sense
<lilyp>those are handled by XDG_DATA_DIRS, so it's just profile expansion
<amazigh>kwjc: no, I was looking for previous attempts, tx anyway.
<florhizome[m]>Well I never said that :P
<lilyp>conditional baking of fonts is debatable, but you can still code around that in my version of home-fontconfig-service-type
<florhizome[m]>If you can
<florhizome[m]>but I wouldn’t really need that
<lilyp>whereas your solution would require (add-to-fonts? (and is-full-moon? is-halloween?)) and lots of other fields
<attila_lendvai>the start lambda of my shepherd service errors, but the error is not printed/logged anywhere where i looked. can this be helped somehow? who starts shepherd, something in initrd? shepherd has a --logfile option...
<lilyp>like the code explosion really isn't worth it
<lilyp>and guess what, there's a simpler solution still
<florhizome[m]>Look, I never really proposed it.
<lilyp>just split off optional fonts, optional icons, etc. into their own profiles
<florhizome[m]>I don’t feel necessarily like icons would just work though
<lilyp>I'm pretty sure they would if they're loaded soon enough
<florhizome[m]>Really, I never said anything about optional font or icon sync and I told you I disintegrated
<florhizome[m]>s/Really, I never said anything about optional font or icon sync and I told you I disintegrated/Really, I never said anything about optional font or icon sync and I told you /
<lilyp>okay, my bad, so it was just regular "font and icon sync"
<lilyp>i.e. "sync" at activation time, which would be the same as current sync
<florhizome[m]>Well that should work and it would be nice
<lilyp>and I'm pretty sure you only need that for fonts
<florhizome[m]>If you want it general, special directories, idk.
<florhizome[m]>is there a proposal for sth like a home dbus service?
<lilyp>Well the thing with fonts is we currently have a fontconfig-service-type but it's utterly useless because you can't extend it, adding your own directories to it.
<lilyp>So you're right in that something needs amending, but you're looking in the wrong place
<florhizome[m]>And I’m really not that keen on that
<florhizome[m]>my central idea is having a manifests dir and default profiles that are scanned from that and you can conditionally expand them
<lilyp>At which point would you conditionally expand them?
<lilyp>And by which method?
<lilyp>My proposal would not stop you from having your manifests dir.
<florhizome[m]>lilyp: Well, how would you do it?
<lilyp>You are the one hung up on conditional expansion, so explain yourself.
<rekado>still waiting for the gc lock
<lilyp>As for how you'd do it with my proposal: you'd read your manifests directory, generating a <home-profile> for each manifest file found. The manifest can be loaded from the file, the location guessed based on its name and the enable? field decided by dice roll or what have you.
<lilyp>Admittedly, configuring other services based on home-profile-service might be difficult if you have no clue as to what its contents are, but that's the reason autotools declared globs evil in *checks notes* 1991.
<lilyp>the great timeout!
<nckx>Oh Matrix.
<winning-luser>reject matrix, return to irc
<nckx>They are trying.
<attila_lendvai>is it possible/supported to define a macro in my module, and use it in a gexp instantiated from within that module?
<roptat>attila_lendvai, I don't think so, the macro definition would not be available when the gexp is executed
<attila_lendvai>roptat, when is a gexp expanded? not when the instantiating file is compiled?
<roptat>I think it's expanded at build time
<roptat>I mean, #~(...) is not expanded when the file that contains it is compiled, but when you call gexp->derivation and such
<roptat>(or even later)
<roptat>but you could do #~(... #$(macro ...) ...), then the macro would be expanded before
<kwjc>wait, did red hat linux go out of business?
<attila_lendvai>roptat, and it looks like the macro can return with a plain sexp. thanks!
<kwjc>nope, i'm living in the twilight zone
<kwjc>winning-luser: what's wrong with matrix?
<jgart>Hi Guixers, bpython is broken. I have a feeling it must have been when I upgraded python-jedi for another program I needed. What's the best way to check that upgrading one dependency doesn't break some other program. Do I build every other program that depends on the library I just upgraded before submitting to upstream?
<jgart>hmm, I guess I could do `guix refresh --list-dependent ...`
<winning-luser>kwjc: I don't have any serious objections or opinions on it, was a jest is all. I do dislike matrix clients though. I tried most existing Matrix clients a year ago and never found a satisfying implementation. Though I don't know if my personal dissatisfaction of the existing clients is to say anything of the protocol.
<jgart>`guix refresh --list-dependent python-jedi`
<tex_milan1>Hello Guix. I installed icedove with guix install icedove. I set it up. Works. I then found the guix home and set it up including to install icedove. When I run icedove from the .guix-home/profile/bin/icedove, it doesn't know my emails, it looks like clean first time run. When I run the .guix-profile/bin/icedove it knows my emails and it is ok. Why? Versions of icedove are equal in both cases.
<jgart>or
<jgart>`guix refresh -l python-jedi`
<jgart>Is there a way to quickly check if an update of a python library is incompatible with any of the listed dependents from the output of `guix refresh --list-dependent python-jedi` without having to rebuild all the listed dependents?
<jgart>s/rebuild/rebuild and test
<tex_milan1>Ok, found icedove --profileManager and I can set the correct profile. Anyway why it decided to create a new empty one is beyond me.
*attila_lendvai can't get used to (define ...)'s in the middle of the code, and got fooled once again
<raghavgururajan>sneek, later tell nckx: Regarding commit f3b64ad54ed7067094d752921f85341cdc0722fe, the check phase fails with `ModuleNotFoundError: No module named 'gajim.gui.emoji_data'`.
<sneek>Got it.
<rekado>jgart: no.
<rekado>jgart: ideally, this is what ci.guix.gnu.org would do
<rekado>but friction is too high so ... what I do is indeed building an arbitrary selection of packages that are affected by an upgrade
<rekado>(or in the case of R: build every R package)
<tex_milan1>I want to install gitk in guix home, tried this and it doesn't work. How to specify non-default output?
<tex_milan1> (map specification->package
<tex_milan1> (list "git" "git:gui"
<raghavgururajan>tex_milan1: (list "git" `(,git "gui"))
<tex_milan1>thanks!
<apteryx>I see output appearing on tty1; is it logged somewhere?
<apteryx>from dbus-daemon in my case
<civodul>hey apteryx; dbus-daemon writes to the console?
<civodul>we're running it with --syslog-only
*civodul just did a long debugging dive
<apteryx>it does with DBUS_VERBOSE=1
<apteryx>(with using a verbose-enabled variant)
<civodul>ah
<civodul>you'd have to manually redirect its stdout
<apteryx>I see! with the #:log-file argument
<civodul>yes, #:log-file should do that
<kwjc>so I have a working home-configuration.scm with guix home, evilwm is added to the package list... what now? how do I get it to be my window manager? I am using the gnu guix system with defaults (gdm)
<the_tubular>Is libera having trouble ?
<singpolyma>kwjc: does gdm support a "default session" option?
<apteryx>civodul: what did you debug longly?
<nckx>the_tubular: Not AFAIK?
<sneek>nckx, you have 1 message!
<sneek>nckx, raghavgururajan says: Regarding commit f3b64ad54ed7067094d752921f85341cdc0722fe, the check phase fails with `ModuleNotFoundError: No module named 'gajim.gui.emoji_data'`.
<rekado>hmm, shouldn't "git:gui" work as well? If not, wouldn't that be desirable?
<nckx>For what?
<rekado>specification->package
<nckx>specification->package+output
<rekado>ah!
<nckx>Or if you mean ‘let's drop that odd dichotomy’ then yes sure please.
<kwjc>singpolyma: yes, I believe so. on a normal linux distro, you would install window managers from the command line, and it would be available from a cog-wheel automatically. on gnu guix system, you have to edit /etc/config.scm, or the ~/src/guix-config/config.scm AND THEN it magically appears. In theory, from my understanding. as far as finding .xinitrc, or .xsession files... I wouldn't have a clue where to find them
<singpolyma>Make a file named .xsession in your homedir
<singpolyma>It's a shell script, so just put exec evilwm or similar
<singpolyma>Then picking "default session" in gdm should run that
<nckx>Right. You don't find them, you write them.
<nckx>You might need ‘exec dbus-launch evilwm’ if you're into that kind of thing.
<nckx>dbus-launch --exit-with-session, specifically.
<singpolyma>IME usually whoever needs dbus first starts it up, but YMMV
<podiki[m]>(or dbus-run-session maybe? I think I had better luck with that in some cases)
<nckx>Yes, hence dbus-launch.
<nckx>The auto-start is unreliable.
<podiki[m]>I need to submit that xinitrc-xsession package (simply makes it so your xinitrc shows up as an xsession to select, handy for a lot of display managers)
<singpolyma>podiki[m]: why not just use .xsession ?
<nckx>CPU frequency scaling is broken on my laptop again, it won't go above 1.2 GHz.
<nckx>‘current policy: frequency should be within 3.30 GHz and 3.30 GHz.’
<nckx>‘current CPU frequency is 1.20 GHz.’
<nckx>Fun.
<singpolyma>nckx: saving your battery for you ;)
<nckx>I'd rather race to idle, mister Linux sir.
<nckx>Sometimes I wish the kernel were a thing on my desk I could bang on.
<nckx>Similarly to Matrix.
<apteryx>'herd stop elogind' doesn't kill its pid in my case (or is this only me?)
<nckx>Nice try apteryx!
<nckx>
<apteryx>hehe
<apteryx>don't do this unless you are stuck at the login screen of course
<civodul>apteryx: i debugged (tried to) the elogind thing: https://issues.guix.gnu.org/52051#13
<civodul>i thought you were reacting to that :-)
<attila_lendvai>is there a uid cache on guix to ensure that the uid<->username map is stable between system reconfigure's?