On Tue, Jun 16, 2015 at 09:59:46AM +0200, Ludovic Courtès wrote:
> >> > $GEM_HOME
> >>
> >> This one doesn't make sense because it specifies where gems are to be
> >> installed. Store items are immutable, so one cannot install gems into
> >> 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.
>
> I don’t know Ruby, but this seems to be a variable that the *user* 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 ;).
Think my solution similar to what we do with emacs. Emacs allows for
installation of modules in $HOME.
Pj.