[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Best practices for Guix environment variables on foreign distro
From: |
Ludovic Courtès |
Subject: |
Re: Best practices for Guix environment variables on foreign distro |
Date: |
Mon, 12 Mar 2018 11:11:13 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hello Jorge,
"Jorge" <address@hidden> skribis:
> Hi. I use Guix on Ubuntu 16.04.4[1] to get up-to-date packages while
> running Ubuntu LTS. When setting up Guix environment variables I feared
> disrupting the foreign distro. If a program P on the foreign distro
> invokes binary B, it expects the B version shipped with the foreign
> distro. If the Guix version of B is on the search path I fear trouble.
> Therefore, instead of configuring all Guix environment variables on
> `~/.profile', I only configured there `GUIX_PROFILE', `INFOPATH',
> `MANPATH' and `GUIX_LOCPATH'. I put the configuration of `SSL_CERT_DIR'
> and `SSL_CERT_FILE' and the statement to source
> `"${GUIX_PROFILE}/etc/profile' (which configures `PATH') on `~/.bashrc'
> so they do affect interactive Bash shells but not programs spawned by
> GNOME or by systemd.
>
> However, I found an e-mail message on this list[2] and the footnote on
> [info:guix#Invoking guix environment], both of which recommend against
> sourcing `"${GUIX_PROFILE}/etc/profile' from `~/.bashrc'.
>
> If my attempt is recommended against then how else should I enable Guix
> on Emacs and interactive Bash shells while preventing it from disrupting
> the foreign distro (e.g. programs spawned by GNOME)? Or is this feared
> disruption a non-issue in practice and I’m creating unnecessary
> complication?
The suggestion is to source ~/.guix-profile/etc/profile from
~/.bash_profile (or similar).
> A related question: how do I make all info manuals from Guix accessible
> to Emacs? Not every Guix package is installed on my profile. For now,
> I configured INFOPATH to include both my user profile and root’s:
>
> ┌────
> │
> INFOPATH="/var/guix/profiles/per-user/root/guix-profile/share/info/:${INFOPATH-}"
> │ export INFOPATH="${GUIX_PROFILE}/share/info/:${INFOPATH-}"
> └────
That’s the right approach!
HTH,
Ludo’.