IRC channel logs

2023-09-23.log

back to list of logs

<lilyp>for context, we got some apps working, but big core stuff like gnome-settings-daemon is still experiencing failures
<lilyp>and we get world rebuilds on a regular basis, which if you don't like compiling webkitgtk can break your workflow
<lilyp>(my current worktree has like three of them)
<the_tubular>Would it be possible to remove coreutils from a guix shell --container ?
<the_tubular>Kind of like to imit a "distroless" container ?
<the_tubular>Don't need cd, don't need ls, don't need cat, i just want my app running inside of it
<lilyp>you get coreutils in your guix shell container?
<lilyp>$ ls
<lilyp>sh: ls: command not found
<lilyp>is what I get
<the_tubular>Umm, let me try again
<the_tubular>Umm, that worked, I don't know what happened the first time lol
<the_tubular>Sorry then, dumb question!
<lilyp>if you get coreutils without asking for it, you might want to look at propagations or the like
<the_tubular>Is there a simple way to look at those ?
<lilyp>I don't think so; guix graph has --path but that looks at all inputs
<the_tubular>Goof, but that would makes sense as to what happened
<the_tubular>Thanks for your helo
<the_tubular>help *
<user363627>Does guix not have emacs 29? https://packages.guix.gnu.org/packages/emacs
<andrea-bocelli>"emacs — Packages — GNU Guix" https://packages.guix.gnu.org/packages/emacs
<user363627>Hm there's https://packages.guix.gnu.org/packages/emacs-next/
<andrea-bocelli>"emacs-next — Packages — GNU Guix" https://packages.guix.gnu.org/packages/emacs-next
<lilyp>user363627: https://qa.guix.gnu.org/branch/emacs-team
<andrea-bocelli>"Branch emacs-team Guix Quality Assurance" https://qa.guix.gnu.org/branch/emacs-team
<nckx>I've been using emacs 29 for a while. I guess it's called emacs-next or something?
<nckx>(It is.)
<user363627>lilyp: what is that link intended to communicate? I'm lost looking at the webpage
<lilyp>It tells you the difference between master (carrying 29.0.92 as emacs-next afaik) and emacs-team (carrying 29.1)
<lilyp>as you can see, nothing is built yet – I recently pushed that branch a few hours ago so evaluation is underway
<apteryx>would someone have a good touch type training program to recommend (ideally available in Guix)?
<apteryx>maybe the GNU Typist one with its Emacs mode?
<user363627>I see, thank you.
<lilyp>do we have tux typing?
<jaeme>apteryx: klavaro could work
<user363627>lilyp: is emacs-team with native compilation (aot or otherwise)?
<jaeme>Its in guix on the latest version
<lilyp>we already attack our titans with current emacs 28, thanks for asking :)
<jaeme>lilyp: tux typing isn't in guix
<jaeme>yet*
<lilyp>jokes aside, besides emacs-minimal, all emacs packages ought to have native-comp
<user363627>Thanks. For others curious https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/emacs.scm?h=emacs-team
<andrea-bocelli>"emacs.scm\packages\gnu - guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/emacs.scm?h=emacs-team
<apteryx>i
<apteryx>i tried tipp10 and it scanned my hard drive for like 30 s for the initial launch and the interface is in German
<apteryx>klavaro seems ok but it doesn't enforce accuracy (it let me progress through the text even when I mistype)
<jaeme>tipp10 is one release behind latest (2.10 under 3.3.0)
<jaeme>Seems like an refresh is in order
<jaeme>apteryx: maybe that might help you.
<rdrg109>a/b 12
<rdrg109>^ sorry, omit this message
<PotentialUser-36>hello there, my name is fi and I have a question about how to use guix to configure files which would typically be located in system directory-s such as /etc/libinput when on guix.
<PotentialUser-36>I wish to modify the libinput quirk-s of my touchpad but there does not seem to be a field in the `operating-system` specification for doing so, as such i would need to modify the file-s by some other means
<PotentialUser-36>there is a /etc/libinput directory in ~/.guix-packages but it is my understanding that this is a directory managed by the guix package manager and is not for modification or system config
<PotentialUser-36>is the recommended solution for a task of this kind to create a custom package which modifies files in the system?
<apteryx>jaeme: weird, tipp10 latest release on the website is still 2.1.0; I wonder where 'guix refresh' gets the 3.3.0 one
<apteryx>I guess Debian is now using one of the unofficial forks
<jaeme>apteryx: it is the unofficial qt6 fork (https://gitlab.com/tipp10/tipp10/)
<andrea-bocelli>"tipp10 / tipp10 · GitLab" https://gitlab.com/tipp10/tipp10
<jaeme>^
<apteryx>indeed, thanks
<apteryx>i'll try to upgrade it
<jaeme>:-)
<jaeme>The version of tipp10 on Flathub follows this version as well
<PotentialUser-36>hi there, i am getting permission error-s after running reconfigure but it is my understanding that this should be run in userspace no?
<PotentialUser-36>\$ guix system reconfigure .config/guix/system.scm
<PotentialUser-36>activating system...
<PotentialUser-36>guix system: error: symlink: Permission denied: "/var/guix/profiles/system-2-link.new"
<PotentialUser-36>```
<lechner>PotentialUser-36 / i don't think so. please try sudo (or set up deploy)
<PotentialUser-36>ah thanks
<ted-ious>Is guix only binary package based or can you tell it to install everything from source downloads?
<PotentialUser-36>you can disable substitute
<PotentialUser-36>s
<PotentialUser-36>guix is primarily source based, and substitutes are used to allow one to download a binary instead of compiling
<PotentialUser-36>substitutes can be disabled
<nckx>In practice there will always be a binary missing and you'll always build something from source, so that's nice if you like to do so.
<ted-ious>I think it would be nice to be able to have systems where everything is defined in a file and when I want to build one it goes and gets all the source it needs.
<ted-ious>I've been avoiding docker because it seems like all of it is binary only.
<ted-ious>Guix sounds like a combination of a source based system like gentoo and a configuration manager like ansible.
<ted-ious>Am I getting that right?
<nckx>It's somewhere in between, sure.
<nckx>It's certainly a superset of Gentoo. I've not used Ansible (or Docker).
<apteryx>jaeme: fyi ijust pushed: 7e82d4e19f4 gnu: tipp10: Update to 3.3.0.
<apteryx>unfortunately it knows few layouts outside QWERTY
<apteryx>but at least it's now translated to English
<apteryx>ACTION tries packaging the Emacs mode of gtypist
<jaeme>apteryx: Three cheers comrade!
<jaeme>apteryx: How long did it take you roughly?
<apteryx>maybe one hour; mostly because I still fumble around on this new keyboard
<apteryx>interesting, there's support to build Emacs lisp files in Automake
<apteryx>and gtypist has that enabled; I just need to specify --with-lispdir
<apteryx>and add emacs to its native inputs
<apteryx>ah, that's a mode for editing GNU Typist script files (.typ)
<sneek>Welcome back adanska!
<PotentialUser-47>anyone here invested in hwdb configuration being added to `udev-service-type`?
<PotentialUser-47>it would be very useful to me as i hate this chromebook keyboard
<PotentialUser-47>super and caps lock are switched
<PotentialUser-47>i would not be a breaking change i believe as it would add an optional `hwdb` field to `udev-configuration`
<mbakke>PotentialUser-47: sounds like a great contribution :)
<PotentialUser-47>mbakke awesome, i would like to try at a commit, do you know who is involved in maintaining `/gnu/services/base.scm`?
<PotentialUser-47>i am sleepy gorl, i will message the mailing list with the same question when i have aquired z-s and google lets me authenticate my email
<mbakke>PotentialUser-47: after making your changes, try "./etc/teams.scm get-maintainer foo.patch" ... although it looks like /gnu/services/* generally lacks teams :-)
<lilyp>PotentialUser-47: We're currently having this issue on gnome-team, #66099
<sunshine>"[PATCH gnome-team 0/3] Update upower" https://issues.guix.gnu.org/66099
<lilyp>wow, sunshine being useful
<mfg>hey, i'm running the latest guix but still get the problem described in https://issues.guix.gnu.org/54919
<sunshine>"Guix hangs near the end of home operations" https://issues.guix.gnu.org/54919
<mfg>i only have the problem on one of my machines; the newest one
<mfg>Also: even though guix home list-generations lists the new generations and it says all symlinks have been updated successfully, when cat'ing some files i see that they point to old versions
<mfg>I'll have to find out which part of guix home inserts `[ -n "$SSH_CLIENT" ] && source /etc/profile' into my zshenv file, because this breaks the environment when connecting via ssh
<mfg>everything works fine when using the machine directly
<adanska>hi! i'm trying to get python-power working, but the tests keep failing on 'Unable to read /sys/class/powersupply'. does ./pre-inst-env or guix prevent builds from reading outside of its store path?
<sneek>adanska, you have 1 message!
<sneek>adanska, nckx says: Absolutely. We also remove 'cross-platform' from descriptions more often than not as low-value noise.
<adanska>ah cool :)
<adanska>im still learning how guix actually handles search paths and builds so sorry if this is obvious
<adanska>ahh, so builds are run in containers. is there any way for me to expose certain files to the build process for things like tests?
<mfg>adanska: not in the sense that you can just copy them into the container or download them on the fly from some server. These files have to be declared as inputs. The build containers do not have network access for reproducibility reasons
<mfg>let me try to find an example package
<adanska>ahh. i see. thanks :)
<mfg>i can't seem to find a package that does this... maybe someone else knows one
<adanska>thanks for looking for me anyway
<mfg>well *maybe* 0ad and 0ad-data can give you an idea
<mfg>but i'm not sure if this is a good example, as the data is not used for testing purposes but for the game itself
<mfg>maybe also look for other games package definitions
<adanska>thanks for the pointer
<adanska>although im still a little lost..
<adanska>and the state of /sys/class/power_supply is going to be non deterministic, so i cant really import it using the same method `source` does, can i? i cant have a hash for that
<adanska>and since its in a container i cant just expose that directory...
<adanska>hmm.
<ulfvonbelow>your best bet is probably to patch the package to support faking that particular state, or get upstream to do it somehow
<ulfvonbelow>or just disable the tests in question
<adanska>the tests depend on having read access to that file, so perhaps i can just patch it to use some dummy data.
<adanska>which begs the question on how i can package test data in with the package myself without, as you said, getting upstream to do something
<adanska>maybe its easier to just disable the tests. whats the point anyway if its not even testing something real
<adanska>in this case of course! i know mocks are a thing and important
<ulfvonbelow>is there a way to specify where the sysfs it reads from is mounted?
<ulfvonbelow>or is it just hardcoded to /sys?
<adanska>hardcoded
<adanska>its just a constant tho, i could `substitute` it, but what to idk
<ulfvonbelow>maybe (string-append (getcwd) "/sys")?
<ulfvonbelow>after first backing up the file in question so that you can replace it once the tests are finished
<adanska>... would that work?
<adanska>the container still doesnt have a /sys directory, right?
<ulfvonbelow>right, you would need to figure out which files it wants to read from and what its valid contents may look like
<adanska>i see. how would you go about storing that test data if it isnt in upstream?
<ulfvonbelow>if it's not very large, you could just store it in the builder itself
<adanska>but i think i see what youre getting at. make a /sys in the container and populate it with mock data, then sub the path in the program to cwd/sys, and once everything is done go back to the original state
<ulfvonbelow>yep
<mfg>hm, what kind of test relies on being able to read such files?
<ulfvonbelow>note that on my system at least, 'ls /sys/class/power_supply' shows nothing
<ulfvonbelow>so you might be okay with just an empty directory there
<adanska>are you on desktop?
<ulfvonbelow>yep
<ulfvonbelow>ah, I see, on laptop it shows AC and BAT0
<adanska>yeah.
<ulfvonbelow>if it's just read-only access that is required, you could try recursively copying a valid state and storing it in gnu/packages/aux-files, maybe
<ulfvonbelow>hm, actually, that might be a bit tricky since apparently /sys makes heavy use of symlinks, including symlink loops
<mfg>it may make sense to just disable the test, finish the package defintion and come back to this after everything else is done. That way you don't get too frustrated :D
<mfg>(hopefully)
<adanska>thanks fg, i think youre right :) and thanks lfvonbelow for your input too
<adanska>ill circle back haha
<adanska>ive got to learn how to write shepherd services next anyway, which is gonna be a headscratcher enough haha
<adanska>with guile regular expressions, how do you get them to match across newlines?
<janneke>to guile's regular expressions, there's nothing special about the newline character
<adanska>ah. guess my regex is just bad -\.-./-
<janneke>if you're using substitute* however, that works sed-like, line based
<adanska>ooooo
<adanska>i am using substitute aha
<adanska>am i able to pass it a flag or something to work around that?
<janneke>see https://guix.gnu.org/manual/en/html_node/Build-Utilities.html
<sunshine>"Build Utilities (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Build-Utilities.html
<janneke>adanska: no
<adanska>hm. annoying
<ulfvonbelow>if only we had a guile interface to the one true text editor, ed
<adanska>im trying to modify a setup.py file and i need to remove multiple lines and replace them with one line. any ideas on how i could do that?
<ulfvonbelow>cheeky comments?
<adanska>other than having a substitute clause for every line which would be very lame
<ulfvonbelow>hm, for removing multiple lines it'd probably be easier to write a patch
<adanska>oh of course!
<adanska>ur so right
<ulfvonbelow>(I think the tooling on this kind of case could definitely be improved)
<janneke>(I think more upstreams should adopt Guix)
<adanska>where are patches usually kept in guix?
<ulfvonbelow>gnu/packages/patches/
<adanska>cheers
<ulfvonbelow>make sure to add it to gnu/local.mk
<ulfvonbelow>in dist_patch_DATA
<ulfvonbelow>or else you get nasty surprises when running 'guix pull'
<adanska>thanks for the heads up :)
<Guest74>Hello, when i do sudo guix system reconfigure to upgrade my system i get this error: ice-9/boot-9.scm:1685:16: In procedure raise-exception:
<Guest74>Git error: object not found - no match for id (4f35ff1275e05be31f5d41464ccf147e9dbfd016)
<Guest74>What can i do?
<Guest74>the /etc/config.scm file is intact
<adanska>hmm. is there any way i can run a command as root in ./pre-inst-env?
<adanska>i get an error from sudo saying it needs to be owned by uid 0 and have the setuid bit set
<adanska>it just means i dont have a way of testing auto-cpufreq otherwise
<ulfvonbelow>to be clear, are you trying to run the `check' phase of the build with sudo, within the build environment?
<adanska>no, the build
<adanska>oops
<ulfvonbelow>only inputs from the store are accessible during that, and nothing in the store is allowed to be setuid
<adanska>no the build's succeeded, im trying to run it in a `guix shell`
<ulfvonbelow>ah
<ulfvonbelow>hmmm, well, what does 'type -P sudo' say?
<ulfvonbelow>on guix system it should be something like /run/setuid-programs/sudo
<adanska>it says 'type: bad option -P' :/
<ulfvonbelow>huh
<ulfvonbelow>okay, then 'which sudo'
<adanska>tried it in my console instead of the emacs shell and that seemed to work? anyway its /gnu/store/i3jzk1l893lwihgvfvmbhm20p86lmwyg-profile/bin/sudo
<adanska>
<ulfvonbelow>ah yeah, any sudo in the store isn't going to work, did you do 'guix shell ... sudo'?
<adanska>yeah
<ulfvonbelow>that would tend to put the sudo from the shell ahead of the system sudo
<adanska>aah
<adanska>how can i use the system sudo then?
<ulfvonbelow>if you're not using --pure (I don't know what's the default in 'shell', I'm still an old fogey using 'environment'), it should be in the resulting PATH within the 'guix shell'
<ulfvonbelow>you could tell 'guix shell' to explicitly not modify PATH, but then that also allows in a bunch of other programs other than just sudo
<ulfvonbelow>you could always just refer to the system sudo explicitly, with its full path
<adanska>ah! worked! thanks :)
<janneke>ulfvonbelow: it's spelled "type -p"
<janneke>hmm, type -P also works in bash -- /me didn't know that
<janneke>sorry for the noise ;)
<jackhill>hmm, I've seen `Git error: object not found - no match for id (ec130e1a1b7f3b87b1a6e626754f7e7a07f6b717)` when doing guix system reconfigure on two different systems.
<jackhill>on the first one, removing root's cached checkouts got passed it. Is there some testing that I shall do on the second one?
<gabber>i have this https://termbin.com/njpj guix.scm package definition and use it on a dummy "hello world" C program (in the mentioned hello.c source file). when i build that package with $(guix build -f guix.scm --target=riscv64-linux-gnu) i get a x86-64 ELF ...? is this a bug? i'd expect a RISC-V 64bit ELF...
<gabber>using the --system=riscv64-linux option this produces the result i hoped for
<jlicht>Has anyone had a look at (an initial attempt at packaging) bun already?
<radio>Is there some kind of article I can read on how to contribute to guix? I would like to add some packages to the main repos, improve some services and try to push forward some ideas like using eris to distribute guix subsitutes in a decentralized way
<gabber>radio: the documentation should have that covered
<radio>Hm, right
<gabber>feel free to ask if you have any more detailed questions or are unsure about your patch formatting
<radio>Right
<janneke>gabber: you have (invoke "gcc" ...)
<janneke>although you're attempting to set CC, that won't work unless you use $CC
<janneke>see also: cc-for-target in other recipes
<zamfofex>jlicht: I have investigated Bun a few months ago (and at some point a few months before then too), but it uses its own fork of various programs and uses the network during build, which makes it kinda awkward. I haven’t tried it for too long, though, but one big obstacle is that uses its own fork of WebKit, for example.
<nckx>gabber: Also, that (lambda _ (#t)) isn't going anywhere (try typing ‘((lambda _ (#t)))’ in a REPL), which is a sign that it's never actually used.
<nckx>You want (lambda _ #t) or the more idiomatic (const #t).
<gabber>thanks, you two!
<janneke>gabber: also, if you don't choose to use cc-for-target, look at %current-target-system
<janneke>and "out", ie, this
<janneke> (lambda* (#:key outputs #:allow-other-keys)
<janneke> (let* ((out (assoc-ref outputs "out"))
<janneke>can be replaced by #$output
<janneke>you can just use (lambda _ ... #$output)
<gabber>awesome! now i have to debug why OpenSBI thinks it needs a make target for my payload
<jlicht>zamfofex: thanks for sharing your experience. I was already slightly worried when step one included 'install bun' :(
<ulfvonbelow>I wonder if there are any good places for ranting about software that's terrible to try packaging. I get the sense it could be cathartic and possibly educational.
<janneke>upstream's development mailing list?
<ulfvonbelow>well, that would be the productive option, but I had a more "commiserating" atmosphere in mind
<janneke>ACTION is always disappointed to stumble about uninformed complaints somewhere on the interwebs, that were never reported to them
<janneke>*stumble across
<apteryx>TTdo
<apteryx>do I correctly understand that local-file can be a directory when recursive? is #t?
<ulfvonbelow>yup
<apteryx>neat
<degauss>nckx: Hi! Regarding yesterday's discussion on "git-predicate", I was to reproduce the steps of Ludo's post on Guile itself, when I found that it already has a "guix.scm -> .guix/modules/guile-package.scm" which performs a similar workaround: (git-predicate (string-append (current-source-directory) "/../..")), so yeah, the post needs fixing (thoug git-predicate's doc may not be completely clear).
<nckx>Hmm. Thanks for pointing it out, I still don't get it, I'll have to take another look to satisfy myself.
<nckx>If this really is intentional, the behaviour described by the docs seems preferable to me. Otherwise it's just a fancier (file-exists (string-append (dirname (file)) "/.git")) with git check-in tracking, no?
<nckx>ACTION anyways.
<stocastico>hello guixers, how would I go for debugging a not-booting arm64 configuration? I can reach u-boot and it quickly flashes the kernel store path so i believe control is passed to the kernel but then i get a black screen. i can provide code if needed
<zamfofex>stocastico: I feel like (part of) your system configuration might be helpful.
<degauss>nckx, yeah I think I see (and agree with) your point. It's the expressions "a file is part of the Git checkout" and "lie within" in git-predicate's doc which may give the wrong impression. Not sure what the original intent was, though... Thanks anyway!
<stocastico>@zamfofex i'm trying on a pinebook-pro and even the pinebook-pro-barebones-os from (gnu system images pinebook-pro) didn't work. i built several variants, here they are http://paste.debian.net/1292917/
<sunshine>"debian Pastezone" http://paste.debian.net/1292917
<stocastico>@zamfofex with all of them i'm able to reach the bootloader and grub's debug output and whatever u-boot prints in a nanosecond appear to tell that control is passed to the kernel, but i'm no expert
<geri>hey, is there a way to install multiple packages specified in a file without guix home?
<ulfvonbelow>sure, guix package --manifest
<geri>aw yeah, thanks
<bumble>is there a known issue w system reconfigure today? I tried to use it but there is an undecipherable runtime error
<pastor>Good evening. I'm checking out some issues that I have with 'emacs-guix' to fix them. I've already submited a patch to fix one of them. Now I'm noticing that 'emacs-guix' doesn't find packages from user channles. Looking at the internals I see that its looking for the 'profile entries'. So to check out what's happening I'm checking what channels the profile sees.
<pastor>For example `guix describe -p ~/.config/guix/current/` shows all the expected profiles but `guix describe -p ~/.guix_extra_profiles/emacs/emacs/` does not.
<bumble>this is the error I'm seeing https://paste.debian.net/1292920/
<sunshine>"debian Pastezone" https://paste.debian.net/1292920
<pastor>Is this intended behaviour? Shouldn't the installed profiles have information about the channels it where built from?
<pastor>bumble: Not sure about the error. Have you tried removing `~/.cache`?
<lilyp>the commit points here fwiw http://git.savannah.gnu.org/cgit/guix.git/commit/?id=4f35ff1275e05be31f5d41464ccf147e9dbfd016
<sunshine>"guix.git - GNU Guix and GNU Guix System" http://git.savannah.gnu.org/cgit/guix.git/commit/?id=4f35ff1275e05be31f5d41464ccf147e9dbfd016
<mirai>ulfvonbelow: funny, I was thinking on that topic as well
<bumble>pastor: I have not tried that and did not know about `~/.cache` should I try removing it?
<mirai>It pains me to see so much patching done in Guix for packages
<lilyp>at the very least limit it to ~/.cache/guix
<lilyp>right, reminds me I still have to upstream our nautilus hack
<ulfvonbelow>is there any storage with capacity beyond a DVD that is "passive"?
<mirai>I do go the extra mile to upstream the changes or poke them in hopes to have things fixed
<ulfvonbelow>that is, could be securely loaded in any old computer without risk of any nefarious hardware shenanigans
<pastor>bumble: listen to lilyp. I said cache to make sure you don't have anything weird there but you will remove certain configurations like configurations for `mu` mail indexer
<pastor>you can first try to narrow it down to only `~/.cache/guix` you also have `~/.cache/guile`
<mirai>its nice when everyone wins (receptive upstream & less hacks in Guix) though its demotivating when your report or patch to upstream simply ends up ignored
<bumble>pastor: I deleted everything but `~/.cache/guix` and system reconfigure failed afterward again
<lilyp>ulfvonbelow: tape
<mirai>or when you see that the issue has already been reported yet there's no signs of improvement (and off we go to pile more hacks or decode the mess)
<ulfvonbelow>true, though my understanding is that tape has a pretty high barrier to entry
<mirai>ulfvonbelow: BD?
<ulfvonbelow>do those work with free software? I've never tried them.
<lilyp>this mu mail reader looks weird; why can't it store information in regular directories like ~/.config?
<mirai>or SDCards but toggle the read only fuse (something something emmc/spi command)
<mirai>irreversible iirc
<ulfvonbelow>do sd cards have any embedded controllers?
<mirai>they do
<mirai>large capacity ones can even have SSD like smarts
<ulfvonbelow>but there's no risk of them pretending they're a keyboard or anything like that, right?
<mirai>afaik SDcards aren't USB
<mirai>I expect them to act like storage devices BUT that reminds me of one thing
<mirai>there's some SDCards that have wireless/wifi capabilities
<ulfvonbelow>w h a t
<mirai>how do they work = no idea
<mirai>but sdcards speak SPI if I'm not mistaken
<mirai> <https://www.bhphotovideo.com/c/product/1021674-REG/toshiba_pfw032u_1bcw_32gb_flashair_wireless_sd.html>
<mirai>ah, it acts as a wifi AP
<mirai>not as an adapter
<pastor>bumble: I meant to delete precisely `~/.cache/guix`
<ulfvonbelow>an sdcard wouldn't have direct memory access, right?
<mirai> <https://hackaday.com/2013/11/12/keep-your-sd-cards-data-safe-with-the-sd-locker/>
<mirai>PERM_WRITE_PROTECT
<bumble>pastor: oh gosh ok
<bumble>pastor: same error after deleting `~/.config/guix`
<pastor>🫤
<pastor>bumble: does `guix system build` works?
<somenickname> https://ci.guix.gnu.org/search/latest/ISO-9660?query=spec:images+status:success+system:x86_64-linux+image.iso it doesn't do anything for me
<somenickname>return 500
<somenickname>just want to dl latest ISO and it is again not working
<pastor>bumble: I have to go now. I hope someone can assist you further.
<somenickname>Why?
<bumble>pastor: thank you
<bumble>oh he's gone
<nckx>somenickname: https://ci.guix.gnu.org/build/2025000/details
<sunshine>"Build 2025000" https://ci.guix.gnu.org/build/2025000/details
<nckx>https://ci.guix.gnu.org/download/1042
<nckx>sunshine is now downloading an 860-MiB ISO.
<ulfvonbelow>mirai: I'm more so interested in storage that the host doesn't have to trust than in storage that doesn't have to trust the host
<nckx>So the ISO images come from https://ci.guix.gnu.org/jobset/images, and it seems that the ‘status:success’ query in your URL isn't doing the expected ‘give me the last successful build’.
<somenickname>nckx: Thanks.  About some months ago I tried also dling latest ISO and it was not working.  Always seeing the same issues is annoying.  Is there something I can do about this?
<somenickname>Did that link just crash the bot?
<lilyp>sure hope someone will code up a wiser one
<lilyp>just repeating the url is not helpful
<mirai>IMO it just needs to do whitelisting (for websites of interest that also happen to come with useful <title> elements)
<somenickname>IMO such a bot is only useful for issues.  So you can chat about #65052 and the bot returns link to issue as well as the topic.
<nckx>I was joking about it downloading the ISO but I think I might have spoken death.
<nckx>The URL is useful when writing #64321, but yes.
<somenickname>Ah.  I thought sunshine made an action.  Didn't realized it is in fact a message from you.
<vhns>What hardware does Guix's CI run on?
<nckx>Rack of AMD Epyc thingies.
<somenickname>nckx: Maybe create a FAQ, since I asked that question in the past as well.  Therefore you can just send a link instead of retyping everything again.
<nckx>Which question, somenickname?
<nckx>I sometimes link to my own logs, but finding them's the problem.
<somenickname>nckx: Which HW the build farm runs on
<nckx>Ah.
<nckx> https://logs.guix.gnu.org/guix/2022-10-12.log#160502
<lilyp>good thing we don't need graphics on those
<somenickname>Seeing a 24 Core Epyc is just funny to me
<nckx>Why?
<somenickname>Well, Epyc is a Server CPU which can have up to 128 Cores.  High end consumer CPUs have also 24 Cores.
<ulfvonbelow>ACTION is living back in 2012 hardware-wise, anything above 4 cores sounds like pretty intense stuff
<nckx>Yeah, core counts seem to be increasing.
<somenickname>Not sure but I think that is the reason AMD Threadripper stopped production.  There was no sense in making those anymore.
<vhns>somenickname: not exactly
<vhns>You still have AMD making that same line of processors
<vhns>But only to OEMs
<vhns>And for tons more $$$$
<nckx>DELL's cookie dialogue: ‘Everyone's the acceptor’ fine wat.
<nckx>Anyway, seems like these boxes are from 2017 or thereabouts.
<somenickname>guix pull has the same compute time for 1k commits or 1 commit?
<lilyp>only the signature check is o(n) the rest is o(guix-size)
<somenickname>Ah perfect.  Thanks
<nckx>I'm not sure it was meant as good news, but at least it's consistently intolerably slow.
<somenickname>Is there something to check the bandwidth of ci.guix.gnu.org? My VM takes seconds to reach 1/10 of a percent.
<nckx>Well, there's your check :-/ I'm not sure what exactly is going on but it seems like peering to one half of the planet is fine, and to the other half it's atrocious.
<nckx>I get >40MiB/s.
<vhns>I tried looking through the documentation, but I couldn't really find much in the terms of mirrors for Guix. Is it normal for the download speeds from the CDN to be slow?
<somenickname>Oh man.  10 mins. ago I had no issue
<nckx>But that's in Germany.
<somenickname>I am in Germany
<nckx>vhns: Which CDN?
<nckx>somenickname: See, it's weird.
<somenickname>Maybe it is just a message to me?  Like it doesn't like me or something
<nckx>‘Mirror’ isn't a straightforward thing in Guix, but check out https://libreplanet.org/wiki/Group:Guix/Mirrors
<ulfvonbelow>the coal for christmas was too expensive; you're getting slow download speeds instead
<somenickname>Oh nvm.  Now it works full speed again.
<vhns>nckx: 2. &message: "https://ci.guix.gnu.org/nar/lzip/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37: HTTP download failed: 504 ("Gateway Time-out")
<vhns>I may be doing something wrong
<nckx>We don't use any CDN. That message is from the nginx proxy on the same machine.
<nckx>(And in general, 50x is HTTP for ‘you did nothing wrong’.)
<nckx>I didn't get that time-out for that same URL.
<vhns>I see, thanks
<nckx>So the build farm is hosted my the MDC, a research institute in Berlin. While they built a pretty cool datacentre in their shed, it's not a commercial grade tier-whatever enterprise since their focus isn't on hosting.
<nckx>*by
<nckx>So networking is oddly random: great for some, terrible for others.
<vhns>I wonder if I could push peopl at my uni to host a build farm or a nearby one...
<nckx>We'd be happy to discuss that, maybe a mirror if a build farm isn't an option.
<jaeme>Okay now I know the pain of rust crates
<jaeme>Seemingly innocent crates just casually have entire game engines as inputs
<nckx>Welcome to the club. Your complimentary tetanus shot is in the mail.
<jaeme>I have 4000+ lines of just rust crate dependencies for a simple wallpaper changer daemon
<jaeme>But I'm in too deep now
<nckx>That is excessive…
<nckx>ACTION AFK, but stay strong.
<bumble>jaeme: wow that is dedication. I'm rooting for you
<ulfvonbelow>ACTION imagines contacting upstream for every rust package with "WTF"-tier dependency graphs
<nckx>Assuming the package isn't actually insane when installed through cargo: is this because the current Guix build-system requires more (development) dependencies?
<nckx>Or does it really download the Unreal Engine or whatever.
<nckx>(It better not be Unity.)
<somenickname>Wonder if he is faster doing it himself in Rust as of packaging it for GNU Guix with dependency hell.
<somenickname>nckx: Okay the issue is in fact BTRFS (removing GDM and having a weird Guix state).  I dled the latest ISO with GNOME and removed gdm-service-type and xorg config.  sda3 is configured as EXT4.  It worked normally and the same with sda3 as BTRFS resulted it in still having GDM with guix system describe not showing any channels.
<somenickname>nckx: https://paste.debian.net/1292923
<nckx>When you originally (and unsuspectingly) removed GDM and the system went bonkers, I assume you hard-reset the machine?
<nckx>Thanks for the data point!
<somenickname>yes,  I hard reset
<nckx>ACTION greps nix/ for fsync, is surprised at the 0 results, but this is not conclusive.
<nckx>Nix only added these in 2022: https://github.com/NixOS/nix/commit/1b595026e18afb050de3f62ded8f7180bc8b2b0e
<nckx>I'll have to (1) read up on exactly which dance POSIX requires for data to be considered safe and (2) test whether it completely murders guix-daemon performance, which, probably.
<nckx>Because this is unix and we can never have nice things.
<zamfofex>(I wish I could have a computer with more than four cores at some point. 😅)
<nckx>I have four cores and still have friends?
<nckx>(8 threads though, maybe that's why.)
<mekeor>ACTION is fine with two cores
<mekeor>(i just wish i had more time. both for building software from source locally. and for contributing to guix' emacs-team.)
<ulfvonbelow> https://en.wikipedia.org/wiki/SD_card: "Hosts which implement version 7.0 of the spec allow SD Cards to do direct memory access, which increases the attack surface of the host dramatically in the face of malicious SD cards"
<ulfvonbelow>DVDs and tape it is I guess
<nckx>Wow.
<nckx>I have no words.
<nckx>Which is new.
<ulfvonbelow>so now the line of inquiry becomes: just how many DVDs does it take to store the source for every package in guix?
<rekado>I noticed that when I use lualatex I end up with a directory called ’{’ containing a directory named {/gnu/store/…-profile/share/texmf-dist/… as well as a directory named {/home/rekado/.guix-home/profile/…
<rekado>the files are for luaotfload-lookup-cache.{lua,luc} and similar files.
<rekado>looks like some variables in the texlive config aren’t properly expanded