From mboxrd@z Thu Jan 1 00:00:00 1970 From: HiPhish Subject: I don't understand profiles and directories Date: Sat, 19 Jan 2019 17:13:48 +0100 Message-ID: <5333814.JLzRfVLkOs@aleksandar-ixtreme-m5740> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Return-path: Received: from eggs.gnu.org ([209.51.188.92]:59035) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gktFr-0000MF-Co for help-guix@gnu.org; Sat, 19 Jan 2019 11:13:56 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gktFq-0003t5-8T for help-guix@gnu.org; Sat, 19 Jan 2019 11:13:55 -0500 Received: from mout02.posteo.de ([185.67.36.66]:37361) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gktFp-0003pg-J5 for help-guix@gnu.org; Sat, 19 Jan 2019 11:13:54 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 79EFA2400E5 for ; Sat, 19 Jan 2019 17:13:49 +0100 (CET) Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 43hjY85TC8z9rxN for ; Sat, 19 Jan 2019 17:13:48 +0100 (CET) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: help-guix@gnu.org 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.