all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* I don't understand profiles and directories
@ 2019-01-19 16:13 HiPhish
  2019-01-19 16:27 ` Ricardo Wurmus
  0 siblings, 1 reply; 9+ messages in thread
From: HiPhish @ 2019-01-19 16:13 UTC (permalink / raw)
  To: help-guix

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.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-01-20 12:47 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-19 16:13 I don't understand profiles and directories HiPhish
2019-01-19 16:27 ` 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

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.