From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: guix-shell? Date: Thu, 18 Sep 2014 10:00:00 +0200 Message-ID: <87k3511hq7.fsf@gnu.org> References: <87fvgo3mlx.fsf@gnu.org> <87zjesgqc5.fsf_-_@gnu.org> <878umb30sx.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> <87vbpc8vgr.fsf@gnu.org> <878ulhmzv0.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> 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]:33041) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XUWde-0005gp-U3 for guix-devel@gnu.org; Thu, 18 Sep 2014 04:00:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XUWdd-00046r-90 for guix-devel@gnu.org; Thu, 18 Sep 2014 04:00:26 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:49861) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XUWdd-00045I-2w for guix-devel@gnu.org; Thu, 18 Sep 2014 04:00:25 -0400 In-Reply-To: <878ulhmzv0.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> (David Thompson's message of "Wed, 17 Sep 2014 22:22:43 -0400") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: David Thompson Cc: guix-devel David Thompson skribis: > I started working on this. As a test, I wrote a script that loads a > list of packages from a file, builds them, and then outputs the search > paths. One crucial search path is missing though: PATH. The reason why it=E2=80=99s missing is that, search path specifications are attached to packages, but there=E2=80=99s no obvious package to attach =E2= =80=98PATH=E2=80=99 to. However, it would be easy, and perhaps desirable, to change =E2=80=98search-path-environment-variables=E2=80=99 in package.scm to do th= at. > Should 'guix environment' create a new profile with all of the > necessary packages in it? IIRC, nix shell doesn't do this, but I > don't fully understand why and how. The thing is, all the packages in question must be registered as GC roots, at least for the duration of the shell session (otherwise they could disappear.) The easiest way to do that is to build a profile, and then register this profile as a GC root (like what =E2=80=98guix build -r=E2=80=99 does.) Another option would be to keep the connection to the daemon open (this is possible if and only if =E2=80=98guix environment=E2=80=99 spawns the sh= ell by itself.) Not so great, though. HTH, Ludo=E2=80=99.