IRC channel logs


back to list of logs

<antipode>Myself, I would find such a thing useful for the ipfs service, to avoid slowing down mobile connection when most of the time I'm not using ipfs at all.
<antipode>(OTOH that sounds like a job for socket activation ...)
<mekeor[m]>myself, i'd use it for opensshd
<rekado>could somebody please restart ?
<rekado>I get a 403 on trying to restart it; I wonder if something???s broken with the client certs or if it???s just me.
<rekado>(maybe I need to issue myself a new client cert????)
<pkill9>would it be a bad idea to rely on /run/current-system/configuration.scm as storage for that configuration.scm
<pkill9>but with backup naturally
<user>night guix
<silicius>I'm getting "getting status of `/tmp': No such file or directory" on guix package -u
<silicius>there's no /tmp, not sure why
<VesselWave>Hello! I am edit my guix configuration
<VesselWave>Sorry ^
<VesselWave>Hello I edit my guix system config in org mode in Emacs. There is a grater than (>) symbol in services definition. In org mode scheme codeblocks this symbol is identified as parenthesis, because of that my configuration has incorect indentation. It doesn't happen is scheme mode. Maybe you can tell me where I should ask this question?
<stevenroose>Where can I find logs for a service?
<lechner>stevenroose: Hi, I am not sure if the shepherd has a centralized logging facility. Your best bet is probably in /var/log/messages or /var/log/daemon.log, i.e. the upstream config
<yewscion>Hey Guix, does anyone currently use fcitx5 and icecat through their guix home profile? For some reason icecat (and ungoogled-chromium) are not picking up fcitx5, and so I can't change my input method in a web browser.
<apteryx>rekado: I also get 403 forbidden... I'm guessing our certs got lost in the migration?
<apteryx>not sure. I thought it was working recently
<apteryx>why can't gethostname work inside a guix build container?
<apteryx>that routinely fails suite that make use of it, even they only deal with localhost
<apteryx>*test suites
<apteryx>how can I see this in a .drv build: In procedure load-thunk-from-memory: incompatible bytecode version
<apteryx>more context:; while 'make check-system TESTS=basic'
<nanami><yewscion> "Hey Guix, does anyone currently..." <- Do you have fcitx5-gtk in your profile?
<yewscion>nanami: I do. I have also set the relevant env variables ($GTK/QT/SDL_IM_MODULE) to "fcitx", as well as setting $XMODIFIERS to "@im=fcitx". It seems to work in every program I use except for those two web browsers; emacs and urxvt work fine.
<yewscion>I found this [1] post saying it might help to make it system-wide rather than profile-wide, so I'm currently reconfiguring to put the above variables in /etc/environment instead. [1]:
<lizog>yewscion: you have to export the "GUIX_GTK3_IM_MODULE_FILE" environment variable
<lizog>someone i know wrote a helper procedure:
<lizog>"GUIX_GTK3_IM_MODULE_FILE" has to point to a "immodules-gtk3.cache" file
<yewscion>lizog: Awesome, thanks! I'll try that out once this reconfigure is done.
<yewscion>lizog: That worked! Thank You so much for Your help!
<lizog>yewscion: glad it helps :)
<lizog>i myself also spent a lot of time figuring out how to make fcitx5 works properly
<rekado>apteryx: my cert expired on Oct 31, 2022
<rekado>so I guess I???ll need to issue myself a new one, but the instructions on how to do this were lost in the migration.
<civodul>Hello Guix!
<rekado>civodul: Hello!
<unmatched-paren>morning guix!
<tribals>Hi, folks!
<mekeor[m]>hello guix :)
<mekeor[m]><VesselWave> "Hello I edit my guix system..." <- i would be interested to see such a org-mode guix-system-declaration! could you paste it? maybe that'd also help us understand your issue :)
<civodul>no shepherd memory leak on bayfront, la la la
<mothacehe>civodul: amazing :)
<civodul>who would have thought there'd be a happy end? :-)
<ennoausberlin>Hello guix
<civodul>~10 days debugging that
<ennoausberlin>Are there any restrictions to use Guix internally as build environment for non-free applications?
<civodul>ennoausberlin: nope, you can do whatever you want with it :-)
<civodul>if you're running 'guix publish', you can end up distributing these non-free applications though
<mekeor[m]>did anyone succeed in installing guix system on pine64's single-board computer "quartz64" (model a, 8gb memory, 64-bit ARM cortex-a55 quad-core CPU)?
<ennoausberlin>mekeor[m]: It runs on a Pinebook Pro (similiar device), but you might have a look in the guix sources which bootloader definitions already exists. I am not on my computer, but it might work. Raspberry PI is another ARM device and it is supported in some way
<cbaines>for some resson, the I'm seeing /run/current-system/... directories appearing on several search paths twice
<cbaines>I've been checking the search paths set in /run/current-system/profile/etc/profile
<civodul>is that the case in a VM?
<efraim>can I specify --system for 'guix system init'?
<mekeor[m]><efraim> "can I specify --system for 'guix..." <- what should that parameter specify?
<mekeor[m]><ennoausberlin> "mekeor:" <- i guess, i'd need to introduce RK3566 to guix for quartz64-a to work
<lizog>talking about raspberry pi, is guix now installable on it? i see there is a patch series about it(, but it seems like not completely merged
<tatsumaru>in guix can guile completely replace bash scripting? is there any point in learning bash if you already know guile?
<efraim>mekeor[m]: to be able to use 'guix system init' and install guix for a different architecture
<ennoausberlin>lizog: I used the system config coming from pantherx and could manage to boot it, but without graphical environment and it seems tricky to grow the sd card partition afterwards, but it worked for sure
<ennoausberlin>lizog: For now I have a debian running on the PI 400 and use guix as package manager only, but it should be possible to switch to full guix os on the PI
<lizog>ennoausberlin: good to know! i ordered an uconsole (made by clockworkpi) and thinking about installing guix onto it, when it's shipped
<lizog>oops, so rpi 4 and rpi cm4 are actually different?
<unwox>uconsole looks sick!
<ennoausberlin>lizog: I don't know. I have a PI 400 and I am more an end user on these devices. Giving me a soldering iron will result in a broken device :)
<rekado>tatsumaru: yes, it can completely replace shell scripting, but the shell language is optimized for the task, whereas Guile is a general purpose programming language
<rekado>learning a little bit of bash can???t hurt because shell scripts are ubiquitous
<lizog>unwox: yeah indeed!
<lizog>i think i'm on the opposite way: know some shell script and would like to replace it with guile...
<fidel>Hello everyone! I ran guix upgrade today and pre-commit consistently fails to install (tests fail at check stage). I'm wondering if it happens to everyone
<tatsumaru>rekado: i see, thanks
<cbaines>civodul, to answer your earlier question about search paths, yes I see that same behaivour in a VM
<cbaines>in particular, NAUTILUS_EXTENSION_PATH which I was looking at in relation to
<civodul>cbaines: perhaps that's only within GNOME?
<civodul>mothacehe & all: it's weekly release progress report day :-) anything worth mentioning?
<mothacehe>i have a patch for the finalizer issue which is to remove the finalizer other than that nothin new :)
<mothacehe>i'll pay a closer look to the dump issue this week-end hopefully
<mothacehe>the mail highlight will be the leakage fix for sure :)
<civodul>heh :-)
<civodul>mothacehe: i'm looking at the parted issue
<civodul>mothacehe: how did you create /tmp/test.img?
<civodul>i used "guix system image -t efi-raw gnu/system/examples/bare-bones.tmpl" but then there's only one "device" in it
<mothacehe>qemu-img create -f qcow2 /tmp/test.img 3G
<mothacehe>that device + my hard drive are the two devices
<civodul>hmm ok
<civodul>so you ran it as root?
<civodul>ah yes, that's mentioned in your message
<lechner>civodul: Hi, can I somehow file an objection to the 'notabug' tag here? :)
<lechner>or maybe i misunderstand the sitation
<pkill9>where is guile' load* ?
<pkill9>where is guile's load* ?
<rekado>lechner: you can explain why you think so
<rekado>if you have a proposal on what the GC should be doing instead when it can???t access files: let us know
<rekado>this problem also exists on HPC where the daemon may be running on a system that doesn???t have access to users??? group shares
<lechner>rekado: i am probably misunderstanding the situation. where are my roots for Guix Home generations stored, and how are they handled when $HOME is inaccessible to the guix daemon?
<rekado>GC collects garbage by keeping only those things that are accessible from roots.
<rekado>if it can???t access some roots then it can???t possibly know that those things are not garbage.
<pkill9>why can't I access launch-environment from guix/scripts/environment via (@@ (guix scripts environment) launch-environment) ?
<lechner>rekado: so my active roots are being collected?
<cbaines>lechner, an GC root has to exist. If it doesn't exist (from the viewpoint of the guix-daemon), it can't possibly be a GC root.
<lechner>right, but FUSE by default does not allow root to see into the mounted filesystem. meanwhile, it has many advantages over LUKS
<lechner>cbaines: ^
<civodul>lechner: hi! that the GC needs to "see" roots is a known limitation, but there's no way around it in sight
<civodul>(it's usually not a limitation, but in your case it is)
<cbaines>sure, but that just means that using a FUSE filesystem isn't really compatible with the way Guix handles GC
<lechner>civodul cbaines: could we perhaps introduce two levels of user directories, one that is accessible (which I call "/acct/$USER/away" on my systems) and one that isn't (/home/$USER)?
<cbaines>lechner, maybe I'm missing something in the original bug report. What's significant about ~/.cache/guix/profiles/ ? Surely as a cache directory, that should be removable without any trouble
<cbaines>as for a users profile, I think the roots are in /var/guix/profiles, so they'll stick around even if /home is inaccessible
<lechner>cbaines: like i said, i am probably misunderstanding. nckx and i did some experiments that suggested that my active Guix Home generations were being collected
<cbaines>OK, that isn't obvious since the bug report doesn't mention guix home
<lechner>cbaines: i think links when through $HOME
<cbaines>(I also don't use it yet, so I'm not sur ehow it works)
<lechner>cbaines: wnet
<lechner>sorry, poor speller
<cbaines>no worries
<cbaines>maybe #58640 needs reframing as a feature request for guix home to support use cases like yours
<lechner>cbaines: i think it's an issue for the daemon. it also applies to open 'guix shell' sessions
<gabber>hi! i've run into a (somewhat strange) issue and hope maybe someone can hint me in the right direction. i have a package that get's un-tar-red, and i try to invoke a file from that archive -- this results in a 127 error code. i test the file with both is-executable? and is-elf? (both return #t). any ideas where/how this happens? i can invoke the program manually without issues.
<lechner>cbaines: Can Guix Home choose to place the roots elsewhere?
<lechner>cbaines: maybe it's not an issue with the daemon, but with whoever places the links
<cbaines>lechner, I don't know, as I say, I don't know how it works, but I guess it might be possible
<lechner>cbaines: my question was more general. who places the links to the active roots in the user's home directory. is it Guix Home or another part of the system?
<cbaines>lechner, I'd guess guix home might be doing that
<lechner>cbaines: thanks!
<lechner>rekado: what is so special about HPC in the Guix context, please, and why are user shares there inaccessible there, as well?
<rekado>gabber: is this a compiled binary? If that???s the case it probably has a reference to the loader at a place that doesn???t exist
<lechner>rekado: those are some impressive deployments, btw
<gabber>rekado: yes, it is. WDYM with "the loader"? i checked for missing shared libraries with `ldd', this looks good
<rekado>gabber: /lib64/
<nckx>apteryx, rekado: 403 isn't related to the migration. The server certificate simply expired after 3 (IIRC) years. I tried to create a new one with the same private key, but the instructions were lost, and the previous one seems to be created with a tool or tutorial that no longer matches what's there.
<nckx>I'll give it another try this evening, or else we'll just all get new client certs for Christmas.
<nckx>With a longer server-side expiration; this short one didn't really protect against anything.
<cbaines>I'm trying to run a system test, but it seems to have got stuck around here: Please wait while gathering entropy to generate the key pair;
<cbaines>any ideas, and does anyone know what key pair is being generated?
<nckx>mekeor[m]: opensshd actually already supports disabling auto-start, as a special-case hack. See the installation image.
<nckx>cbaines: sshd.
<cbaines>nckx, hmm, I can't see how that would be involved in the system
<cbaines>it's the guix-build-coordinator system test that I'm trying to run
<nckx>Does it not run ssh-daemon?
<stevenroose>Curiously the `bash` package seems to put a symlink `/bin/sh` to the gnu store, but not `/bin/bash`..
<stevenroose>Is there a reason it doesn't? Is there a way to make it do that?
<stevenroose>Had a bash script that didn't work "/bin/bash: no such file or directory", so I installed the bash package, but that didn't change anything and it looks like I already had it because scripts with `/bin/sh` do work and that links to the bash package :p
<rekado>stevenroose: are you using Guix System?
<nckx><Is there a reason> Yes, POSIX. Also, I tried removing it once and stuff broke, alhough that could be fixed. You can use extra-special-file services to add symlinks.
<cbaines>nckx, it doesn't, either sshd is involved in many tests, or this message relates to something else. I see it output in the nginx test for example
<stevenroose>rekado: I reconfigured my system after adding bash to the package list in the cnfig file.
<nckx>Packages don't add things like that.
<stevenroose>nckx: but Guix System does in some way and by default
<stevenroose>I don't have any `sh`-related thing in my config. So I guess if it's not the `bash` package doing that, then how can I make "the thing that made /bin/sh" also make /bin/bash?
<nckx>See above.
<nckx>Making me type extra-special-file on mobile again is really cruel ????
<rekado> /bin/sh is a POSIX requirement, so we provide it
<nckx> /bin/sh is not created by adding anything to the system package list. That's not what system packages (can) do.
<nckx>Even adding /usr/bin/env was controversial. If your script relies on /bin/bash, I think it should just be fixed not to.
<nckx>cbaines: Hmm. What makes you say the VM doesn't run sshd?
<cbaines>because I can't find any configuration to make it
<nckx>Not through %simple-os or whatever?
<nckx>I'm not positive since I can't check, but I am surprised.
<cbaines>again, I'm looking, but I can't see it
<cbaines>checking in the VM used for the nginx system test, I can't see ssh-daemon in hurd status
<cbaines>anyway, I think I've found the mistake I've made in the shepherd config, so I'm no longer stuck
<nckx>Sure. You're probably right. Strange that you couldn't find it though. I would've said /etc/guix but then that string would be in Guix.
<nckx>The only other likely culprit is sshd :-/
<nckx>cbaines: So it wasn't stuck due to lack of entropy?
<cbaines>nope, I think it was because I'd got the wrong type of thing in a shepherd service start bit
<nckx>That string is in Guix. guix/scripts/archive.scm
<stevenroose>nckx: thanks I guess :)
<stevenroose>But yeah you're right, if the script needs bash, I should run it with bash I guess
<stevenroose>nckx: And thanks for typing extra-special-file twice for me ;)
<nckx>Well, on Guix System, /bin/sh is guaranteed to be bash, I just meant that assuming '/bin/xxx' at all is somewhat frowned upon by several people.
<apteryx>what is the preferred spelling for 'non free'?
<apteryx>it's all over the place in our source
<apteryx>civodul: err, apologies, it looks like I forgot to --to= the right issue number about my 'guix shell --symlink' v2
<stevenroose>apteryx: I'm new, but I would say `non[ -]?free` would be sufficiently consistent ..
<tricon>i'd vote for "non-free". feels "tokenizable" (subjective).
<stevenroose>Something else, so I have this binaries that I took from my previous system, I think they're just downloaded binaries from x86_64 releases, and they miss one link: " => not found". I found that the gcc package contains that file in the store, but it somehow doesn't link.. Am I doing something wrong? Do I need another package other than just `gcc`?
<m4t3>Is it possible to Install a Desktop Environment in the Hurd VM in GUIX World?
<tricon>stevenroose: you'll need to use patchelf on those.
<tricon>if you grep the Guix source, you'll see many examples.
<apteryx>GNU/FSF appears to prefer "nonfree"
<stevenroose>tricon: thanks
<tricon>apteryx: good to know, thank ya.
<apteryx>I guess we should stick to use "nonfree", for consistency with GNU
<nckx>nonfree is Very American (so looks odd :), non-free is Rather More British. It's one of those deals.
<nckx>Non free is, I think, just wrong.
<apteryx>nckx: re certs, thanks for the info, it did "protect" against instruction bitrot :-P
<nckx>If only we'd kept the instructions!
<nckx>I was thinking the same thing: force rehearsal, but I'm not sure that's a strong argument.
<m4t3>nonfree is the preference for GNU Hackers when referring to forbidden stuff.
<nckx>Sure, because they bias American.
<apteryx>I can't find a reference in GNU standards, but I remember reading somewhere that American English is used everywhere for consistency.
<tricon>how about we coin the acronym: NFT - nonfree technology? what could go wrong!?
<nckx>Expensive and worthless, perfect.
<stevenroose>tricon: so patchelf seems like it only works once you have the /gnu/store/...gcc/lib in your LD_LIBRARY_PATH. I did that manually now, but shouldn't it somehow be linked from ~/.guix-profile/lib?
<rekado>huh, so I finally got plymouth to show the splash screen, but ??? it only happens once the system has booted
<rekado>probably because it doesn???t see any display devices until after shepherd starts the udev-service
<tricon>stevenroose: you could manually link everything together, though that would be brittle. would be better to have a simple package that includes a step for linking. i'll DM you an example.
<rekado>the udev-shepherd-service runs pretty late; I wonder if we could move it up.
<civodul>ACTION votes for "non-free" & reminds that is the FSF/RMS, not "GNU" (GNU is under /software)
<civodul>rekado: that would mean in the initrd
<civodul>maybe we can instead fo what udev does
<nckx>civodul: :)
<civodul>if you see what i mean
<rekado>plymouth uses udev internally
<nckx>Avert your eyes, but at least it works:
<rekado>not sure if we can do without udev at that point
<civodul>nckx: looks fun!
<rekado>civodul: we could perhaps just not use shepherd here but run udev as an extension to the boot-service-type.
<civodul>what i mean is that we need udev functionality, not necessarily udev
<civodul>but yeah, i'm evil :-)
<civodul>but actually linux-modules.scm provides a significant portion of what we need
<civodul>i.e., detecting devices and loading the corresponding modules
<rekado>for the record: when I started plymouthd in the initrd I was only ever able to have it run on the serial console and print text
<rekado>so it didn???t do anything useful at all.
<rekado>I???ll play with this a little later again. Thanks for the hint about linux-modules.scm
<rekado>(I???m now starting plymouthd as an extension to boot-service-type, because rebuilding the initrd for every change takes way too much time)
<mekeor[m]><nckx> "mekeor: opensshd actually..." <- uuuh, awesome! haha, a hidden feature! :D for the record, it's "%auto-start? #f" inside openssh-configuration :)
<gabber>i run into "lddlibc4: Value too large for defined data type". is there a special glibc i ought to use for patching huge binaries?
<civodul>ACTION sent progress report for the release
<civodul>nckx: you around for a berlin reconfigure + reboot?
<nckx>No, I'm in a car park about to take off for 1h+, sorry.
<tricon>"hey mycroft, clone nckx."
<civodul>nckx: alright, enjoy your trip then!
<lizog>have a quick question: when creating a container with `guix shell -CN', /sys is not accessible. is this a intended behaviour?
<civodul>you can pass --expose=/sys if you want it
<lizog>but i ran `guix shell -CN coreutils --expose=/sys -- ls /' and got an error:
<lizog>"guix shell: error: mount: mount "/sys" on "/tmp/guix-directory.jhOxxU//sys": Invalid argument"
<lizog>while running `guix shell -C coreutils -- ls /sys' actually shows all the things inside /sys
<civodul>lizog: oh got it: /sys is here with -C but not with -CN
<civodul>sounds like a bug
<civodul>ah got it
<lizog>civodul: i skimmed through the gnu/scripts/environment.scm and didn't found why the -N flag introduced this
<civodul>lizog: just replied to the bug report :-)
<lizog>civodul: thanks for the effort! i guess it's a little bit beyond my knowledge, let's just wait for the reply from dave
<apteryx>civodul: sent v3 for 'guix shell --symlink'
<elevenkb>Hey there everyone. I'm thinking of packaging auto-cpufreq for Guix so I would like to know if anyone has already done that or is doing that.
<unmatched-paren>elevenkb: says nothing found, so go ahead :)
<user>someone here uses irc with otr?
<apteryx>civodul: would you happen to have insight as to why gethostbyname fails inside the Guix build container? Could we adjust it to make that work?
<apteryx>It'd fix many test suites.
<civodul>apteryx: it works but only for localhost
<civodul>try: ,build (computed-file "host" #~(begin (mkdir #$output) (pk 'host (gethostbyname "localhost"))))
<civodul>and first: ,verbosity 3
<civodul>the contents of the build environment are documented at:
<apteryx>civodul: thanks! that'll help me dig a bit further as to why the restinio tests are failing in the guix container:
<apteryx>they should only use localhost as far as I can tell, but I'll look a bit more
<apteryx>also... still users from russia, belarus (others?) can't access, which is suboptimal
<civodul>yeah, but i don't know what to do, other than advertise the onion services
<civodul>in other news, i'm going to reboot berlin now
<civodul>i checked and i actually have access to hydra-guix-129 if things go wrong
<civodul>(the infra handbook comes in handy!)
<apteryx>civodul: none from me, I can help if things go wrong
<apteryx>you'll probably hit the good old anonip issue upon reboot (and have to wipe manually empty files)
<nckx>ACTION ret.
<nckx>civodul: Can I be of service?
<nckx>No, you seem to have things well in hand.
<mekeor[m]>i love that you discuss these sort of things publicly with the community. that makes me feel part :)
<civodul>nckx, apteryx: rebooting now
<nckx>Is that some (extra)hellversion of C#.
<nckx>I tried to read J once. I'll take Java any day.
<nckx>It's mounting!
<unmatched-paren>turns out it actually exists:
<nckx>Reality beats parody once again.
<civodul>not even doing the "reboot twice" dance?
<nckx>???*and* it's Visual!
<nckx>civodul: It can still happen. I think that doesn't appear until after mounting is complete.
<civodul>aah, good
<nckx>apteryx: When you learnt about that (now merged) btrfs patch, do you remember reading if the mount time is proportional to the used space/???inodes???, or to the total device size? This being btrfs, I'd assume the former, but I hope not. We'll be back at 20min before long if so.
<nckx>It's doing the copy the world to /boot dance.
<apteryx>it's proportional to the number of extents, so yes, used space
<nckx>It's a very complicated and yet unfulfilling dance.
<nckx>I don't recommend trying it.
<nckx>apteryx: I see???
<nckx>Well, enjoy this blazing 5-minute mounts whilst we can.
<nckx>Oh it's copying all modules to /boot.
<apteryx>why using compress instead of compress-force helps is because for non-compressible files, it can chunk them in 128 MiB extents, while compress-force always creates 512 KiB ones no matter what
<apteryx>so there are much fewer extents created when using compress for things such as the NAR of texlive
<nckx>That makes sense.
<nckx>This is the GNU system. Welcome.
<civodul>it's back! \o/
<civodul>ah crap we still have to deal with the anonip thing
<civodul>i don't get it
<civodul>ACTION goes ahead
<civodul>it's super slow tho
<nckx>civodul: Still?
<apteryx>it's slow right after boot
<nckx>I'm looking at I/O stats now and it ???shouldn't??? be slow.
<civodul>actually there are pause times of a few seconds where it's completely frozen
<civodul>and then it goes back to normal
<civodul>super weird
<civodul>i won't blame any particular software component, all i can say is that it's not shepherd this time :-)
<nckx>I don't see it, and I can't see anything out of the ordinary. Might be the network to your place.
<rekado>ACTION restarts the issues <- debbugs sync
<ph03n1xaim[m]>Anyone else having missing icons in virt-manager?
<ph03n1xaim[m]>I have adwaita and hicolor icons installed but still
<gnucode>hey guix, I am trying to play with some (guix diagnostics) ....
<gnucode>(report-error (G_ "~a: opensmtpd-filter-decision is of type string.~%") var) ->
<gnucode>source expression failed to match any pattern in form (report-error (G_ "~a: opensmtpd-filter-decision is of type string.~%") var)
<gnucode>what am I doing wrong?
<lizog> another wlroots 0.15 update patch...
<nckx>gnucode: Import (guix ui).
<nckx>Oh, or (guix i18n), according to its source.
<nckx>So not (guix ui).
<gnucode>ok. thanks.
<gnucode>nckx: do I need to do a call to exit after each (report-error ...) call? It seems like most of the calls to report-error in guix-src does that.
<nckx>Technically? No. But errors are fatal, don't do anything surprising after reporting one.
<nckx>Ideally, don't do anything.
<gnucode>nckx: My use case is for my opensmtpd service records...(that's pretty much the only thing I'm working on ever....)
<gnucode>nckx: I have a bunch of sanitizing functions that check for pretty much everything. I had been just doing (throw 'bad! var)
<nckx>If you're asking because you want to tally all errors before exiting (instead of throwing them one at a time), that's nice and friendly. As long as the code remains very clear.
<nckx>But I'm just guessing :)
<gnucode>Basically, if someone is putting in incorrect syntax to configure the mail server, then trying to configure the mail server would fail. Ideally, I would tell the user that they made an error configuring the service. Then reconfigure would fail.
<gnucode>does that seems like a good way to do it?
<nckx>That sounds correct, even.
<gnucode>thank goodness!
<nckx>But what else would you do besides (or before) exiting?
<nckx>Or was that just a hypothetical question?
<apteryx>rekado: does the issues <- debbugs sync not come back automatically (it's a shepherd service, I guess?)
<nckx>apteryx: Haha no.
<gnucode>would you like an example? here's one:
<nckx>It's GNU screen.
<nckx>You'll have to ask rekado. Maybe because password.
<gnucode>suppose a user enters this: (opensmtpd-filter-phase (name "silly-name") (option ...) (decision "junks"))
<rekado>I need an enzyme to raise the activation energy to let me write a service for it.
<gnucode>(begin (report-error (G_ "opensmtpd-filter-decision: '~a' is an invalid decision.~%") var) (exit 1))
<rekado>the pain of running this rsync thing in my screen session is just too low
<gnucode>basically "junks" should be "junk".
<rekado>and I no longer feel embarrassment
<nckx>gnucode: Makes perfect sense.
<gnucode>nckx: sweet. I'll start changing my code to reflect that.
<nckx>Are there any helpers for this?
<nckx>I'm not sure what to search for.
<gnucode>nckx: was "are there any helpers for this?" a question directed at me? If so, I don't know what you mean.
<gnucode>I gotta start getting ready for work, but I'll check your response before I leave.
<rekado>apteryx: it???s pretty straight-forward: we need the service to read a secret from a file, set an env var (RSYNC_PASSWORD), and then keep doing this: timeout --kill-after 5m 1h rsync --delete -av /var/mumi/data/
<rekado>respawn when it???s killed
<nckx>gnucode: No, never mind then. The question wasn't clear because I'm not sure what I mean yet.
<apteryx>rekado: perhaps we could instead have them register a public key for it?
<apteryx>rekado: in case that tickles your activation energy a bit:
<rekado>maybe, but I wouldn???t count on it. It???s just an rsync daemon.
<apteryx>civodul: could you refresh my memory about which files must be cleared on reboot to get past the anonip issue?
<apteryx>/var/run/anonip/* apparently
<gnucode>nckx, I should probably redefine the service to use define configuration...but I am not convinced that define-configuration can do what I've done with my current implementation. still need to play with define-configuration to determine if the switch is a good idea. It probably is.
<nckx>That's the one. I have no idea if it's relevant to your service since I couldn't remember the name to look at it ???? /me ??? ????????, good night.
<awb99_> subsrltitute server is down
<rekado>I still have a shell session on it but it???s pretty much frozen
<rekado>can???t start a new shell in my screen session
<awb99_>I have removed it ftom guix pull and guix system reconfigure
<awb99_>And now I get substitutes from bordeaux
<awb99_>I wondervwhy a offlinecsubstitute server is breaking pull/reconfigure.
<awb99_>Substitutes can be checked
<awb99_>So if one substitute server is down .. it should not affect the ones that are up.
<rekado>apteryx, civodul do you know what happened with berlin?
<rekado>didn???t live long at all since the reboot
<apteryx>no clue, but I have a root connection, but can't 'ls'
<apteryx>nor 'top'
<apteryx>it's unusable
<apteryx>should I reboot it?
<apteryx>civodul: were you inspecting something on it?
<apteryx>ACTION reboots berlin
<apteryx>let's give this generation another chance, and if it fails the same we'll roll-back
<pkill9>i hope youre not talkong about the baby boomer generation
<tricon>fitting coming from pkill9.
<apteryx>ssh still down
<apteryx>this is what the console shows:
<apteryx>the tail of it, at least
<apteryx>ACTION reboots it again, will try selecting the n-1 generation from boot menu
<apteryx>(from GRUB)
<apteryx>trying: *GNU with Linux-Libre 5.19.17 (#24, 2022-10-31 13:23). Back from Linux-Libre 6.
<tricon>hark, a wild sharlatan appears!
<unmatched-paren>twopubsolar[m]: evendng!
<sharlatan>is CI down right now?
<sharlatan>and ...
<podiki[m]>(hopefully just for a little while until rebooting is successfully done)
<sharlatan>I wonder why it's not in HA =)
<twopubsolar[m]>ci works for me
<twopubsolar[m]>tjo i;m not sure if it's downloading from ci. or bordeaux.
<apteryx>berlin is down
<sharlatan>I was about to check the status of #59113. It fixes build for python-asdf and python-gwcs.
<apteryx>I can try an even older generation but that doesn't look good
<podiki[m]>sharlatan: what's HA?
<cbaines>high availability I would guess
<podiki[m]>well we all know it only goes down when you just started to do a big guix pull and system reconfigure :)
<apteryx>not sure what to try next; on 6.0.7 we got that:; on 5.19.17 we got (which used to work)
<apteryx>I'm starting to wonder if the underlying SAN device is alright
<apteryx>i'll try 6.0.7 again after a cold boot
<z4kz>hello #guix
<apteryx>ACTION wonders if this qlaxxx thing is even needed on berlin
<z4kz>I am a bit confused as to what guix aims to offer that Nix doesn't
<z4kz>how do the goals of Nix and Guix differ from a technical standpoint?
<z4kz>(note: I'm totally interested in guix tho, and I like lisp)
<sharlatan>Hi z4kz
<sharlatan>Uniformed configuration langurage based on not shell not hacked new lang not on HCL not on YAML not on JSON :)
<sharlatan>Schema TBH is a nice choise after supporting all above ...
<z4kz>sharlatan: I'm also curious if Guix could eventually support the same goal as k8s or something
<sharlatan>I was about to pack k3s itself but I need the second live for that, it's 100+ dependencies of the first level.
<z4kz>I mean could guix do the same thing as k3s or k8s but without kubernetes. a guix native way of container orchestration
<z4kz>using guix containers versus docker too
<z4kz>but more full than what guix currently offers
<z4kz>and what advantages could this provide over k8s+docker-ish containers?
<sharlatan>I may say it depends of what you need from the infra
<sharlatan>never work with k8s as it looks for me as overcomplicated disign choice, but using Docker a lot just for CI
<apteryx>rekado: is qla2xxx necessary for SAN?
<apteryx>it seem to be causing the failures
<z4kz>sharlatan: yeah
<apteryx>answering self, qla2xxx seems to be necessary to boot from SAN, otherwise I get:
<apteryx>hopefully it's just a temporary issue with the SAN and there was no loss of data
<awb99_>Good news: the new guix version ignores substitute servers that dont respond! Older versions would have failed!
<tricon>sharlatan: Scheme is _great_ for all of the above, agreed. I think I have a fellow dev and infosec friend ready to take the leap into Guix next year.
<tricon>(Scheme being a great selling point of Guix, IMHO.)
<sharlatan>I may say from my experiance tricon, I never code in Guile before I started make soem packages which looked supper easy after Docker hell =)
<drewc>Is down?
<nikolar>tricon: scheme is kind of a double edged sword, a lot of people just dislike lisps
<sharlatan>drewc: yes it's down, some reboot issue
<tricon>sharlatan: Agreed re: Docker. Guile is so refreshing.
<z4kz>nikolar: 'dislike lisps' do you mean the parenthetical syntax of lisp, or just lisp in general?
<nikolar>Both really
<drewc>sharlatan: Cool, needed to make sure it was not a route on my side or something. Hopefully it comes back up shortly, and `ci.` in specific :)
<tricon>nikolar: I used to dislike all the Lisp parens many years ago when I primarily programmed in Ruby, though I still liked Emacs. Now I love the parens/AST-like nature of Lisps.
<unmatched-paren>nikolar: that sentiment almost always seems to come from unfamiliarity.
<unmatched-paren>just because it doesn't look like c. i bet there were tons of Fortran/Pascal/etc programmers that were repulsed by C
<unmatched-paren>simply because it didn't look like what they were familiar with
<nikolar>unmatched-paren: yeah true, but people are stubborn and it's usually hard to convince them to try something new
<tricon>i'd be happy if i could code in only C and Scheme/Lisps for the rest of my life.
<nikolar>Yeah probably
<nikolar>tricon: absolutely
<nikolar>C and lisps(scheme) cover pretty much every use case
<unmatched-paren>i'd like that, but with a replacement for c like hare or zig
<drewc>I had to code COBAL on punch cards in college. So very happy to have lisp syntax as my primary, especially in comparison
<tricon>unmatched-paren: i'll have to check those out.
<tricon>ACTION waits for the Rust-vote avalanche... though probably not in this channel.
<unmatched-paren>tricon: fair warning that they're both quite new and immature; although zig is older, hare is much smaller, so i think they're both just about as polished
<unmatched-paren> https://ziglang.scm
<unmatched-paren>apparently i now have a reflex to turn . into .scm... or maybe i'm just tired.
<tricon>ah, these sites do look familiar. think i've run across them before but have yet to poke at the langs.
<unmatched-paren>tricon: hare isn't in guix yet, it's here:
<tricon>"Hare fits on a 3??" floppy disc, which are available for purchase." - (O_o) (^_^)
<unmatched-paren>it doesn't have a release yet
<tricon>i am legit purchasing that floppy disk.
<tricon>i stall have a ton of floppies.
<unmatched-paren>it's not available yet :)
<unmatched-paren>> Hare fits on a 3??" floppy disc. When it???s done, you???ll be able to buy a floppy disc with Hare on it to support the project.
<tricon>yeah, saw that.
<tricon>the "micro-programming language" approach of Hare is quite appealing.
<singpolyma>The zig toolchain is cool, but I don't really understand why the language exists. If I want something bad/dangerous C already exists
<singpolyma>If I still have to remember to call free and call it exactly once there's not much meaningful improvement IMO
<unmatched-paren>singpolyma: C has numerous historical flaws; no modules, has a preprocessor, no tagged unions...
<mekeor[m]>where can i download guix-system (x64) installation image while is down?
<unmatched-paren>Also, Zig has defer, which makes remembering to free much easier.
<singpolyma>unmatched-paren: isn't that the same as standard goto-on-error pattern?
<singpolyma>Still relies on a human doing it ridht
<unmatched-paren>I'm not personally sure whether Rust's huge amount of added complexity is worth it for many programs
<unmatched-paren>singpolyma: It's much, much simpler: ``defer free(mem);''
<unmatched-paren>And it avoids goto, which isn't implemented in Zig iirc
<singpolyma>I don't find Rust to have much added complexity, at least in terms of what I need to understand, vs C. A lot compared to something higher level like scheme of course, but that's the trade off to get close to the hardware
<unmatched-paren>Perhaps the *partial* memory-safety Rust implements is worth it for large programs like firefox, but then we shouldn't be writing ridiculously large monoliths like firefox.
<mekeor[m]>i don't understand why purely-functional languages (e.g. idris2) can't be translated to the same efficient code as languages like C
<singpolyma>I'm an ML/Haskeller who used to really like C though so Rust was basically written for exactly me
<unmatched-paren>mekeor[m]: i believe that's a subject of a lot of research
<singpolyma>mekeor[m]: it can be
<unmatched-paren>but the problem is machines are built for C and languages like it, because C-likes are very common
<singpolyma>You don't use rust/zig/C for speed, usually
<unmatched-paren>Lisp machines were just as fast as C-based machines because Lisp features were implemented in the hardware (iirc)
<singpolyma>You use them for tight control over memory usage, for easier access to device specific pointer stuff, etc
<unmatched-paren>i'm pretty sure conses were hardware-based, for example...
<mekeor[m]>i recently stumbled upon a language which seems to try to combine some features of idris while trying to be low-level, too:
<unmatched-paren>singpolyma: Another thing C is excellent at is for library development
<unmatched-paren>because of the universally-FFIable C ABI
<singpolyma>unmatched-paren: sure, I'm not knocking C today but Zig :)
<singpolyma>Though if I have to do it I'll choose rust and export a C ABI in my .so
<nikolar>C is Lingua franca of programming after years of efforts to dethrone it, so it's certainly doing something right
<mekeor[m]>i recently read this brilliant text on C and it's "ABI":
<unmatched-paren>singpolyma: well, zig and hare are trying to make that possible too
<unmatched-paren>they're some way off seamless integration though
<unmatched-paren>singpolyma: the problem there is you inherit all the other problems of Rust. Librsvg has caused a *lot* of pain, IME.
<singpolyma>I haven't tried in zig but it's trivial in rust so I can't imagine they made it harder
<mekeor[m]>iiuc, as long as our kernels are written in C (and their syscalls are only available for C), we're stuck with C
<unmatched-paren>singpolyma: Hare uses the C ABI
<singpolyma>mekeor[m]: yes, this is why I'm interested in guile
<mekeor[m]>"C Doesn???t Actually Have An ABI" is one heading of the article i linked :D
<singpolyma>Guile can give us a higher level cross language "ABI"
<unmatched-paren>mekeor[m]: yeah, the miriad possible ways to interpret the C standard are awful
<unmatched-paren>singpolyma: But then you depend on Guile, which is *massive* as far as schemes go
<mekeor[m]>idris is based on chez-scheme, btw
<singpolyma>unmatched-paren: I don't really need it to be a scheme, though if I want to support all languages then supporting scheme is a good thing to include :)
<nikolar>Gnu projects have a tendency to be massive compared to non gnu equivalents :)
<unmatched-paren>mekeor[m]: I do find it to be a little ironic how they criticise C for being an "inscrutiable implementation-defined mess" when Rust doesn't even have a standard, though... at least C tried :)
<mekeor[m]>an exception being guix, i guess? :)
<unmatched-paren>Guix is pretty good as far as GNU projects go, as far as I can see.
<singpolyma>mekeor[m]: nah. We like guix but not for being small or light or fast, hed
<unmatched-paren>I would personally make it a priority to nuke autotools from orbit if I was in charge.
<unmatched-paren>s/I would/Though, I would/
<nikolar>unmatched-paren: as long as you strictly stick to the standard, c isn't that bad
<unmatched-paren>nikolar: agree! it's just kinda hard to stick to the standard
<unmatched-paren>because undefined behaviour etc
<nikolar>Yeah that's definitely the tricky part
<nikolar>Would be nice to have a tool that finds at least some of it
<unmatched-paren>"You Can't Actually Parse a C Header" applies far more to C++ than C, I'd think
<nikolar>C headers are pretty straight forward
<nikolar>Especially compared to cpp
<unmatched-paren>And if you're criticising C++, I'm definitely with you :)
<singpolyma>C++ is a joke language
<unmatched-paren>It just seems like "worse rust" to me?
<singpolyma>Fixes nothing from C but adds new problems too
<nikolar>Cpp is a scourge most people are forced to learn at some point at uni or whatever and they are thought that it's the best thing ever
<singpolyma>No, Rust is like C, C++ is a different kind of mess :P
<tricon>nikolar: part of it is surely the overemphasis on OOP.
<mekeor[m]>yea, type system is what rust got good
<unmatched-paren>singpolyma: Oooookay, if you say so... "Worse Java" (and that's saying something :P)?
<nikolar>Oop is fine sometimes, but making it the centre of the whole language definitely doesn't make sense
<unmatched-paren>"Unholy love-child of the worst bits of C and Java?" :)
<unmatched-paren>I like the way Rust does types too, but that's definitely not original.
<nikolar>Well the author said it was very inspired by ocaml
<unmatched-paren>mhm, i can definitely see that
<nikolar>Which is the language rust was first implemented coincidentally
<unmatched-paren>ACTION away
<abhicherath[m]> seems to be down
<mekeor[m]>i don't have a clue how c, c++, rust, lua, V, nim, hare, crystal and zig compare
<unmatched-paren>mekeor[m]: Apparently people have... opinions on V.
<mekeor[m]>abhicherath: apparently "some reboot issue"
<unmatched-paren>Which I learned way back when I was making a patch to update our ``v'' package.
<nikolar>I guess it's good marketing because i keep hearing about v and controversy
<nikolar>Even though I don't have a clue what that's about
<unmatched-paren>I'm not actually sure *what* controversy though.
<mekeor[m]>unmatched-paren: which opinions?
<unmatched-paren>Hey, me neither.
<abhicherath[m]>mekeor hmm how can I force a local build instead of trying substitute on `guix pull`?
<V>the author launched a patreon based on claims about it that weren't true; it turned out to be vaporware
<unmatched-paren>V: Oops, sorry, I remember you. :)
<V>hi :)
<unmatched-paren>But good to know. I guess.
<unmatched-paren>ACTION actually away
<abhicherath[m]>ah no-substitutes
<nikolar>Yeah thanks
<V>due to the amount of attention it got there were a lot of contributors, but I still think it's lacking a bunch of things that it was initially advertised to have
<podiki[m]>nckx: please update the channel topic (about the downtime) when you have a chance, though not sure how many read it :)
<mekeor[m]>V: sorry for highlighting :)
<podiki[m]>apteryx: thanks for the update, hope it is nothing too bad in the end!
<V>mekeor[m]: ^^
<jab>nckx: since I am going to be writing a ton of (report-error stuff...I feel like I should follow the established convention in the source code and call exit there a way to write tests for exit?
<mekeor[m]>can anybody share a guix install iso with me?
<jab>as in, this bit of code should eventually call (exit 1) ?
<civodul>apteryx, rekado: nope, i wasn't doing anything on it
<civodul>i had a shell session a couple of hours ago but it timed out
<rekado>apteryx: I don???t see any problems with the SAN. Other systems connected to it are running just fine.
<rekado>(none of them on Linux 6)
<twopubsolar[m]>mekeor[m]: you can find one at
<twopubsolar[m]>1.3.0 is the latest
<mekeor[m]>thank you so much :)
<twopubsolar[m]>you're welcome
<twopubsolar[m]>tho you might be unable to install it fully because the default ci is down
<rekado>apteryx: the qla2xxx module is needed for the two QLogic QLE2692 16Gb FC adapters that connect us to the SAN.
<twopubsolar[m]>so please try to set up
<mekeor[m]>two ( alright
<rekado>link status for these adapters is ???Up???
<rekado>we could upgrade the firmware on these adapters (from to
<twopubsolar[m]>docs are down too...
<civodul>twopubsolar[m]: you can run "info guix" on your machine
<rekado>for each of the adapter cards we can go from 14.02.13 to 15.35.08
<twopubsolar[m]>see web archive then:
<rekado>(the previous upgrade is for the Dell 12Gbps SAS HBA)
<rekado>???info guix??? for the win
<rekado>big advantage: it matches the exact version of Guix you have installed
<rekado>civodul apteryx I???ll push the firmware upgrades, because I don???t think there are any other ideas.
<mekeor[m]>in emacs, it's "C-h i m guix RET" :)
<civodul>rekado: fine with me; i have no idea what could have gone wrong
<twopubsolar[m]>civodul: that is quite awful
<rekado>we still don???t have multipath set up, so it???s impossible to tell if one of the cards crapped out, or if one of the SAN links is broken (and we???re on the broken link)
<twopubsolar[m]>i should try installing yelp from guix since the debian one doesn't process info correctly
<rekado>ACTION queued up the updates
<twopubsolar[m]>no, same error
<twopubsolar[m]>maybe there's something wrong with my setup
<podiki[m]>didn't know about yelp, should that find info manuals automatically? (search-path)
<rekado>yelp makes a decent attempt at displaying info docs, but it???s ??? not great.
<rekado>no quick access to the index, the fixed line breaks of the generated info documents make all the pages look kinda off
<podiki[m]>still meaning to dig into emacs info viewer customizations (since I live in emacs anyway), would like to make that look a bit nicer with mixed pitch probably (keeping monospace for code examples)
<rekado>.info also doesn???t declare a type for code blocks in the generated file, so yelp can???t do much with it.
<rekado>info really needs a better on-disk format
<rekado>there was a discussion about it, but it petered out
<rekado>XML or XHTML would be an obvious choice
<rekado>just didn???t go anywhere
<rekado>(still waiting for the first of the update jobs on the server to complete; 66%)
<podiki[m]>I don't think I'm alone in preferring the presentation of nicer html manuals (like guix's), but easy jumping/searching in an info viewer is also nice
<rekado>the format makes it hard to present it any nicer
<rekado>I???d also like my info stuff in Emacs to look ??? nicer
<rekado>variable pitch mode, but keeping all the code examples in monospace, font-lock for code examples, etc
<rekado>but nah. Best we can do is heuristics.
<flatwhatson>has there been any work towards a "what provides" feature for guix?
<flatwhatson>like searching for a package proving a particular executable, or just filename
<flatwhatson>this would probably need some global index?
<podiki[m]>there has been talk before on the mailing list, and I think it is within reach of the tools we have (making some index/db as you said), but I don't know of any concrete progress
<civodul>rekado: i think we should render Texinfo directly
<civodul>heck, even 'man' renders things live with groff
<twopubsolar[m]>why keep monospace for code examples?
<rekado>twopubsolar[m]: feel free to pick something else, but I want my documentation to look like my code buffers
<oriansj>twopubsolar[m]: ------\n|foo |\n------
<rekado>indentation, for example, should look correct
<flatwhatson>the idea of using something other than info-mode is pretty radical
<flatwhatson>info-mode has integrations with geiser for one
<rekado>civodul: I guess we could totally do just that, you???re right
<oriansj>emacs org-mode can be converted by pandoc into html and pdfs
<oriansj>and in some ways better for a manual
<mekeor[m]>does the graphical installer support using bordeaux instead of
<rekado>flatwhatson: not just not using info-mode, but not using .info either
<twopubsolar[m]><oriansj> "two ( ------\n|foo |..." <- ?
<rekado>twopubsolar[m]: it???s an example of something that would like all wrong with a variable pitch font
<flatwhatson>it would be nice to generalize the functionality of info-mode to apply to any structured docs
<twopubsolar[m]>ACTION uploaded an image: (12KiB) < >
<rekado> is booting
<rekado>let???s see what happens???
<rekado>it???s running the /boot copy job now
<oriansj>twopubsolar[m]: yeah, text tables are where variable pitch font is just *ugly*
<rekado>(I suppose we could try to change that job to only sync instead of copy everything all the time)
<rekado>this probably means: no severe file system damage
<rekado>website???s back
<twopubsolar[m]>oriansj: less ugly in monospace?
<rekado>twopubsolar[m]: absolutely!
<rekado>twopubsolar[m]: looks like a table in monospace, but looks like line noise in variable pitch
<twopubsolar[m]>if they are prefixed with dash dash dash dash dash dash, maybe the frontend can detect it and make a table
<rekado> is back now
<rekado>twopubsolar[m]: heuristics are pretty terrible
<rekado>twopubsolar[m]: the texi format already has marked up code blocks ??? all the info (no pun intended) is right there
<twopubsolar[m]>is texi included in outputs?
<oriansj>twopubsolar[m]: looks pretty good with Terminus if you ask me
<GNUtoo>ACTION wonders how the html manual is built
<GNUtoo>And should we package it as well?
<GNUtoo>(like does make html works?)
<mekeor[m]>whoooooo <3
<mekeor[m]>thank you all so much for maintaining our infra :)
<GNUtoo>ah yes it seems to build the manual
<GNUtoo>Thanks indeed
<rekado>GNUtoo: we don???t use ???make html???
<rekado>we use doc/build.scm
<rekado>make html is fine, but our manuals have a lot of extra processing that I think is pretty neat
<rekado>we do use ???makeinfo --html??? at some point
<civodul>rekado: yay, thanks!
<civodul>no clues in /var/log/messages as to what happened
<rekado>when qla2xxx failed (for whatever reason) we immediately lost the root file system
<rekado>this would explain why there???s no clue in the logs
<rekado>just wrote a message to the sysadmins