IRC channel logs

2022-07-09.log

back to list of logs

<rekado_>since some time M-q doesn’t work correctly in Guix scheme buffers.
<rekado_>when I invoke it on a package description the first line will always be a little too long
<rekado_>has anyone else noticed this?
<lilyp>it was already mentioned in IRC, yeah
<lilyp>I don't think there's a bug repot yet, but you might want to check
<lilyp>s/repot/report/
<Gooberpatrol66>Is there an easy way to get a root shell with all the packages from your user account?
<lilyp>sudo?
<Gooberpatrol66>which sudo command specifically though
<Gooberpatrol66>like if i do sudo -s it doesn't keep my packages
<rekado_>sudo -E preserves the environment
<rekado_>lilyp: thanks, I’ll try to remember to look for a bug report tomorrow
<apteryx>rekado_: I've reported it
<apteryx>to emacs
<apteryx>rekado_: see https://debbugs.gnu.org/db/56/56197.html
<apteryx>bug was closed as "wont fix" I just saw https://issues.guix.gnu.org/56197#12
<apteryx>looks like we'll have to come up with our own fill-paragraph-function... that sucks
<jab>I had a lot of fun playing around with debbugs yesterday. It's pretty cool once you know how to use it.
<jab>It's much faster if you tell it to only search for guix bugs.
<SAIHAZE[m]>Any plan to pack VSCodium?
<SAIHAZE[m]>It is MIT-licensed.
<SAIHAZE[m]>And no non-free network service.
<devmsv>Hello, how can I now why some things works under emacs opened in a tty and don't work on X11 with emacs-exwm?
<devmsv>as an example
<devmsv>on X11 ispell-change-dictionary doesn't see any dictionary installed on my profile. This works under a tty.
<devmsv>I have seen that env ASPELL_DICT_DIR is NOT the same for both
<devmsv>Why is this happening and how can I fix it? Because this is also giving me some problems with emacs-guix and other packages... I gotta say I'm running emacs from git master branch and native compilation if that mattrs
<lilyp>SAIHAZE[m]: bootstrapping electron might take a while
<SAIHAZE[m]>I know.
<unmatched-paren>"quite a while" is a severe understatement
<SAIHAZE[m]>Do you mean that NO Guix user need Electron apps?
<unmatched-paren>I can't remember anyone attempting using them here. Of course it'd be very good if we got them working. The problem is Electron itself.
<unmatched-paren>s/using/to use/
<unmatched-paren>Anyway, we all use Emacs or Vi, so we at least don't need vscodium...
<unmatched-paren>I would highly recommend you learn one of the two, they're very powerful :)
<SAIHAZE[m]>I use Vim, for sure.
<SAIHAZE[m]>But it is anything but an IDE.
<SAIHAZE[m]>Thanks for your advice.
<unmatched-paren>You can turn it into one, neovim especially.
<unmatched-paren>There's quite a lot of neovim plugins available, to the point where it basically becomes indistinguishable from an IDE:
<unmatched-paren> https://github.com/crivotz/nv-ide
<unmatched-paren> https://github.com/LunarVim/LunarVim
<unmatched-paren> https://github.com/optimizacija/neovim-config et cetera
<unmatched-paren>Of course you don't have to use one of the pre-made ones. And Emacs can do similar things.
<SAIHAZE[m]>I see.
<SAIHAZE[m]>Anyway I would try to make codium work myself.
<unmatched-paren>Good luck :)
<SAIHAZE[m]>thanks
<lilyp>I didn't say no one needs Electron apps (in principle they don't, but software has methods of making people dependent on it anyway), I said that adding it to Guix is going to be a hassle, particularly if done alone.
<lilyp>There are several hurdles in between and at this point in time, especially if you're new to Guix, I can only recommend packaging some JS stuff that'll come in handy later.
*devmsv thinks I know the source of the problem... Could it be that some packages are system packages and some are user ones? Since emacs-exwm is a system package env variables related to aspell-dict-* (which is installed as user) are not passed correctly
<lilyp>devmsv: that could be part of a problem, but IIRC exwm starts without reading your profile anyway (at least there've been reports to that effect)
<ulfvonbelow>devmsv: if you've recently installed aspell, you may need to re-login to get the updated environment variables.
<devmsv>So, I have installed aspell and aspell-dict-* as system packages, remove user ones and, after restarting X, and login again dictionaries shows as normal
<devmsv>same think installing emacs-guix as system vs user. I can't get emacs-guix work correctly if it is installed in user profile
<lilyp>did you try adding emacs to your user profile btw?
<devmsv>I have, on the top of my config.scm, defined some packages with transformations. How could I install 'my-emacs' on user profile lilyp? Of course I could use the cli syntax to transform emacs, but that would mean I have to keep in sync modifications on both sites...
<ulfvonbelow>guix package -e '(begin (load "/etc/config.scm") my-emacs)'
<devmsv>thanks package installing ulfvonbelow
<devmsv>related to this, as I have with-commit in the package. How can I prevent guix to compile it with every system reconfigure or guix pull;guix upgrade? I mean, if the package and commit are the same, why is guix building it everytime if nothgin has change?
<devmsv>Now is building it on my user profile. shouldn't it just detect that this package is alredy installed an link to that?
<SAIHAZE[m]><lilyp> "There are several hurdles in..." <- OK. I would do some practice, so that I can make some contributions to this community.
<ulfvonbelow>it could be that the packages aren't the same, for example, because the guix used to reconfigure is different from the guix used to install into the user profile. For example, this can be the case it you ran 'guix pull' after reconfiguring and a dependency of my-emacs changed.
<ulfvonbelow>s/it you ran/if you ran/
<raghavgururajan>Hello Guix!
<raghavgururajan>Talk on Guix @ ILUGC's July 2022 Meetup: https://ilugc.in/ilugc-meet-july-2022/
<raghavgururajan>Sorry for the late information. Was planned very recently.
<Samari>Hey. just got guix running yesterday on my laptop. Everything is going fine, except for 2 small problems:
<Samari>- when I put my laptop in a docking station to have it display on a monitor, it shows no icons anywhere on my desktop but also on the side and top bar and bottom bar
<Samari>- It's not detecting the usb stick I insert
<Samari>so, any idea how I could fix this?
<Samari>ok the problem seems to be linked to the screen resolution. somehow all my icons are being displayed out of the screen display. Anyone an idea what I could do to fix this?
<jpoiret>TIL issues.guix.gnu.org has other GNU projects' issues has well
<sneek>jpoiret, you have 1 message!
<sneek>jpoiret, jgart says: I forgot what :custom does after macro expansion. I'll have to read that code again when I find the time but thnx
<jpoiret>Samari: wrt usb stick, are you using the default configuration with Gnome?
<jpoiret>I think this has udisks and a frontend so it should work OOTB
<Samari>jpoiret I use xfce. I didn't do much yet, just followed the graphical installation.
<Samari>so, I should install some packages?
<jpoiret>i'm not familiar with what xfce contains
<jpoiret>what is your config.scm?
<jpoiret>(mostly the "(services ...)" part)
<jpoiret>you can paste it at paste.debian.net
<Samari>ok so I think I have to install some things then that are xfce specific
<Samari>for the moment my config.scm doesnt have much. Ill show you
<jpoiret>weird that one of my patches never made it to debbugs
<rekado_>jpoiret: it has all debbugs messages at its disposal, but we’re limiting search to our “packages” (guix-patches and guix)
<Samari> https://paste.debian.net/hidden/36c44330/
<Samari>so, not much. a few xfce specific things
<Samari>I think I can solve this problem. now just the screen resolution one, but maybe it's also related to xfce
<rekado_>this fails with a 410 error: guix import go -r https://github.com/gonum/plot
<rekado_>am I using the importer wrong?
<ekaitz>hey guix, how do you hack in guile? `guix shell -D guile` is not enough?
<ekaitz>I managed to run the autogen but I had to add many things to the shell
<ekaitz>why aren't those things added directly if guile has a gnu-buildsystem? I'm talking about automake, autoconf,libtool, gettext...
<rekado_>because the “guile” package is built from a tarball, and thus doesn’t need any of the autotools stuff
<rekado_>this is one of the big design decisions of autotools after all. Users of the tarball don’t need anything but a shell.
<ekaitz>but it still has the gnu-build-system as a build-system
<ekaitz>doesn't that contain all the autotools stuff?
<rekado_>no, because it doesn’t need to
<ekaitz>aw! I understood
<cbaines>I think this is the incantation I use: guix environment guile --ad-hoc automake autoconf libtool flex gettext gmp gperf man-db texinfo
<rekado_>the gnu-build-system will only run autogen / bootstrap / etc when autotools are in the inputs
<ekaitz>and could we put all the autotools stuff in a metapackage or something just to be able to add them all together?
<rekado_>ekaitz: I think that would be a good idea.
<ekaitz>cbaines: thanks! I figured out myself almost all of them!
<ekaitz>rekado_: I may do that then! thanks!
<silicius[m]>Is there some function I could use to wrap a string in quation marks like (wrap "text") -> "\"text\"" ? I found myself doing a lot (string-append "\"" stuff "\"") which looks ugly, maybe there's something guile or guix already for it
<lilyp>silicius[m]: the ~s formatting option
***Dynom_ is now known as Guest8978
<jpoiret>rekado_, ekaitz: also there's been some discussion about what to do with tarballs vs. fetching the dev repo and running autotools
<jpoiret>i'd be in favor of the latter
<ekaitz>jpoiret: me too
<jpoiret>that'd make it easier to hack on the source as well with Guix, but in general I think we should eschew generated files
<ekaitz>also because that way it's easier for the users to use specific commits of the packages, just editing the package description that guix provides
<jpoiret>could anyone with access to the moderation queue check if my teams patch is stuck in it?
<jpoiret>i haven't got an ack from debbugs, but i don't want to send 2 patches in a row
<jpoiret>ekaitz: right! i was trying to provide a patched grub with good LUKS2 support (patches are pending upstream), but now that they don't apply on our version, i wasn't able to easily switch to the grub master :(
<gnucode>hey guix, I am working on setting up dkimsigning for my opensmtpd-records. When one does guix package install opensmtpd-filer-dkimsign; man 5 smtpd.conf, the man page shows this command: https://paste.debian.net/1246665/
<gnucode>essentially the private key for dkimsigning is in the /gnu/store, which is world readable. That documentation must be inaccurate right?
<jpoiret>right, the private key could not be put there anyways since the store is ro
<jpoiret>i think it's just that the man page is generated from a template that just inserts {etcdir}/private.key or something similar
<gnucode>jpoiret: can you give me some tips how I could let users set up an opensmtpd-service with dkimsigning, and let the service take care of copying the private key to /etc ? I would use etc-service-type right?
<jpoiret>and since in guix the etcdir (or whatever it's called) is automagically set to the package output's, that's the reason
<gnucode>56046 is the buy numberfor me opensmtpd-records by the way.
<jpoiret>i don't think you should let the service handle moving the key anywhere
<gnucode>jpoiret: really? that would make my life easier.
<jpoiret>i think the service configuration should hold the absolute path to the key
<jpoiret>and it's the user's responsibility to place it somewhere safe
<gnucode>ok. What is "best practices" for users to put it somewhere safe? I'm thinking "/etc/opensmtpd/dkim/private.key"
<jpoiret>otherwise, an activation service that just does (copy-file path "/etc/dkim/private.key")
<jpoiret>gnucode: depends on the system imo
<vivien>gnucode, maybe the file name should indicate "dkim", "sign" but not "opensmtpd" (because it’s not specific to opensmtpd)
<jpoiret>sometimes you don't want anybody to have access to the file, sometimes you want your single user to have access to it, etc...
<jpoiret>at least, have a-rwx
<gnucode>ok. Should the private.key only be readable by user "nobody" or user "dkim" ?
<gnucode>jpoiret: that activation service would use etc-service-type right?
<gnucode>to copy the file to /etc/dkim/private.key ?
<vivien>gnucode, wouldn’t that put the key in the store? That would be bad.
<gnucode>vivien: I am justing to figure out how to do "otherwise, an activation service that just does (copy-file path "/etc/dkim/private.key")"
<gnucode>I am not certain where/how I would do that... let me grep the guix source code
<gnucode>looks like prosody has an example for me.
<gnucode>hang on... does guix let copy files to /etc inside a gexp? I thought a gexp represented a containerized build environment...one in which you could not access the filesystem.
<vivien>If the key is an input of a gexp, it will be copied in the store, anyone will be able to read the file.
<gnucode>vivien: I guess I do not know what the "input of a gexp" means. But I gather it means don't use etc-service-type. :)
<gnucode>I'll just take a look at the prosody code example.
<jpoiret>gexps can represent plain scripts
<jpoiret>so the script will be built in the store, but run normally outside of a container
<jpoiret>(program-file "name" gexp) lets you generate those iirc
***aeka` is now known as aeka
<orneb>Hello everyone! Tried GuixSD today for the first time. Does anyone have a minimalistic configuration to share with the SwayWM, compatible with Seabios? Ideally no display manager, automatic login after unlocking the luks partition, pulseaudio, light.
<orneb>I have to perform a second installation since I'm getting a bunch of errors during the boot process and I have to type the passphrase twice. Didn't have much time this morning to figure everything out and was curious to try Guix, maybe I forgot or skipped something.
<lilyp>everyone has to type the encryption passphrase twice
<lilyp>apart from that, I'd recommend starting with the bare-bones template (though do adjust it to add disk encryption if that's what you want/need). From there it's easier to get to the system you want rather than running the install process all over again
<johnjaye>what languages do you typically use working on guix
<johnjaye>other than scheme
<johnjaye>i assume autotools,m4,c++?
<ekaitz>johnjaye: guix has a little bit of c++ in its codebase, but it's mostly scheme
<ekaitz>johnjaye: there's also some autotools magic here and there
<johnjaye>i am presupposing most work in guix is either porting packages or debugging their builds once they get in
<johnjaye>if that's not the case i guess my question still applies but would be more obvious
<ekaitz>johnjaye: still, most of that is scheme work
<ekaitz>but it needs understanding of different buildsystems (and ecosystems)
<johnjaye>right. someone was saying before rewriting autotools in scheme might be necessary at some point
<johnjaye>i guess to solve bootstrapping problems.
<johnjaye>like how gcc compiles c compiles perl compiles gcc type of loop
<dirtcastle>I installed emacs and emacs-multi-vterm in the past. I was able to create multiple vterm process. suddenly after upgrading the system, I can't create more vterm processes. I'm using guix on ubuntu
<johnjaye>did you install vterm from melpa or reinstall it after the upgrade
<johnjaye>how do you invoke it
<muradm>hi guix
<nikola`>Hello
<unmatched-paren>johnjaye: autotools doesn't need to be rewritten, it needs to be redirected. to one specific file.
<unmatched-paren>johnjaye: One Day™ we'll rewrite the daemon in Scheme and there'll only be Scheme and (alas) m4 in Guix :)
<vivien>Autotools work great when you use all of them together: autoconf (-archive), automake, libtool, gettext, gnulib, and their friends
<vivien>Has anyone tried to package emscripten?
<vivien>Debian did it
<apteryx>rekado_: I found a clean way to have emacs27-lisp-fill-paragraph set as default in the Scheme files, buffer local to the Guix project in our .dir-locals.el
<johnjaye>by the way. is bootstrapping considered something different than self-hosting?
<johnjaye>for example. m2-planet says it compiles itself. is that "bootstrapping"?
<unmatched-paren>johnjaye: X is self-hosting if X can compile X. X is non-bootstrappable if _only_ X can compile X. Y is a bootstrap path to X if Y can compile X.
<unmatched-paren>sometimes "bootstrapping" refers to building a compiler that compiles itself
<unmatched-paren>other times it refers to reversing that process (finding a YY)
<unmatched-paren>s/YY/Y/
<zamfofex>vivien: Do you need Emscripten for anything?
<zamfofex>I’ve found for my purposes, ‘clang --target=wasm32’ was enough. It might be for you too.
<vivien>zamfofex, there’s no malloc with that, is there?
<zamfofex>There is not. In my case, I wrote a simple ‘malloc’ by myself. (Though previously, I just simply didn’t use it.)
<zamfofex>See here: <https://zamfofex.neocities.org/mimimi/> In particular, check ‘engines/wasm.c’ and ‘index.html’ (as well as the makefile).
<zamfofex>vivien: I build it for release with: make engine=wasm CC='clang --target=wasm32 -O3 -flto' CFLAGS='-ffreestanding'
<vivien>You also have to emulate the file system I suppose
<zamfofex>It depends on wha you are doing. I was really careful to say “it *might* be [enough] for you too”. 🙂
<zamfofex>If you want to port something to WebAssembly, it’s *usually* difficult to avoid needing Emscripten, though when writing something from scratch by youself, it can be easy to avoid needing it depending on what you are doing.
<vivien>I wouldn’t consider writing any program without gettext, so it will be difficult to avoid emscripten unfortunately
<the_tubular75> /nick the_tubular
***the_tubular75 is now known as the_tubular
<the_tubular>Yikes
<dirtcastle>I installed emacs and emacs-multi-vterm in the past. I was able to create multiple vterm process. suddenly after upgrading the system, I can't create more vterm process. I'm using guix on ubuntu
<vivien>Does jemalloc depend on perl?? Or is it just a native input?
<jackhill>vivien: jemprof in the bin output is apparently a perl script
<jackhill>found by asking `guix gc --references` about jemalloc's outputsl, and then grepping for the perl reference
<vivien>OK
<sneek>Welcome back maximed :)
<maximed>sneek: botsnack
<sneek>:)
<maximed>What happened to https://issues.guix.gnu.org/50238?
<maximed>The error messaging could help with a lot of entries at <https://issues.guix.gnu.org/search?query=compute-guix-derivation>.
<rekado_>that one too: https://issues.guix.gnu.org/49671
<rekado_>I’m all for better error messages!
<maximed>I'd like some tests for that (some details about syntax and source locations have changed between Guile versions, so could easily break later), but otherwise looks nice.
<maximed>It introduces a module cycle though (which makes inlining complicated).
<maximed>So maybe the imports need to be lazier (maybe #:autoload is sufficient, or @ though I'm not sure if that makes things lazy, or resolve-module+...)