IRC channel logs


back to list of logs

<viivien>Mmh it seems that guile doesn’t want IPv6 addresses in gethostbyaddr (and won’t list IPv6 addresses in gethostbyname)
<viivien>nckx, it seems that I found it:
<Kabouik>I have been stuck here for more than 7 hours now after a `guix pull`, any idea?
<Kabouik>This is an arm device, if that matters
<Kolev>Is `nmtui` another `setuid` program?
<vldn>Somebody knows why wine is installed here without substitutes but they seem to be available..
<vldn>Trys to Download 900 MB and build a long time
<excalamus>hello, Guix
<vldn>Or a way to reset the profiles or Something other Like deleting the substitute cache
<sam_>Kabouik: i'm not 100% sure but uh
<sam_>Kabouik: i'm reasonably sure it's running the test suite for each package...
<sam_>which is going to take a huge amount of time
<Kabouik>Thanks sam_, but that one in particular seems rather long, others before were seconds or minutes at most
<Kabouik>I'm trying again with a higher verbosity level.
<sam_>some test suites are naughty
<sam_>in my experience ruby ones particularly so
<Kabouik>There's no way to skip them I assume? I don't particularly use ruby, and this is running on a phone, but 7 hours is a tad long (and I stopped it now :<)
<sam_> oh boy
<vldn>With Manual editing of the packages and removing the Check and Test phases maybe?
<sam_>(this is kind of an interesting argument in that thread anyway because usually tests shouldn;'t affect the image)
<Kabouik>Manually editing all packages pulled on a guix pull sounds overwhelming, this is a fresh install of guix-pm and it already pulls dozens of packages
<sam_>i'm rather surprised by this decision tbh
***jonsger1 is now known as jonsger
<Kabouik>I'll let it run through the nite and see if it goes further than ruby-byebugs by tomorrow, but every package install and guix pull will be quite painful.
<Kabouik>Thanks for the answers sam_, vldn. Night if you're in my timezone.
<sam_>goodnight :)
<singpolyma>what could this mean: | 'configure' phasebuilder for `/gnu/store/i6vjkmpxzf3k8j1nych0c3r4rmjlrmvd-pioneer-20210723.drv' failed with exit code 1
<singpolyma>this is just on a normal `guix install pioneer` I am fully guix pull'd
<singpolyma>Oh, I found the log. It seems it's trying to build something from source. I guess substitues are a bit incomplete at the moment since the big push? cmake giving an error so seems this may be a FTBFS situation, so I'll file anyway
<vldn>Good night ;)
<nckx>singpolyma: If it's due to sigc++, should already be fixed?
<nckx>pull again. Push got rejected.
<singpolyma>oh, ok. I will pull again
<nckx>If it does fail, go ahead & file that bug, because it built fine here.
<singpolyma>I filed it already, too quick. But I will comment to say it works if it does after this pull :)
<nckx>Not too quick. I pushed the fix ~an hour ago but didn't stick around for the rejection 😉
<Kolev>I can't tell what is going on here. /home/caleb/Projects/dotfiles/home-configuration.scm:58:9: error: (service home-bash-service-type (home-bash-configuration (environment-variables (quote (("EDITOR" . "emacsclient -t") ("VISUAL" . "emacsclient -t"))))) (aliases (quote (("E" . "SUDO_EDITOR='emacsclient -t -a emacs' sudoedit") ("e" . "emacsclient -t")))) (bashrc (list (local-file "files/dot-bashrc" "bashrc"))) (bash-profile (list
<Kolev>(local-file "files/dot-bash_profile" "bash_profile")))): source expression failed to match any pattern
<nckx>Kolev: You're putting (aliases …), (bashrc …), etc. after (home-bash-configuration …) when they should be inside of it.
<singpolyma>nckx: my build worked. Thanks :)
<nckx>Now you can finally get some work done.
<Kolev>nckx: Ironically, paredit has made it harder to keep my nesting straight.
*nckx doesn't use paredit.
<nckx>I used aggressive-indent-mode for a while, and it was less annoying than I expected it to be, but I still stopped.
<nckx>When working on code that isn't indented by the rules, you end up with noisy patches.
*apteryx doesn't want to touch scheme without paredit
<nckx>You're all making me curious.
<apteryx>the only trick you need to know to preserve your sanity is that to opt out of paredit strictness, you can use C-k (kill) to cut parens or paste them with C-y (yank)
<kozo[m]>Is paredit the one that auto inserts ()?
<kozo[m]>* inserts ()? If so, drove me insane.
<Kolev>kozo[m]: Yes. It drives me insane. And it won't let me remove ) either.
<apteryx>probably, it keeps every parens balanced for you
<apteryx>Kolev: read my tip above
<apteryx>you can also C-u C-d to delete a parens
<kozo[m]>Is there a fancy way to pull a manifest file from a git repo and use it to install packages within config.scm?
<nckx>Mmm, I have auto-) closing when I type ( already [I forgot which option that is😛]. Is that what paredit does or does it really insert (s too?
<Kolev>apteryx: Yank and kill ). Interesting.
<nckx>Ah, it's electric-pair-mode.
<Kolev>apteryx: I feel like Emacs Rocks would have a tut. on Paredit.
<Kolev>nckx: It moves whole S-exps around, too.
<apteryx>ah, I meant 'C-w' rather than 'C-k' to delete a single parens; you have to select the region before.
<nckx>So paredit sounds like aggressive-indent-mode - the indentation + electric-pair-mode + hijacks some interesting things like C-k.
<apteryx>C-k is awesome with paredit though, it clears the whole following s-exp, leaving it balanced. I use it all the time.
<nckx>s/hijacks .*/makes you learn new shortcuts 😛/
<Kolev>nckx: You can move S-exp. intact in and out of other S-exps.
<nckx>So I'm 80% of the way there and will either love or hate the final 20. Interesting.
<nckx>I do that surprisingly seldom, or I'm so used to doing it ‘by hand’ that I don't notice.
<Kolev>Me simple minded. I'll probably stick with manual editing.
***califax- is now known as califax
<apteryx>or M-up to strip one level of nesting. Or C-) to absorb the next s-exp. Or C-} to barf it out.
*nckx wonders how it differs from parinfer-mode.
<nckx>Ugh, more keys to remember.
<apteryx>it'll soon be muscle memory, no worries.
<Kolev>apteryx: It looked like awesome magic last time I saw Emacs Rocks use it. I just can't get my handle on it.
<nckx>So pressing C-d on a ( is already a blunt ‘I'd prefer not to’. 😃 Turns into C-f.
<apteryx>if you really want tho you can C-u C-d
<apteryx>of select it then C-w
*nckx *hmming intensifies* as they play around further.
<nckx>I can see the appeal.
<nckx>It's also driving me batty.
<apteryx>the idea behind paredit is that as long as it's on (and you're not carelessly pasting stuff) you are guaranteed to have balanced parens
<nckx>Then so did Emacs the first 11 times I tried it.
<Kolev>I agree with nckx.
<apteryx>in fact to turn it on all parens need to be balanced to start with
<apteryx>and then it offers you powerful higher level operations on s-exps that almost completely allow you to forget about parens.
<Kolev>I feel like the fact that we need all these high-tech solutions to edit syntax means that the syntax is poor.
<Kolev>It's ok, (). I still <3 you.
<apteryx>I wouldn't call it high tech nor necessary, it's just enabled by it
<nckx>There's no difference between this or editing C or Python with/out auto-indentation
<nckx>It is no more or no less necessary.
<nckx>Unless your point is ‘we haven't *invented* a language without poor syntax yet’, which is true, I agree :)
<ytc>hello. is it okay for me to touch the files in the "~/.guix-profile/"? or do i need to customize the package definitions and install them again?
<apteryx>this seems to demo paredit well:
<nckx>For example, I still see ‘misleading indentation’ compiler errors weekly in maintained production C code. Something like paredit is apparently lacking—not superfluous.
<nckx>Thanks apteryx. But then emacs demos by competent people always look awesome.
<Kolev>nckx: OK, as long as C suffers just as much as )))), I'm ha))))ppy.
<apteryx>hmm, that's actually in Visual Studio Code, so the shortcuts are probably different; the functions should be the same though. Otherwise the classic from 2014 is this:
<nckx>Kolev: It's much easier to balance a ( that a C!
<nckx>Doesn't even look good.
<apteryx>hmm: substitute: guix substitute: error: signature is not a valid s-expression
<apteryx>seems to be something with the signature registered for my offload machine
<apteryx>nckx: eh, that stress-ng test suite is... long! are these the 'lite' tests?
<sam_>that test suite is also notorious for finding kernel bugs :)
<nckx>And yes, that's exactly what I suspected, hence the patch :)
<nckx>apteryx: It's about 10 minutes or less, so not that long, but I do worry if it will do interesting things on heterogenous hosts…
<apteryx>seemed long on my 2007 machine ^^
<nckx>The ptrace thing alone might be a me-thing.
<nckx>It's 2022 now. 2013 machines are where it's at.
<apteryx>phase `check-a-little-harder' succeeded after 567.8 seconds
<apteryx>that's less than 10 minutes. Good old machine.
<nckx>(I was reallly hedging my bets with the 10-minute guess. It was far less here.)
<nckx>I don't think the time is an argument to skip them, but stability could be. dmesg logs lots of interesting things here during the suite!
<vagrantc>anyone else able to successfully "make dist" on guix master?
<nckx>Then again, so do many other packages with much longer suites. 🤷
<nckx>vagrantc: OK, I'll bite…
<vagrantc>i wonder a bit how i may helpfully move forward the idea to run "make dist" in CI too...
<vagrantc>nckx: imagemagick
<nckx>Right, but was that your issue?
<vagrantc>i run it inside of this: guix shell --container --pure --development guix guix git imagemagick perl less glibc glibc-locales
<nckx>Uh. Kay.
<vagrantc>/gnu/store/b0gfy12ns41zlsn7x5cdjnmaac9vcvgd-profile/bin/msgfmt: en@boldquot.po: warning: PO file header missing or invalid warning: charset conversion will not work
<vagrantc>/gnu/store/b0gfy12ns41zlsn7x5cdjnmaac9vcvgd-profile/bin/msgfmt: found 1 fatal error
<vagrantc>nckx: worked for you?
<nckx>No, I was just making a nasty face at that ugly command line. Trying it now.
<nckx>‘error: store file names embedded in the distribution’
*nckx *makes raspberry fart noises* this checkout is extremely filthy, no doubt, I'll try a clean one.
<vagrantc>now we're debugging two errors! :)
<vagrantc>yeah, i "git clean -dfx" ... export LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 ; ./bootstrap && ./configure --localstatedir=/var && make -j11 dist
<vagrantc>to make sure i have no cruft leftover
<nckx>Sweet jerbus.
<vagrantc>this is ... uh ... on debian as a foreign distro :)
<nckx>Still, would it make sense to move some of this into the Makefile (or wherever)?
<nckx>The environment stuff, maybe even the ‘guix shell’?
<vagrantc>on a foreign distro at least, you'd still have to somehow run a shell within a shell, then, to be able to do that
<vagrantc>er, a guix shell within a guix shell ...
<nckx>I'm too tired to follow the argument but I believe you.
*nckx still cloning…
<vagrantc>anything that would make "make dist" work more reliably i'm a bit fan of :)
<vagrantc>big fan, too
<vagrantc>within, uh, reasonable contraints :)
<vagrantc>and,having dropped that surprise, i think i should wander off now ...
<vagrantc>i'll try to drop a message on the list tomorrow if i manage to remember
<nckx>Yes, please do, I'm about to fall asleep :)
<nckx>It seems like rather a good thing to get working before the release.
<vagrantc>yeah, i always start trying it so i can run it through the Debian package test suites :)
<vagrantc>and ideally get the issues fixed before the release :)
*vagrantc waves
<nckx>sneek: later tell vagrantc: I ran the same 2 commands you posted above on a Guix System, and got (presumably) the same error: ‘msgmerge: error while opening "guix.pot" for reading: No such file or directory’. Twice: for en@quot.po, and en@boldquot.po.
<nckx>sneek: botsnack!
<apteryx>nckx: woof, stress-ng is for sure a heavy stresser; ran it with '--all 1' and my system was barely usable for 10 minutes while I tried to kill the process ^^'
<apteryx>I've replied on your patch with a small comment
<nckx>apteryx: OK, so
<nckx>I *removed* parallel-tests from the (rather old) package after noticing that every package I happened to look at did not use it. ‘Finally,’ I thought, ‘we got rid of that silly duplication’.
<nckx>I didn't do a comprehensive search though.
<nckx>I still think (if multiple-things? (number-of-things) 1) is stupid. Is it really still needed? ☹
<nckx>I guess so.
<nckx>I'll make the change & push. Unless you want me to make the warning bold 😉
<apteryx>nckx: yes, it's still needed. May come in handy if the tests were ever suspected to fail due to running in parallel.
<apteryx>thank you for packaging it!
<nckx>It would have been totally forgotten if you hadn't happened to've mentioned it wasn't in Guix yet, because I thought it was, so thanks.
*apteryx cooks a world rebuild overnight
<apteryx>later o/
*nckx → 😴💤 o/
<Noclip[m]>Do the hashes in the /gnu/store only depend on the build-inputs or do they also depend on the build output (the fully compiled binaries)?
<PotentialUser-30>Hi, How does I execute commands from package in /etc/config.scm after a file was created ? Basically I want to create a bridge interface for virt-manager following this tuorial :
<bricewge>Hello Guix!
<bricewge>PotentialUser-30: Which command do you want to execute `virsh`?
<bricewge>You want to connect to your local libvirt instance? Does your system is configured with `libvirt-service-type`?
<PotentialUser-30> : yes I have libvirt-service-type that works fine
<bricewge>Ok, so the libvirt package is in your system's profile, and should be in /run/current-system/profile/bin/virsh
<bricewge>If you can't just call `virsh`, there is an issue with your `$PATH`, as it should contains `/run/current-system/profile/bin`
<PotentialUser-30>bricewge : yes I confirm
<bricewge>Noclip: It depend on the inputs
<daviwil>Scheduled a live stream for later today to discuss reasons people have given me for not trying Guix:
<daviwil>I imagine none of it will be surprising to Guix maintainers and contributors, but it'll be nice to clear up some misconceptions and doubts
<mothacehe>daviwil: nice idea, i'll watch it :)
<daviwil>mothacehe: Will be glad to see you there :)
<PotentialUser-30>bricewge : my problem is now simplifier because I found out that the package libvirt already shipped the necessary config files, so I "only" need to execute commands in /etc/config.scm using the binary referred by the store. What is the clean way to do this only once so that my setup can have replicability ?  Becuase I suppose just doing an ugly
<PotentialUser-30>(system (string-append virt-manager "/etc/bin/virtsh" )) is not replicable / introduces stte managemnt instead of function config.
<civodul>Hello Guix!
<bricewge>PotentialUser-30: Reading between the lines here, you want to define a libvirt network inside your `operating-system`?
<civodul>daviwil: great idea!
<civodul>i won't be able to attend but i'm curious to read the takeaways
<PotentialUser-30>bricewge : yes this is what I want and that I don't know how to do (I know how to execute the commands, not how to do it well inside /etc/config.scm)
<daviwil>civodul: I'll put everything in the show notes afterward, I can share the link here after the stream is done
<bricewge>PotentialUser-30: If so, `libvirt-service-type` don't support that (yet?). So first I would look if you can configure libvirtd to read your network definiation at startup, to avoid having to call `virsh` to load the config manually.
<bricewge>PotentialUser-30: If it's not possible, you'll probably need to define your own service depending on `libvirtd` and executing one shot commands after `libvitd` has started.
<abrenon>good morning guix
<PotentialUser-30>bricewge : thanks, your guiding was very useful (y) . Sadly it is the latter (libvirtd-service-type doesn't have an option to setup network) so Im gonna have to dig the source code and see what I can salvage and copy/past until I get a working service that loads the network files.-_-
<user_oreloznog>Hi Guix!
<federico>hello guix
<jpoiret>Noclip[m]: the output hash depends only on the inputs and builder
<jpoiret>we have no way to know in advance what the package will hash to, and many packages will need to contain a reference to their own directory
<jpoiret>Kolev: nmtui is not a setuid program and shouldn't be, as NetworkManager has a different security model
<jpoiret>it uses polkit
<jpoiret>see for a more in-depth explanation of how it works
<jpoiret>basically, if you're in an active session (needs elogind), you'll be able to use it without any issue
<mfg>Hi, has someone had a look into 49969 after the merge?
***federico is now known as fproverbio
<attila_lendvai>if someone knows gnome/glib, suggestions are welcome wrt packaging gpaste (it works, but i'm clueless):
*attila_lendvai is afk for a meal
<jpoiret>attila_lendvai: I think you need to look into adding #:glib-or-gtk? #t to the arguments
<jpoiret>that will compile the schemas for you, even could take care of what you're manually substituting
<jpoiret>it may also cause headaches, no guarantees given
<Noclip[m]>> many packages will need to contain a reference to their own directory
<Noclip[m]>jpoiret: Wasn't aware of that, thanks.
<attila_lendvai>jpoiret, thanks! will try that
<vldn>can someone test if the problem is on my side? :D i try to install wine with guix install but it trys to build it even if there are substitutes avaiable via guix weather..
<vldn>trys to build pulseaudio bluez libical openal libnotify dconf qtbase and a lot of texlie an druby
<mfg>vldn: guix install wine?
<rekado_>I’m trying to debug lualatex font search now
<vldn>does it pull the substitutes like expected at your install?
<rekado_>it finds the otf font … and then looks for inferior font types and claims it couldn’t find any
<mfg>nope it says it's going to build a lot of derivations :D
<mfg>so exactly as it is for you
<jpoiret>looks like it is pulling substitutes for me
<jpoiret>are you on x86_64?
<mfg>me too
<jpoiret>weird then
<vldn>seems like a bug with a minimal guix config
<vldn>i don't use desktop services and such
<vldn>i also tried to delete the subs cache
<abrenon>finally managed to get ibus working !
<abrenon>but anthy disappeared
<vldn>do you do any fancy like using multiple profiles or something @ mfg?
<mfg>vldn: same ehre, i use sway and don't use many of the desktop services...
<vldn>oh interessting :)
<mfg>vldn: yes i have two profiles
<vldn>me too, sway minimal install
<jpoiret>i don't think that would change anything
<mfg>but i also haven't rebooted since some time...
<jpoiret>have you guix pull'ed recently?
<vldn>right before
<vldn>and i'm trying since a week :D
<vldn>i also have (map specification->package %packagelist) guile magic to load packages a bit easier without less typing in my operating system definition.. maybe..
<jpoiret>are you installing wine system wide?
<vldn>tried both, in package list and with guix install
<vldn>same outcome
<vldn>even with a manifest file
<jpoiret>when you want to test without clobbering your existing profiles i recommend using `guix build wine`
<jpoiret>could you try upgrading your system and rebooting? maybe the guix daemon needs to be upgraded
<mfg>guix build wine substitutes it correctly for me, but guix shell wine tries to build all the things
<vldn>me too mfg
<vldn>guix build works as expected
<vldn>guix install doesn't
<vldn>seems like my profile is f**ed up :D
<jpoiret>you can just guix build it then, and later install it
<jpoiret>it will use the store copy
<jpoiret>tbh wine is a complicated package, it needs 32-bit libraries
<vldn>but what's going on? why is guix install not working? is there a way to reset the profile? other than just pulling a new version?
<jpoiret>there might be an issue there
<jpoiret>it's not a profile issue i think
<mfg>well actually it doesn't. `guix build wine' says everything is substituted and locally available, but `guix shell wine' still tries to build it.
<vldn>but nice to have new fallback method with guix build.. :D
<vldn>same here mfg :D
<vldn>guix build wine finalized with subs
<vldn>afterward i ran guix install wine and it tryed to build again without subs..
<jpoiret>well, i'm having the same issue
<jpoiret>i think it is worth reporting then
<vldn>maybe some texlive thing? the whole texlive deps were missing while building and come into play while guix install runs..
<civodul>viivien: re gethostbyname & co. which you mentioned yesterday, these are IPv4-only functions; use getaddrinfo to support both IPv4 and v6
<jpoiret>vldn: texlive is often pulled when building locally, because gtk docs need them i think
<mfg>is there a faster command to get the size of a directory other than `du -sh .'?
<jpoiret>du is the simplest you could do.
<jpoiret>computing the size of a directory requires some work
<mfg>alright, i'll wait then :D
<mfg>also, i will reboot and see if it still doesn't use the substitutes
<jpoiret>there's `ncdu` if you want a cooler-looking thing, it's ncurses-du
<jpoiret>i use it all the time
<mfg>is it a separate package?
<mfg>looks nice, thx for the tip
<vldn>find . -type f -print0 | xargs -0 -P 0 -n 1 du -h
<vldn>maybe parallising a bit?
<vldn>but will not do much i think
<vldn>just run ncdu :)
<vldn>somebody knows why guix is using so much Inodes on ext4?
<vldn>or do i missing a mount option here
<vldn>but my inodes are sometimes 100% full even if i have 50% space left
<fiesh>maybe due to the large number of symbolic links is uses? don't really use ext any more, so can't say anything
<mfg>and i just found: at least when using btrfs compsize is extremely fast
<mfg>vldn: having the store on btrfs with compression enabled is nice, it gives ~50% compression rate here
<mfg>and you don't have the ext4 problems
<mfg>i'm rebooting
<mfg>so, the problem is the same :(
<vldn>symbolic links shouldnt be a problem, more of a problem are lot of small files and big directories
<vldn>i had used btrfs for 2 years after i had run rm -Rf *.* and try to reconstruct some files with photorec...
<vldn>now i'm back to ext4 to have some fallback if i do something idiotic.. :D
<vldn>same problem here with wine @ mfg
<mfg>vldn: i made a similar mistake once :D dd'ed the partition table away... luckily i was fast to cancel and could reconstruct
<viivien>civodul, wow, thank you
<viivien>Combined with the netlink API, I can now write a more robust server :)
<mfg>cldn: depending on what you wnated to do with wine: wine-minimal actually gets substituted correctly
<mfg>so if your application isn't graphical this should work :D
***dgcampea-2 is now known as dgcampea
<vldn>Good to know @mfg
<jonsger>civodul, mbakke: thanks for your incredible work as (co-)maintainers! I hope much that you stay around at Guix :)
<mbakke>jonsger: thanks :) and don't worry, I will still keep hacking on Guix as time permits
***califax- is now known as califax
<bricewge>Looks like Nix is working on adding ACLs to the store, so they can put private secret in it
<sash-kan>hi all!
<sash-kan>the `SOL_TCP` constant is used twice in the source code:
<sash-kan>when building guix under freebsd, i replaced it with `IPPROTO_TCP` (found this advice on the internet).
<sash-kan>is this a correct portable replacement suitable for both gnu/linux and gnu/hurd?
<attila_lendvai>jpoiret, thanks! with #:glib-or-gtk? #true it became a bit simpler/smaller (
<jpoiret>glad it worked out for you :)
<jpoiret>although #t is the standard scheme notation
<vldn62> mfg
<vldn62>performance seems not so nice on btrfs too
<jpoiret>mothacehe: thinking about it, won't backtraces also end up containing passwords?
<jlicht>hello guix
<mothacehe>jpoiret: i don't remember exactly how password are handled but seems possible yes
<jpoiret>well, some of them end up in results
<mothacehe>then they can be in backtraces
<jpoiret>or all of them rather, i think
<jpoiret>uhm, that'll be harder then
<jpoiret>i've been looking at display-backtrace code so that we can ditch the (terminal-width 200) hack
<jpoiret>maybe simply displaying the error along with the location of the topmost stack frame would be enough for our purposes?
<jpoiret>eh, i guess it's not that simple, since the stack isn't captured right as the exception occurs, eh
<mothacehe>even with a full backtrace figuring the code path isn't always simple, so i
<mothacehe>'d prefer to have it complete
<jpoiret>mhmm, or display the full backtrace but without any arguments?
<jpoiret>or, we could handle passwords differently, but that'll require some more thought
<mothacehe>yeah maybe writing them in some file, and then read the password file just before the "guix system init" call
*attila_lendvai is constantly annoyed by the truncated (useless) backtraces from guile
<jpoiret>or, we could use an opaque struct or something similar? so that display/write cannot actually access its contents
<civodul>attila_lendvai: well there has to be some truncation or you could easily end up with MiBs of bytevectors and the likes :-)
<attila_lendvai>if passwords are represented as byte vectors, then they won't be printed in backtraces (or a custom type that wraps the string)
<civodul>it's just that often too much is truncated, or too much interesting stuff at least
<mothacehe>jpoiret: sure seems less hacky
<civodul>attila_lendvai: that's a good idea attila_lendvai
<civodul>you'd create a <secret> record type that just "boxes" strings
<jpoiret>i don't want to deal with no encoding issues, simple record that is :)
<civodul>with a special writer that write #<secret 123> and that's it
<attila_lendvai>civodul, coming from common lisp, guile backtraces are not just truncated, but useless. and turning off or altering the truncation is not trivial. i've tried looking into it multiple times, and ended up wasting more time than the bug itself.
<mothacehe>jpoiret: regarding the "External command" pages, having the command output is extremly valuable when debugging the installer, but I feel like it is making the installation a bit more cumbersome
<jpoiret>how do you add special writers? the guile manual doesn't seem to talk about that at `Scheme write` where write/display are documented
<mothacehe>but maybe other people think differently
<civodul>jpoiret: set-record-type-printer!
<jpoiret>mothacehe: sure. Do you think we should also hide command output while they're running?
<jpoiret>civodul: thanks!
<civodul>attila_lendvai: with your CL background, do you have ideas on how to make them "more useful", or how to truncate less/better?
<mothacehe>jpoiret: maybe we could capture and save the command output and only print it if the command failed
<civodul>regarding "usefulness", CL doesn't have tail-call optimizations (right?), and that too plays a role
<jpoiret>mothacehe: ehe, we totally can with the new logging facility
<jpoiret>i'll figure out how to avoid that for the `guix init` call at the end though
<mothacehe>oh right that's an exception
<htsr[m]>I can't use valgrind on any binary. This is the first line of the error message: "Fatal error at startup: a function redirection which is mandatory for this platform-tool combination cannot be set up."
<mothacehe>a black screen for several minutes/hours wouldn't feel right :p
<attila_lendvai>civodul, the CL printer has special variables like *print-level* and *print-length*, and the backtrace printing responds to those. then there's a semi-public API to walk the stack and construct the backtrace yourself for special purposes, but primarily it's Slime, with a fancy navigable/inspectable backtrace in emacs, which is like Geiser but much more developled
<jpoiret>guile has a whole stack/backtrace api too
<attila_lendvai>civodul, not as part of the standard, but most implementations do TCO
<civodul>attila_lendvai: ok
<attila_lendvai>optimized code has a shorter backtrace with more holes in it
<civodul>comrades, thoughts about 'guix style'?
<abrenon>trying to understand the example in to figure out how I could use guix as a reproducible "gnu make" to generate a .pdf out of a .md with pandoc
<abrenon>all the '#'-prefixed operators are gexp stuff, right ? are those mandatory to be able to write anything useful for my purpose ?
<abrenon>if so, any good reference material listing and explaining them (I know what a monad is) ?
<jpoiret>not necessarily, all # prefixed things are actually guile reader extensions
<jpoiret>like #\ to denote a character literally
<abrenon>…or "#:" for function keywords ?
<abrenon>and… what's a "guile reader extension" ?
<abrenon>who defines them ? and how can I understand what the "#~" before (begin …) could be ?
<rekado_>you can extend the reader yourself by installing a character handler on a character after #
<jpoiret>#~ is just cool for (gexp)
<jpoiret>(with other little bonuses of course)
<rekado_>the (guix gexp) module defines (gexp …) and (ungexp …) and friends
<rekado_>#~ is a syntax shortcut for that
<rekado_>much like ' is syntax for (quote …)
<abrenon>that sounds like a very important thing to know, thank you
<jpoiret>basically you tell the guile reader "hey, whenever you see # and my custom char, let me handle the reading myself"
<abrenon>so what "installed" this handler ?
<jpoiret>the relevant code for gexps is at the bottom of guix/gexp.scm
***lukedashjr is now known as luke-jr
<abrenon>read-hash-extend… I forgot the '\' in my grep
<abrenon>thank you !
<jpoiret>we say installed, but there's no filesystem modification, just expand-time code
<abrenon>yeah, I had understood this "install" in the sense of "handlers" and wasn't concerned about the term
<abrenon>is that the "right way" to generate a PDF reproducibly from a markdown file or are there more convenient ways to do that ? (obviously, writing a Makefile a manifest with the required tools and running make through a guix shell is another possibility)
<ytc>hello. i've been using guix system with i3-wm for couple of days and i've noticed that the mouse cursor's icon theme is not the one i had set all the time. it changes from window to window. i installed the "adwaita-icon-theme" package but it's still the same. do you have this problem too and know how to fix it?
<abrenon>ytc: using i3-wm too, no I have never had this issue
<civodul>abrenon: the right way is what sounds nice to you :-)
<civodul>sometimes manifest.scm + Makefile is more convenient
<civodul>sometimes a single end-to-end guix.scm is better
<abrenon>I don't know yet how to judge what's best in given situation, because I've never done anything past manifest.scm + Makefile
<abrenon>so I was curious if that was the right time to learn more, or if there was a really huge conceptual gap (or no point at all)
<fproverbio>civodul: red the patch notes, the "normalization" for the rust importer would be nice!
<civodul>fproverbio: yup, i should resume work on that!
<civodul>abrenon: sometimes you may find it more convenient to have the final result straight in $PWD rather than in the store, for instance
<civodul>or sometimes you want something where you can fiddle with intermediate build steps, which a makefile lets you do
<abrenon>ok, good point
<civodul>efraim: what are your thoughts about the rust-pangocairo/librsvg/gtk+ cycle?
<civodul>how can we break it?
<podiki[m]>sneek: later tell ytc probably something to do with gtk cursor themes; on a plain WM you need to manage more yourself (maybe look into an xsettings daemon too)
<rekahsoft>Hi all. Before posting to the mailing list I wanted to ask about an issue I'm running into where a network file-system (cephfs in this case) with #:mount? #t fails a 'guix system reconfigure ..', with error: "device '<ip0>,<ip1>,<ip2>:/file-vault' not found: no such file or directory". Am I missing something simple? Can someone share an example of an operating-system configuration where a network file-system is de
<rekahsoft>ned and auto-mounted?
<rekahsoft>Here is the file-system definition that has the issue:
<rekahsoft>Its seems to me that I need to leave #:mount? set to #f and add a shepherd service that will mount the file-system (based on my understanding of the device field of the file-system data type)
<dissent> -- interesting livestream by systemcrafters "why geeks don't use guix"
<podiki[m]>looks like a bit of a debunking or answering the common questions for someone that is interested but thinks they can't get everything they want?
<dissent>podiki[m]: david is helping bridge the gap for nubs. his videos inspired me to try out guix.
<podiki[m]>dissent: yup, one of the early (and only) Guix content I saw early on too
***lukedashjr is now known as luke-jr
***lukedashjr is now known as luke-jr
<daviwil>Here are the show notes from the stream:
<Zambyte>daviwil: Thank you for the videos that you've been making, they've been very helpful :) looking forward to your future videos!
<daviwil>Zambyte: hey, thanks a lot! I'm looking forward to talking about a Guix a lot this year :)
<florhizome[m]><ytc> "hello. i've been using guix..." <- this probably comes from different toolkits and maybe your wo using different settings. you can use something like xsettingsd to manage your gtksettings, for qt normally I would use qt5ct
<jacereda>Looks like a job of the form (job "*/5 * * * *" "mbsync -a && notmuch new") will invoke `sh -c mbsync && notmuch new`, shouldn't that be `sh -c "mbsync && notmuch new"` instead?
***Xenguy_ is now known as Xenguy
<jacereda>oh, well, I forgot the `-a` in the second form, but the idea is it should run both commands under shell
<aadcg>hi! I'm having the following issue: Unable to load any of the following any ideas?
<jacereda>or simpler, run the job unwrapped and let the user use the "sh -c" if desired
<shtwzrd[m]>What's the sensible way to make `require("some-package")` work in lua when one installs lua packages via guix? The libraries do not end up under /usr/local/share/lua/5.1 because they go into their own package folder under /gnu/store of course. I could add that path to `package.path` myself but that's going to be brittle.
<shtwzrd[m]>I was hoping LUA_PATH would just be set somehow but that doesn't appear to be the case.
<lilyp>shtwzrd[m]: spawning an env with all your lua stuff will at least give you a single directory to set LUA_PATH on
<lilyp>LUA_PATH is a very confusing variable and therefore Guix lacks a search-path equivalent sadly
<lilyp>if you're building a lua application, you ought to bake the store paths into it
<shtwzrd[m]>lilyp: Sorry, how do you mean? If I make a manifest that consists of `lua@5.1` and `lua5.1-socket`, and then spawn an env via `guix environment -m`, when I launch the interpreter it can't find "socket". Am I doing it wrong? How do I get the single directory?
<lilyp>you have $GUIX_ENVIRONMENT set, so you only need to construct $GUIX_ENVIRONMENT/share/lua/...
<shtwzrd[m]>nvm I'm just dumb :D I see it now
<shtwzrd[m]>Thanks that helps a lot :)
<ngz>Hello. Git question: I have some patches that I added in a "foo" branch on top of master, but I want to add them on top of staging instead. Is there some invocation that could do it quickly? I assume it is related to cherry-picking.
<PotentialUser-15>Hi all! Where can I download the development image for Pinebook Pro? The link on is broken. Thanks!
<sneek>Welcome back notmaximed!!
<notmaximed>sneek: botsnack
<notmaximed>Public key pinning, to be resistant to CA compromises/corruption:, WDYT?
<notmaximed>Might be useful for "guix lint", "guix download", "guix refresh -u", "guix build --with-latest"
<vldn>Is it possible to include local Files in the manifest File?
<vldn>E.g local packages
<notmaximed>vld: do you mean local-file or package?
<notmaximed>Guix doesn't have a concept of 'local packages'. It's all just packages to guix
<notmaximed>so you could do (packages->manifest (list (package (name "foo") [...]) (specification->package "hello")))
<vldn>Alright :) lets trys this
<notmaximed>There's also procedure 'local-file' in Guix, but that's another thing entirely, presumably not what you were looking for.
<SeerLite[m]>ngz: With patches you mean commits, right? I think `git cherry-pick` with staging checked out should do what you want (as long as you've done no merges to/from foo)
<nckx>Morning, Guix.
<notmaximed>I sent a mail to guix-devel about the public key pinning paste, with more details
*notmaximed leaves
<dckc[m]>guix pull has been running for 20 minutes. Am I doing it wrong?
<dckc[m]>9edb3f6 to 2dfbd03 5,405 new commits
<dckc[m]>55 days old. Should I expect this every 2 months?
<singpolyma>dckc[m]: probably should pull more often, ideally
<dckc[m]>but if I _don't_ pull more often, I can expect to spend 20+ minutes catching up?
<dckc[m]>any idea how long this is going to take, in fact?
<ngz>SeerLite[m]: Thank you.
<singpolyma>Depends on your computer, I guess. It's never that long for me, but my workstation is silly
<dckc[m]>6799.81 bogomips x 4, 16G RAM, SSD. Kinda unremarkable workstation here, I think.
<dckc[m]>30 minutes and climbing
<dckc[m]>should I kill it and try again? is it still making progress? the spinner has stopped
<dckc[m]>ah... making visible progress again...
<dckc[m]>guile-3.0.7 twice?!
<jlicht>dckc[m]: there was a big merge some weeks ago; I'm guessing slows down things a bit :-). So tldr: if you are pulling 5k commits, expect what you are seeing now; normally you won't see that many commits though
<Kolev>jpoiret: Re nmtui: Thanks.
<dckc[m]>whew! it's done. gotcha, jlicht ... so this _is_ a bit unusual
***jackhill is now known as KM4MBG
<dckc[m]>I'm using guix inside Ubuntu... one reason is that I use Brave as my browser. Anybody here use Brave in guix?
***KM4MBG is now known as jackhill
<jlicht>you can expect it to happen possibly once a year. No hard guarantees of course, just a practical rule of thumb. In most cases, you'll be able to enjoy those sweet sweet binary subsitutes that speed things up in most cases.
<jlicht>*minux one of the "in most cases", but you probably got it anyway
<vagrantc>GNU/Minix Guix ? :)
<sneek>Welcome back vagrantc, you have 1 message!
<sneek>vagrantc, nckx says: I ran the same 2 commands you posted above on a Guix System, and got (presumably) the same error: ‘msgmerge: error while opening "guix.pot" for reading: No such file or directory’. Twice: for en@quot.po, and en@boldquot.po.
<vagrantc>nckx: thanks!
<vagrantc>clearly guix should just drop all this support for multiple languages and stick to esperonto
<jlicht>vagrantc: if you can write a guile frontend for it, sure :P
<drakonis>stick to lojban :v
<dckc[m]>`guile: warning: failed to install locale` er... clues?
<dckc[m]>ERROR: In procedure setlocale:
<dckc[m]>In procedure setlocale: Invalid argument
<dckc[m]>`guix install glibc-locales` seemed to make it happy
<dckc[m]>I wonder why `guix install haunt` didn't satisfy that dependency (`haunt` is what spit out the above error)
<civodul>dckc[m]: the locale warning was removed from guix quite a while back, in 1.3.0 or before
<civodul>which version of the "guix" command, and which version of guix-daemon are you running?
<dckc[m]>$ guix --version
<dckc[m]>guix (GNU Guix) 2dfbd03a609a5781aa1391639526e9029b01c392
<dckc[m]>$ guix-daemon --version
<dckc[m]>guix-daemon (GNU Guix) 1.3.0-19.a9f2cc8
<dckc[m]>I just did a `guix pull` and `guix package -u` 10 minutes ago.
<vagrantc>your user's guix-daemon isn't necessarily the one the system is running
<dckc[m]>so... clues on how to get the relevant version of guix-daemon?
<drakonis>try... rebooting?
<drakonis>or advancing your system generation?
<dckc[m]>guix isn't running the whole show here. I've got guix installed on Ubuntu
<dckc[m]>and I'd rather not reboot just now
<dckc[m]>trying emacs from guix..
<drakonis>i see
<drakonis>did you install the guix package on ubuntu?
<dckc[m]>doubt it. I think I did some curl-bash thingy from
<drakonis>i see
<nckx><so... clues> Yes, read the manual:
<nckx>vagrantc: Indeed, our support for English bites us yet again ☹ And our support for… er… bold quotes? I guess that's where error messages get replaced with ‘Dare to dream!’ ‘Never give up!’ and whatnot
<nckx>OK pretty sure I want that, now, and not the obsolete VT100 thing it actually is.
*vagrantc begs for a ci job for "make dist"