From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pjotr Prins Subject: Re: guix environment Date: Tue, 16 Jun 2015 12:04:46 +0200 Message-ID: <20150616100446.GA25031@thebird.nl> References: <20150615065554.GA17263@thebird.nl> <20150615191006.GA21528@thebird.nl> <20150616055247.GA23591@thebird.nl> <87lhfkytfx.fsf@gnu.org> 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]:44033) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z4nkB-0007y4-BV for guix-devel@gnu.org; Tue, 16 Jun 2015 06:05:24 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z4nk7-0004Az-JO for guix-devel@gnu.org; Tue, 16 Jun 2015 06:05:23 -0400 Content-Disposition: inline In-Reply-To: <87lhfkytfx.fsf@gnu.org> 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: Ludovic =?iso-8859-1?Q?Court=E8s?= Cc: guix-devel On Tue, Jun 16, 2015 at 09:59:46AM +0200, Ludovic Court=C3=A8s wrote: > >> > $GEM_HOME > >>=20 > >> This one doesn't make sense because it specifies where gems are to b= e > >> installed. Store items are immutable, so one cannot install gems in= to > >> them. > > > > We still provide the gem tool ;). If we set this value to something > > sensible (relative to $HOME) people can still use gems. The current > > default setting is not good because it does not provide isolation. >=20 > I don=E2=80=99t know Ruby, but this seems to be a variable that the *us= er* must > set, regardless of whether they use Guix or not, no? The current default points inside the Guix store. Which is (and should be) read-only - INSTALLATION DIRECTORY: /gnu/store/c13v73jxmj2nir2xjqaz5259zywsa9zi= -ruby-2.1.6/lib/ruby/gems/2.1.0 On Debian it is - INSTALLATION DIRECTORY: /var/lib/gems/1.9.1 (so, by default, you need sudo to run gem) My proposal is to have it user based and isolated, e.g., - INSTALLATION DIRECTORY: $HOME/.gem/c13v73jxmj2nir2xjqaz5259zywsa9zi= -ruby-2.1.6/2.1.0 Which is similar to what rvm does. The latter is what a user normally will set (or something similar). Question is whether it belongs with the Guix package or not. The current default makes no sense, unless you want to prevent a user from installing modules and confuse him ;).=20 Think my solution similar to what we do with emacs. Emacs allows for installation of modules in $HOME. Pj.