From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludovic.courtes@inria.fr (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: ~/.config/guix/current Date: Mon, 09 Jul 2018 13:53:15 +0200 Message-ID: <877em4iq1g.fsf@gnu.org> References: <87o9foz7f4.fsf@eta.cs.prv> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43550) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fcUjL-0000EV-Dc for help-guix@gnu.org; Mon, 09 Jul 2018 07:53:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fcUjG-0004tk-JE for help-guix@gnu.org; Mon, 09 Jul 2018 07:53:23 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:17812) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fcUjG-0004t9-8D for help-guix@gnu.org; Mon, 09 Jul 2018 07:53:18 -0400 In-Reply-To: <87o9foz7f4.fsf@eta.cs.prv> (Mikhail Kryshen's message of "Tue, 03 Jul 2018 18:05:19 +0300") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Mikhail Kryshen Cc: help-guix@gnu.org Hello Mikhail, Mikhail Kryshen skribis: > Is there some reason why "guix pull" keeps profile symlinks in > ~/.config/guix instead of under /var/guix/profiles? It=E2=80=99s 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=E2=80=99ll ha= ve to make sure home directories are visible to guix-daemon, which means having them mounted on the master node. If you don=E2=80=99t do that, there=E2=80=99s a risk that user-pulled Guixe= s will be reclaimed prematurely, simply because the GC won=E2=80=99t see that they are still =E2=80=9Clive.=E2=80=9D 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 =E2=80=98guix pull=E2=80=99 (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=E2=80=94which 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=E2=80=99t define INFOPATH for example is because INFOPA= TH =E2=80=9Cbelongs=E2=80=9D to Texinfo, and Texinfo is not in that profile; s= imilarly 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=E2=80= =99s no clear way to have ~/.config/guix/current/etc/profile define them directly. Thanks for your feedback, Ludo=E2=80=99.