help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ~/.config/guix/current


From: Mikhail Kryshen
Subject: Re: ~/.config/guix/current
Date: Wed, 11 Jul 2018 18:46:55 +0300
User-agent: Notmuch/0.26.2 (https://notmuchmail.org) Emacs/26.1 (x86_64-pc-linux-gnu)

Ludovic Courtès <address@hidden> writes:

>> 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.”

But ~root is local on each machine, so root-pulled Guix will still not
be protected from gc.

Btw, is option a) possible on GuixSD?


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

It's for GNU/Linux workstations in university labs.  I want to use Guix
to provide additional software that is not available in required
configuration in the host distro, and also give students an interesting
environment to experiment.

I decided for now to go with the option b) for performance and
reliability.  My previous attempts to deploy large software packages on
NFS (even with FS-Cache enabled) didn't work well.  Also, it may be
possible to somehow exploit immutability of the store items to share and
cache them more efficiently.

The computers periodically run "guix pull" as root and I want to make
the updated Guix automatically available to all users, but
/usr/local/bin/guix can't be linked to
/root/.config/guix/current/bin/guix as the /root directory is normally
not searchable by other users — another reason to keep pulled Guix
profiles in /var.  I workaround this by having the script that runs
"guix pull" to symlink /usr/local/bin/guix directly into the new profile
in /gnu/store.


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

It would be useful to have a similar script included in the guix package
to be symlinked into host distro's /etc/profile.d

Thank you, 
Mikhail

Attachment: signature.asc
Description: PGP signature


reply via email to

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