From: HiPhish <hiphish@posteo.de>
To: help-guix@gnu.org
Subject: I don't understand profiles and directories
Date: Sat, 19 Jan 2019 17:13:48 +0100 [thread overview]
Message-ID: <5333814.JLzRfVLkOs@aleksandar-ixtreme-m5740> (raw)
Hello everyone,
I am running Kubuntu 18.04 with Guix as my other package manager. I originally
installed it when Guix was still in version 0.15 and I ran in a bunch of
trouble when I tried updating to 0.16. I am still not sure I updated properly.
From what I understand, Guix works as follows: packages are "installed" in the
store, which is a directory that has separate directories for each package.
This allows users to have different versions of the same package installed at
the same time, no two packages will interfere with each other, since each one
has its own subdirectory in the store.
This however does not make packages available to the user, so this is where
profiles come in. A profile is a directory which contains symlinks to the actual
store items. So if I want to run "foo-bin" it first has to be built and placed
in the store, and then Guix will symlink everything into my profile. I also
need to set some environment variables so that my system will know where to
search. If foo-bin depends on libbar, then libbar will be installed into the
store as well, but it will not be symlinked into the profile because I did not
request it explicitly. Everything correct so far?
Here is my first question: where is this profile and which environment variables
do I need to set? There is the directory `~/.guix-profile`, so I assume that's
my "default profile". When I ran `guix pull` it did not update my Guix binary,
As per the Guix Pull manual, I first had to add
export PATH="$HOME/.config/guix/current/bin:$PATH"
export INFOPATH="$HOME/.config/guix/current/share/info:$INFOPATH"
to my `~/.profile` file. Is `$HOME/.config/guix/current` another profile? Is this
the actual profile I should be using? Other parts of the manual instructed me
to add
source "$HOME/.guix-profile/etc/profile"
export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale"
export XDG_DATA_DIRS="$HOME/.guix-profile/share:${XDG_DATA_DIRS}"
as well. Is this the correct setup, or am I missing something? Because when I
install a package (e.g. glibc-locales) I get the message
The following environment variable definitions may be needed:
export PATH="/home/username/.guix-profile/bin${PATH:+:}$PATH"
export GUILE_LOAD_PATH="/home/username/.guix-profile/share/guile/site/
2.2${GUILE_LOAD_PATH:+:}$GUILE_LOAD_PATH"
export GUILE_LOAD_COMPILED_PATH="/home/username/.guix-profile/lib/guile/
2.2/site-ccache:/home/username/.guix-profile/share/guile/site/2.2$
{GUILE_LOAD_COMPILED_PATH:+:}$GUILE_LOAD_COMPILED_PATH"
and running `guix --version` shows me 0.15 again. So something seems to be
amiss here.
next reply other threads:[~2019-01-19 16:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-19 16:13 HiPhish [this message]
2019-01-19 16:27 ` I don't understand profiles and directories Ricardo Wurmus
2019-01-19 16:54 ` HiPhish
2019-01-19 17:05 ` Ricardo Wurmus
2019-01-19 17:55 ` HiPhish
2019-01-19 21:00 ` Ricardo Wurmus
2019-01-19 23:20 ` HiPhish
2019-01-19 23:31 ` Ricardo Wurmus
2019-01-19 23:34 ` HiPhish
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5333814.JLzRfVLkOs@aleksandar-ixtreme-m5740 \
--to=hiphish@posteo.de \
--cc=help-guix@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).