[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ~/.config/guix/current
From: |
Ludovic Courtès |
Subject: |
Re: ~/.config/guix/current |
Date: |
Mon, 09 Jul 2018 13:53:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Hello Mikhail,
Mikhail Kryshen <address@hidden> skribis:
> Is there some reason why "guix pull" keeps profile symlinks in
> ~/.config/guix instead of under /var/guix/profiles?
It’s mostly because it takes less code to do it this way. :-)
This was briefly discussed during the submission of this patch series.
> I'm looking into installing Guix on multiple computers with shared user
> accounts and /home on NFS. So far the possibilities seem to be:
>
> a) master node running guix-daemon [1]
> - will "guix gc" destroy guix/current profiles if /home is not
> mounted on the master node? What if some users have local
> home directories and some are on nfs?
> [1]
> https://guix-hpc.bordeaux.inria.fr/blog/2017/11/installing-guix-on-a-cluster/
This is what I would recommend, and as the post suggests, you’ll have to
make sure home directories are visible to guix-daemon, which means
having them mounted on the master node.
If you don’t do that, there’s a risk that user-pulled Guixes will be
reclaimed prematurely, simply because the GC won’t see that they are
still “live.”
Writing the profile to /var/guix/profiles would indeed solve this
specific issue.
> b) guix-daemon on every computer
> - then /gnu/store and /var/guix/profiles will by local and user
> profiles can be different on every computer, but
> ~/.config/guix/current will link to nonexistent store item if
> "guix pull" was invoked by the same user on a different machine.
If this is a cluster, I would definitely recommend option a), which
provides a single world view, shared storage, etc.
Option b) causes all the issues you mention, and this is not specific to
the new ‘guix pull’ (you had similar issues with ~/.config/guix/latest
before, for instance.)
> Can/should this be fixed?
We can do it. In fact my take on this was to keep it simple for now,
and to adjust if/when someone reports a need for this—which I think you
just did. :-)
> Another question is why ~/.config/guix/current/etc/profile does not
> define all necessary environment variables (PATH is there, but no
> INFOPATH, GUILE_LOAD_PATH and GUILE_LOAD_COMPILED_PATH)? It would be
> convenient to source it in .bash_profile the same way as normal
> guix-profile instead of defining all necessary variables explicitly.
The reason it doesn’t define INFOPATH for example is because INFOPATH
“belongs” to Texinfo, and Texinfo is not in that profile; similarly for
GUILE_LOAD_PATH.
I agree it would be useful (the way we do it on GuixSD is by having
/etc/profile define INFOPATH systematically, for instance), but there’s
no clear way to have ~/.config/guix/current/etc/profile define them
directly.
Thanks for your feedback,
Ludo’.
- ~/.config/guix/current, Mikhail Kryshen, 2018/07/03
- Re: ~/.config/guix/current,
Ludovic Courtès <=
- Re: ~/.config/guix/current, Mikhail Kryshen, 2018/07/11
- Re: ~/.config/guix/current, Ludovic Courtès, 2018/07/12
- Re: ~/.config/guix/current, Mikhail Kryshen, 2018/07/13
- Re: ~/.config/guix/current, Ludovic Courtès, 2018/07/13
- Store on NFS (was Re: ~/.config/guix/current), Mikhail Kryshen, 2018/07/13
- Re: Store on NFS (was Re: ~/.config/guix/current), Ludovic Courtès, 2018/07/16