From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: Dealing with environment settings on a non-Guix distribution Date: Fri, 10 Feb 2017 10:37:03 +0100 Message-ID: <87vasixu80.fsf@elephly.net> References: <20170210090122.GA30408@mail.thebird.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59010) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cc7e6-0001eI-5h for guix-devel@gnu.org; Fri, 10 Feb 2017 04:37:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cc7e4-0001za-Vs for guix-devel@gnu.org; Fri, 10 Feb 2017 04:37:38 -0500 In-reply-to: <20170210090122.GA30408@mail.thebird.nl> 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" To: Pjotr Prins Cc: guix-devel Hi Pjotr, > @FOSDEM one thing came up that we ought to make it easier to handle > environment settings (shell variables). Yesterday, I had to help > somenone use R and install some packages in $HOME. This proved quite > hairy. Mostly because we needed to tell R about certificates in > /etc/ssl, change the native download from curl to wget, and to tell R > about library paths for dependencies on openssl, for example. Not > something you'd like a non-guixer try to figure out. Yes, this is something that need simplification. The most common settings required are * GUIX_LOCPATH depends on “glibc-locales” or “glibc-utf8-locales” * GIT_SSL_CAINFO, SSL_CERT_FILE, SSL_CERT_DIR depend on “nss-certs” or a system-wide cert store On foreign distros it would be nice to handle these things semi-automatically. Installing “glibc-locales” does not automatically set GUIX_LOCPATH; nor do GIT_SSL_CAINFO, SSL_CERT_FILE, and SSL_CERT_DIR get set when installing “nss-certs”. These are the only things I can think of right now that need to be set manually at the MDC. Pretty much everything else is handled by “source $GUIX_PROFILE/etc/profile” (which we do in a global shell initialisation file). I never had to make R switch from curl to wget or to tell it about additional library paths. Could you elaborate on why this is needed in your case? Is there a problem we should fix in our R package? > For Ruby I created a script in > > https://github.com/pjotrp/guix-notes/blob/master/scripts/ruby-guix-env > > (actually it is out of date, I also deal with certificates). > > I think we can have more of these 'environment' managing scripts. Can > we somehow get them into Guix? Maybe create a separate package for > each of them - say ruby-guix-env and r-guix-env? It would help > bootstrap people using Guix for R, ruby and other languages. If we go down this road of offering environment files I’d rather have something generic. Ideally, our packages would *just work* after setting common environment variables, such as those mentioned above. -- Ricardo GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC https://elephly.net