IRC channel logs

2018-10-24.log

back to list of logs

<pkill9>does `guix refresh -L` fail with an error for anyone else? "guix/import/cpan.scm:275:20: In procedure cpan-package?:"
***jonsger1 is now known as jonsger
<luciddreamzzz>does "cons*" somehow ignore default lists like '%base-packages'?
<luciddreamzzz>would think anything in addition to a default would then need cons* but it does not seem so
<nckx>luciddreamzzz: Where so?
<luciddreamzzz>nckx, ;; cons* adds items to the list given as its last argument.
<luciddreamzzz>i thought I saw a place where cons without * was used where there was %default and a single data type
<luciddreamzzz>OK it was a users file he uses "(cons (user-account..." then "%base-user-accounts))" at the end
<luciddreamzzz> https://www.gnu.org/software/guix/manual/en/html_node/Using-the-Configuration-System.html
<luciddreamzzz>maybe contributor i got config from github
<luciddreamzzz>I think I just need to remember: ;; cons* adds items to the list given as its last argument.
<nckx>luciddreamzzz: I'm still not really sure I understand your question, but then I'm also very tired.
<nckx>The difference between CONS and CONS* is only in how many arguments they accept. The last argument to both is a list, any list. The name of that list doesnt matter (it can be %default-packages or my-favourite-vegetables).
<nckx>(cons* a b c foo) is mere shorthand for (cons a (cons b (cons c foo))).
<nckx>Because CONS can only, well, cons one element at a time and that quickly becomes annoying.
<nckx>There's no other magic going on.
<luciddreamzzz>I think that makes sense
<luciddreamzzz>should it then be "(cons* (user-account..." then "%base-user-accounts))"?
<luciddreamzzz>and it _is_ a typo?
<luciddreamzzz>because he is cons two data elements: (user-account) and %base-user-accounts
<luciddreamzzz>if that parses i feel like it ignores lists, and * is implied??
<nckx>CONS takes exactly two arguments: an 'element' and a list. It adds the element to the list.
<luciddreamzzz>implied whenever using a list
<luciddreamzzz>OK i see
<luciddreamzzz>that was the other option :)
<nckx>(To the 'front', by the way.)
<luciddreamzzz>hmm alright
<luciddreamzzz>Thank you.
<nckx>If FOO is (a b c), then (cons d FOO) returns (d a b c).
<luciddreamzzz>OK yes that makes sense.
<luciddreamzzz>I do see that now, any time cons is used there is a %list
<nckx>Lists don't have to start with %, by the way, it's just a convention for certain global variable names. And not everyone follows that convention.
<luciddreamzzz>I was going to assume that from your example 'FOO' actually hmm
<nckx>One more thing: CONS is right in the example you posted, but as soon as you'd want to add two user accounts at once you'd want to use CONS*. And since (cons* x list) is equivalent to (cons x list), I always use CONS* in my configuration.
<luciddreamzzz>i see... good that will avoid confusion later also
<nckx>It's not necessary for me, but it solves this exact problem: people new to Scheme/Guix trying to learn by messing around (which is how I did it :-).
<nckx>Yup.
<luciddreamzzz>hehe :)
<luciddreamzzz>yeah I am trying to start by understanding the configuration system just going through each section
<nckx>Yeah, it's best to just dive in. Getting results is motivating. I had never even heard of Scheme (just Lisp) before I tried Guix. Now I'm... reasonably proficient?
<nckx>I'd dare say so.
*nckx → 😴
<nckx>Good luck!
<luciddreamzzz>Thank you again. Yeah I will keep plugging away! :)
<luciddreamzzz>That was helpful
***rekado_ is now known as rekado
<rekado>Hi from Shenzhen!
<rekado>(just arrived)
<efraim>Hi!
<nico202>Is there a nix to guix cheatsheet? Sometimes I find myself wanting to replicate what I usually do on nix but don't know how. This time is: nix-env -f . -i package (to install a package from a local nixpkgs checkout)
<g_bor>hello guix!
<roptat>hi guix!
<roptat>nico202: from a git checkout of the guix repo, you can run ./pre-inst-env guix package -i [package] (or any guix command)
<roptat>is that what you wanted to know?
<nico202>rotmat: It might be.. the aim is to use my installed guix to install a package defined in the checkout
<roptat>the command I gave you uses the freshly built guix from your checkout
<roptat>we have a cheatsheet here: https://www.gnu.org/software/guix/guix-refcard.pdf
<nico202>roptat: thanks
***astronavt_ is now known as astronvat
***astronavt_ is now known as astronavt
***astronavt_ is now known as astronavt
<mbakke>janneke (IRC): I'm trying to build core-updates-next, but get a hash mismatch for /gnu/store/z1yrpzja9sivpi138xyjwxax575d7x4j-mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
<janneke>mbakke: ouch, oops eh -- that could be
<janneke>wait
<janneke>mbakke: indeed, i failed to upload the last bootstrap-mes build. fixed now.
<Laalf>can someone tell me how to fix "guix package: error: profile '/var/guix/profiles/per-user/root/guix-profile' does not exist"? i am running guixsd. the last thing i run before that was a guix gc. i didnt touch any of roots files or the store
<janneke>Laalf: what command did you issue that gives this error; does `guix package -i hello' fix it for you?
<Laalf>i somehow fixed it by deleting, reconfiguring, rebooting and installing a package
<Laalf>now root just says "bash-4.4#" but i could care less
<Laalf>but thanks janneke
<janneke>glad your system works again :-)
***Server sets mode: +cnt
***tilpner_ is now known as tilpner
***astronavt_ is now known as astronavt
***rekado_ is now known as rekado
<rekado>Hi Guix, here are my slides for the upcoming talk: https://elephly.net/downies/icg-2018-slides.pdf
<rekado>And here’s a script of what I intend to say: https://elephly.net/downies/icg-2018-slides.pdfpc
<rekado>(you can use pdfpc to view the slides together with the notes; see the patch at bug#33138)
<janneke>rekado: congrats on a beautiful talk, break a leg on the delivery!
<rekado>thanks!
<janneke>will there be a livestream? (one can always hope...:-)
<rekado>I think I should go to bed now (it’s almost 4am). The smoothie took me much too long to draw…
<rekado>the talk will be recorded.
<janneke>night!
<rekado>they’ll upload it to youtube and youku.
<pkill9>what event will this talk be at?
<apteryx>lfam: how did you test the modified git-fetch I proposed? When I tested at the REPL I could see the message.
<apteryx>I'll test it more thoroughly (I'll define it as git-fetch2, and use my git-fetch2 as part of the libssh package with an HTTP URL to see if it does get print there as well).
<nly>How should i be updating my guix system?
<nly>Sudo guix pull
<nly>Sudo guix system reconfigure config ?
<nly>This is what i have been doing
<nly>But i noticed that sometimes guix in my user profile commit xyz doesnt match up with one in root commit abc
<nly>s/root/root profile/
<nly>This can cause extra downloads
<nly>s/downloads/substitutions
<apteryx>nly: is this a GuixSD system?
<nly>Yep
<apteryx>simply, 'guix pull && guix package -u .' for your user profile
<apteryx>sudo -E guix system reconfigure your-config.scm for your system
<apteryx>that's it
<nly>Ah nice
<nly>Thanks
<nly>:D
<nlyy>I am getting Migrating profile generations to '/var/guix/profiles/per-user/amar'...
<nlyy>guix pull: error: rename-file: Invalid cross-device link
<nlyy>any ideas?
<civodul>nlyy: there was a bug in 'guix pull' at some point that led to this
<civodul>the solution is to run 'guix pull' from a previous generation of guix
<civodul>that is, ~/.config/guix/current-N-link/bin/guix pull
<nlyy>ah
<civodul>for a suitable value of N
<civodul>that way you'll "jump over the bug", so to speak
<nlyy>nice
<nlyy>thanks
<nlyy>i deleted my old generations, but i am using a newer guix from /store
<nlyy>i have a habit of running `guix gc` to try to fix problems lol