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.