IRC channel logs

2023-08-09.log

back to list of logs

<zmhanham>viaken: Interesting idea. Still playing around with what I will end up going with in the end. Will be sure to update when I have something decent working.
<viaken>Definitely! I'd love to see it.
<ming>Hey all, I'm experiencing an odd bug when trying to save file in ungoogled-chromium on Guix. Whenever something would open a file dialog, it crashes with this error: http://paste.debian.net/1288340/ Is there a known fix for this?
<yewscion>I only use chromium for web apps, mostly for fediverse sites and chatting, but "saving a picture" is a fairly common activity for me in both of those cases. Icecat does not exhibit the same problem.
<iyzsong>yewscion: i think you're missing shared-mime-info in the profile (its /share should be in XDG_DATA_DIRS)
<yewscion>iyzsong: Thanks, that pointed me in the right direction! (Turns out I'd made a shim in ~/.local/bin/chromium that pointed to an older version of ungoogled-chromium that was no longer installed in any profile, and that (understandably) broke upon one upgrade or another.)
<iyzsong>okay, but that gdk-pixbuf error is not related to chromium install into profile or not, it's about mimetypes
<yewscion> iyzsong: But unless I'm misunderstanding, I believe guix uses shims to export the needed env variables for binaries, so that when the outdated chromium was being run it was referring to an outdated XDG_DATA_DIRS, which is what caused the error in this case. Though I suppose my shim could have done the same thing, and the error could have been from there instead. Either way, running ~/.guix-home/profile/bin/chromium directly was the
<yewscion>solution; no change to my profile was needed.
<minima>hi, sorry, when using `home-mcron-service-type', does that create some kind of crontab file anywhere in my home folder (which i'm not able to find) or, rather, does it simply instruct shepherd but without writing things to a file?
<ekaitz>hi, can I use a macro in a phase that has been `modified-phases`?
<ekaitz>does anyone have an example of that?
<minima>(in relation to my mcron question above, oh yes, of course, mcron jobs are saved in the store, i can see them if listing the active processes with `ps aux')
<jpoiret>ekaitz: i don't see how that couldn't work
<ekaitz>jpoiret: i have a macro in the file (define-syntax...) and in the modify-phases i use it. NOTE: modify-phases is gexp-ed
<ekaitz>guix tells me: unbound variable
<viaken>I know gexps are executed at a different time. Might also be a different namespace?
<nckx>Yes, completely separate environment.
<ekaitz>and how do you insert stuff in that separate environment?
<nckx>Define it there.
<jpoiret>ah, I thought your macro was available in the gexp environment
<jpoiret>gexp'd stuff is really just build code to run later, it can't possibly see stuff from the file you write them in
<nckx>It's a slightly more advanced form of echoing some text to a script file to be executed (much) later, in the build environment.
<nckx>Nix makes this more explicit, Guix makes it treachorously pretty.
<ekaitz>oh ok let me try
<viaken>Might also be able to #$ it?
<viaken>I should go learn the details of gexps.
<jpoiret>viaken: depends on what the macro does
<jpoiret>but most likely not, since the macro won't give you a lowerable object
<ekaitz>it worked! but i realized something else
<ekaitz>if you print anything in a guix phase, the print happens after the phase did its work (?)
<ekaitz>i wanted to display the command that was currently being run and it doesn't print it until the command finishes...
<ekaitz>the macro is just display-invoke -> (begin (display...) (invoke...))
<ekaitz>and it doesn't print in order
<Altadil>Hi, I am trying to use the qemu-binfmt service to build packages for other systems. It works fine with arm/aarch64 (following the example from the manual). But I can’t find where the qemu platforms are defined. They do not seem to match the list returned by guix build --list-systems, nor the list of supported platforms in section 15.2 of the manual. I tried looking in the definitions of both the qemu package and the qemu-binfmt-ser
<Altadil>*qemu-binfmt-service
<nckx>Altadil: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/virtualization.scm#n607
<apteryx>is someone hosting their own email server at home, via a dynamic dns service (the ip changes every night...)
<Altadil>nckx: thanks !
<apteryx>I have questions such as: how set the MX record on my purchased domain; I read it wants an IP, not a host name
<apteryx>and also I've read that the changing IP will mean other services such as GMail will flag my server as spam
<apteryx>i'm interested in learning any workaround, if they exist
<bjc>you are unlikely to be able to run a mail server at home, or even from most vps providers
<nckx>ACTION .oO apteryx about to play ‘doctor, it hurts when I do this’ with a chainsaw.
<nckx>apteryx: MX records MUST be a hostname. So toss out whatever told you the opposite.
<bjc>the mx is a hostname, but it has to have an a/aaaa record, not a cname
<nckx>Second, it's very unlikely that a provider giving you a daily dynamic IP is going to let you set a PTR, and without a PTR you will not be delivering mail.
<bjc>you can work around that with dynamic dns stuff pretty easily, and get mail
<bjc>for outgoing mail, from home, you'll likely need to pay for a relay, or set one up in an unpolluted ip block
<nckx>Receiving mail on this system will be doable, sending almost certainly not.
<bjc>i dunno how it is across the pond, but in the states i don't think there are any residential isps that allow traffic of any kind on port 25
<bjc>so even getting mail could be problematic
<apteryx>nckx: what's a PTR?
<bjc>it maps an ip address to a hostname
<nckx>apteryx: The ‘inverse’ of an A/AAAA record. Roughly, ‘$domain A $IP’ and ‘$IP PTR $domain’.
<apteryx>ah, it's the reverse of DNS, I see
<nckx>‘dig -x $IP’ will return it.
<nckx>Ehm, no.
<apteryx>DNS is 'name -> ip', PTR is 'ip -> name', or am I dumbing it down too much? :-)
<bjc>dns is the whole system, name to ip maps are through a or aaaa records in the dns
<nckx>DNS is the whole system.
<nckx>It's like saying assoc-ref is the opposite of Guile.
<apteryx>haha, OK, thanks for the explanation
<bjc>dns consists of records with types, like a, aaaa, cname, ptr, srv, txt, etc
<apteryx>so PTR is one of the key bit used by mainstream providers to filter spam?
<nckx>(I mean, the way PTR lookups are *implemented* is hacky as hell, but you don't need to know that, and can just pretend there's a nice table of IPs somewhere with an associated hostname. Your ISP has to [let you] set it, there is no other way.)
<bjc>yeah, a lot of email servers check the ptr on an incoming connection to verify it is who it says it is
<nckx>apteryx: Yes. One of the most basics.
<nckx>I think mine does that. It's a given that you won't be delivering mail without a valid crDNS (‘c’ for confirmed: two subsequent lookups, $IP1 → $domain → $IP2, must return the same IP).
<bjc>if your mail server identifies as “mail.example.com”, then the ptr records for its ip addresses should point to “mail.example.com” or you're likely to have messages dropped
<nckx>*fcrDNS
<bjc>i'm not sure how true that is anymore with tls connections, since the cert verifies you better than dns, but better safe than sorry
<nckx>It's still true.
<nckx>I don't want to discourage anyone from hosting mail (it can be fun) but doing it this way is almost certainly impossible and will be the opposite of fun.
<nckx>Find yourself a nice cute VPS to settle down with, from a not-garbage ISP, and start there. Or pay someone to send mail for you.
<bjc>michael lucas is putting out a book soonish for hosting your own email. if you can wait for it, i would
<nckx>Oh, neat.
<bjc>email hosting is very hairy
<nckx>Yay Michael.
<nckx>Michaes is not.
<nckx>*l
<bjc>i've been hosting my own email since the dark ages, and i still am going to buy the book, just to make sure i'm up to date. it's almost impossible to find all the information you need in a couple places
<apteryx>is OVH a good choice to host email? it seems decent and cheap, can be close to home
<apteryx>in the VPS business
<apteryx>bjc: the "identifies as" is the part that comes after @ in the email address?
<bjc>it's checked at the HELO/EHLO step
<bjc>my mail server doesn't identify as the same domain as my email address. it's not even in the same domain
<bjc>doesn't identify as the same host as my email address that is
<apteryx>OK, thanks for clarifying that
<jpoiret>apteryx: lots of hosting providers are IP banned by big email providers
<jpoiret>dunno about OVH in general but you might run into that
<bjc>the typical situation is that you send mail from “foo@example.com”, but the mail server identifies itself as something like “smtp.example.com”, or even another domain entirely in the case of hosting multiple domains
<bjc>so smtp.example.com needs the ptr records to point to the a/aaaa records and vice-versa
<bjc>err, badly worded: the forward and reverse lookups have to be symmetric, is what i'm trying to say
<nckx>Speaking of the part after the @: has anyone tried sending mail that isn't DKIM-signed to big providers recently? Is it even an option?
<bjc>depends on what you mean by recently, but i did a few years back
<nckx>I meant the past few years yeh.
<bjc>google took it, fwiw. i didn't have anything set up for dkim at the time
<bjc>but my domains are older than google, and so is the vps provider i use, so ymmv
<nckx>ACTION wasn't planning on it, but it's another intimidating thing to explain to newcomers :-/
<apteryx>an email hosting Guix System template, when? ^^
<bjc>that sounds like an exercise in mutual self abuse
<efraim>nckx: I still don't have DKIM setup and my email is still accepted by gmail. same IP on digitial ocean for ~8 years? now
<nckx>All right, thanks both.
<efraim>I don't think I've ever had better than a 50% delivery rate to microsoft though
<nckx>bjc: How so?
<bjc>nckx: it's self abuse for the guix developer to constantly update the mail service definitions, and self abuse for the user of the service, because they'd be hosting their own email
<nckx>Heh.
<bjc>(it was a (poor) joke)
<nckx>I think my configuration's been effectively untouched for several years now (not counting a recent OpenSMTPd syntax update), so it's either Finished or broken. People still seem to get my emails.
<apteryx>my thought too; email is older than most of us
<bjc>i'm on a fairly standard postfix+dovecot setup, and it basically runs itself except for when i have to add or remove accounts
<minima>hi, suppose i wanted to rewrite the `garbage-collector-job' example from https://guix.gnu.org/manual/en/html_node/Scheduled-Job-Execution.html with the scheme (non-vixie) notation, how should i go about calling "guix gc"? does it make sense to call `(string-append #$guix "gc")' - why does it feel strange? (and why there are so few occurrences of `string-append #$guix "gc"' in the repo?)
<bjc>i don't think it matters hardly at all, but won't that point to the wrong guix?
<minima>(actually moving to the non-vixie notation is not really the point here, sorry - my question is related to building the "guix gc" string)
<minima>bjc: what do you mean by the wrong guix?
<bjc>the guix executable lives in its own profile
<bjc>which, most of the time, is going to be the system one, but isn't always. though ‘gc’ should probably always work anyway
<minima>ok, so i suppose i'd first need to get a better grasp on why we do `(string-append #$coreutils) "ls" ...'
<bjc>guix is special for living in its own profile. for the other cases the #$ is going to always be correct
<minima>instead of simply using `"ls"' - is it because `ls' tout court may otherwise be unavailable or to signal guix to not GC coreutils?
<minima>bjc: right... which for example means that guix doesn't GC itself, for example?
<minima>or am i missing the point?
<bjc>it depends on the context. at build time ‘ls’ isn't available unless you pull it in, which requires the use of #$ to get its store location. at run time, you may want to use the one in the path or an explicit one depending on your needs
<bjc>gc happens on the daemon. the guix command just tells the daemon to do its thing when you say ‘guix gc’, if that's what you're asking
<bjc>the danger would be if the cli to daemon protocol changes somehow that makes the ‘gc’ command stop working when the cli and daemon are different versions. but the odds of that happening are pretty low, i think
<bjc>note: i don't have any actual opinion on whether or not #$guix is the right thing
<minima>hm, thanks bjc i think i see what you mean
<arjan>what is still needed for the emacs package to be updated to 29.1? I noticed there is an open issue that does not makes this clear and also some work was done in the emacs-team branch?
<bjc>i wonder how hard it'd be to implement proper, erlang-style actors with fibers
<bjc>it wouldn't fix the issues that cause shepherd to hang, but it'd stop the hanging most of the time, and provide visibility all the time
<efraim>(guix-gc) is exported by guix/scripts/gc.scm so that might be an option
<minima>should `invoke' be preferred over `system*' - if they're sort of similar/interchangeable? is `invoke''s point to better report errors?
<minima>thanks efraim, do you see any point in using `guix-gc' as opposed to `"guix gc"'?
<minima>i mean, `guix-gc' in a gexp
<efraim>My first thought would be to hardcode /run/current-system/profile/bin/guix, but I'd definately experiment with using (guix-gc ...) in guile
<minima>thanks efraim
<efraim>guix-gc would keep everything inside of guile, instead of shelling out to the guix command
<nckx>minima: In a sense. INVOKE exists to throw a tantrum if the command fails (returns nonzero) or isn't found. Use SYSTEM* only when you explicitly don't care about ignoring errors.
<nckx>I forgot to use the technical term for tantrum; exception.
<minima>ah! very helpful, thanks nckx!
<minima>With regard to invoke-vs-system*, I suppose it's `(invoke #$(file-append coreutils "/bin/ls"))' or `(system* (string-append #$coreutils "/bin/ls"))'
<nckx>Mno, that doesn't matter.
<minima>oh sorry, i'd written that already, before your other comments nckx
<nckx>Okido.
<nckx>I thought you might be confusing SYSTEM* and SYSTEM, although the difference wouldn't manifest that way (you'd still use file-append in this case).
<minima>yeah, i think i was mixing up two different levels: invoke vs system* and file-append vs string-append #$...
<minima>in terms of system vs system*, that's reasonably clear, thanks
<RavenJoad>Does someone use Guix to run a cgit server? I am having trouble setting mine up the way I want.
<janneke>ACTION "just" runs a git-daemon server
<samplet>RavenJoad: I’ve done it in the past. What’s missing for you?
<RavenJoad>I have a git-daemon server running too, but I want a web-browser viewable version too. The git-daemon server only does git:// serving (unless I am mistaken).
<RavenJoad>samplet: I want the cgit server to use the same domain/host URI, but use http://domain/cgit/project.git. I cannot seem to get the /cgit part working. I use /git for the git-http-daemon part.
<samplet>RavenJoad: Ah. I used a separate “git.” domain....
<RavenJoad>I thought of that too. But even with that, I cannot see a way to override the generated nginx server block's name directive (which defaults to _) without having to manually rewrite the whole block.
<samplet>I would describe the old config I’m looking at as “manually rewrite the whole block”. :)
<RavenJoad>Ok. I guess I will just be tinkering with nginx configs until it all works out.
<samplet>I pass a bunch of stuff to the ‘nginx’ field of the cgit config record.
<samplet>I also did that URL punning thing where you can browse and clone at the same URL.
<RavenJoad>Would you be willing to share your config then?
<samplet>Yes. Lemme paste it.
<samplet>RavenJoad: https://paste.debian.net/1288407/
<samplet>You’ll have to fix the cert stuff.
<samplet>It has an “about filter” that tries to make my plain text READMEs look good, too. You could replace it with ‘guile-commonmark’ stuff to be fancy.
<RavenJoad>samplet: Thanks! For cgit, I am just going to rely on its source-filter and highlight to figure out my READMEs.
<gnucode>morning guix!
<XiaoBiHu>Hi, I'd like to change the default guix-profile for the gnome window environment. Do you have any suggestions where and how can I do it, please? So far I've tried to put it in $HOME/.bash_profile, but the programs don't show up in the gnome.
<jab>I am having some issues reconfiguring...
<jab> https://paste.debian.net/1288411/
<jab>guix system: error: service 'term-tty2' provided more than once
<nckx>Eh. Seems like a straightforward bug.
<nckx>Fun fact: (delete foo-service-type) deletes *one* foo-service-type. You need to repeat (delete mingetty-service-type) six times…
<nckx>I suspect this was never intended behaviour and could be changed without breaking expectations.
<lispmacs[work]>Emacs 29 released!
<nckx>Anyway, that's why it complains about tty2 and not tty1. Because it ‘worked’ once.
<nckx>lispmacs[work]: Again? This is becoming ridiculous.
<lispmacs[work]>?
<lispmacs[work]>I think it was released last week, actually
<nckx>Yes.
<nckx>I first thought you meant it'd landed in Guix, but no such luck still.
<nckx>(-next has been 29 for a while, but not 29.1.)
<jab>nckx thanks!
<jab>nckx may I ask what issues emacs 29 is causing for guix?
<lispmacs[work]>i heard the latest version of Emacs automatically translates your init.el snippets into a HPC job that will run on either GPU or beowulf cluster
<nckx>jab: I'm not aware of any issues, are you? Last I read was <https://issues.guix.gnu.org/65000#4-lineno24>. I'm not part of the emacs team.
<jab>I guess I meant that emacs 29 is not the default emacs yet.
<jab>I guess it takes a while to update it.
<apteryx>nckx: that's a recent regression
<attila_lendvai>i'm having trouble adding and starting a PPPoE network connection. should it work?
<apteryx>there's a bug for it
<apteryx>my last message was for nckx
<apteryx>attila_lendvai: is this via NetworkManager?
<attila_lendvai>apteryx, yes
<apteryx>there may be a plugin for that? I've never tried.
<attila_lendvai>guix search doesn't bring up much
<nckx>apteryx: Damn it, I just filed a duplicate then.
<apteryx>I think it's #64106
<attila_lendvai>the archlinux wiki says i should install the rp-pppoe package. could it be that PPPoE support is missing from NM in Guix?
<attila_lendvai>ACTION reboots into some shit, because he nees to test the upstream
<lfam>ACTION has to keep his commit counts high somehow
<nckx>lfam: Hi! People have been asking why 6.5 isn't the default linux-libre.
<lfam>Assuming you mean 6.4... the latest push!
<sneek>lfam, you have 1 message!
<sneek>lfam, nckx says: Why's linux-libre held back ATM?
<nckx>…yes.
<nckx>Yes.
<lfam>Yes!
<nckx>sneek: Thanks, sneek.
<lfam>Basically, I went on vacation for a while
<lfam>I encourage everyone to jump in!
<nckx>Take it as a compliment that my assumption was lfam has a good if mysterious reason and not lfam is slacking.
<nckx>(Vacation? I thought you were American.)
<lfam>Lol
<jab>nckx hahaha
<Guest96>Hi all.  Are there plans to rebridge matrix into this irc in the near future?  (I tried searching the irc logs, but no dice)
<nckx>None concrete.
<nckx>I'm not exactly chompin' at my bits to package and service the needful.
<nckx>And I don't (speaking for myself here) think the EMS bridge is coming back any time soon.
<Guest96>What exactly would need to be packaged?  Synapse + Synapse-side irc bridge?
<nckx>Synapse is packaged, but there's no service for it (AFAIK!), and then heisenbridge package + service.
<nckx>Them both being Python make this a chore for me, but maybe someone else enjoys that sort of thing.
<Guest96>I could make a service for synapse in a jiffy, but I've had trouble updating the package it since it stopped working over a year ago (some python library was updated).
<nckx>A jiffy sounds good.
<nckx>I don't know the first thing about Synapse or its requirements so am ill-suited to that.
<nckx>I think Redis is optional.
<nckx>Which would be nice.
<nckx>ACTION AFK though.
<jab>ok I am brain farting...what is the guix command to update my server's guix.scm from my laptop?
<jab>guix deploy
<jab>ok
<jab>my server at gnucode.me...the sshd keeps getting overloaded I guess, frem people trying to log in.
<jab>I keep having to restart it all the time to log into the server.
<jab>I really need to package the endlessh-service
<apteryx>jab: there's also the fail2ban-service-type
<jab>apteryx: thanks
<apteryx>looks like this in my config: https://paste.debian.net/1288424/
<jab>thanks.
<bjc>is issues.guix still down?
<bjc>nm. just needed a refresh
<bjc>i see nckx has found my modify-services patch
<bjc>what's it gonna take to get that thing committed? the current behavior still causes problems, but the longer we wait, the more the current behavior becomes ingrained
<nckx>I don't see that happening, it's too silly to defend.
<nckx>jab: Not sure exactly what your problem is, but you might like mosh too. As long as you can live without scrollback (or use screen) it's perfect.
<nckx>ACTION thought endlessh was a retrying client so not sure how it fixes a dead server.