help-guix
[Top][All Lists]
Advanced

[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’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]