Hello Guix! [email protected] (Ludovic Courtès) skribis:
> Here’s a series of improvements that I think we should make in ‘guix > pull’: > > • Use Git instead of downloading a whole snapshot every time. The Git > checkout would be kept in ~/.cache/guix/pull/checkouts, say. That was done a while back. :-) > • Build & install not only Scheme code, but also locales and the Info > manual. … and also the C++ bits. With the work done in <https://bugs.gnu.org/27284>, we can build all of Guix and its dependencies when doing ‘guix pull’, which brings us closer to what the ‘guix’ package provides. Thus we can at least partly address the issue described in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22629#10>, i.e., have ‘guix pull’ install not just a bunch of .go files but also guile-git, guile-ssh, gnutls, and Guile itself. To do that, we need a “paradigm shift” (sounds cute, no? :-)). Currently, ‘scripts/guix’ fiddles with its %load-path and adds ~/.config/guix/latest if it exists. The new ‘guix pull’ should provide not just .go files but also a ‘guix’ command referring to the latest Guile, Guile-Git, etc. To achieve this, I think the new approach would be to have: export PATH=$HOME/.config/guix/current/bin:$PATH export INFOPATH=$HOME/.config/guix/current/share/info:$INFOPATH … ‘guix pull’ would update ~/.config/guix/current, which would contain the ‘guix’ command, all the .go files, locales, the Info manual, and ideally ‘guix-daemon’ as well. ~/.config/guix/current could be a profile, or something that resembles a profile. For a while ‘guix pull’ will have to keep updating ~/.config/guix/latest as well, for users running an old ‘guix’ command. Thoughts? Ludo’.
