[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Profile sourcing and $GUIX_PROFILE when using guix home
From: |
Kenan Toker |
Subject: |
Profile sourcing and $GUIX_PROFILE when using guix home |
Date: |
Wed, 29 Sep 2021 23:10:44 +1000 |
Hello wonderful Guix users and developers!
I am looking for some help understanding fundamental concepts in Guix.
In particular, I want to better understand how $GUIX_PROFILE works, and
how profiles are sourced when I boot, login, etc. I am using Guix System
and generally keep up-to-date with the main branch, usually running a
guix pull every other day before I make any configuration changes or
install new packages.
I have recently started using guix home, and my $GUIX_PROFILE is
automatically set to:
~/.guix-home/profile
This is currently a symlink to the directory:
/gnu/store/708xnkkd86xf4nx9mmf8szpwi4yd9ms2-profile/
I also have a symlink in my $HOME called ~/.guix-profile, which links to:
/var/guix/profiles/per-user/me/guix-profile
This links to the symlink:
/var/guix/profiles/per-user/me/guix-profile-n-link
Which in turn currently links to the directory:
/gnu/store/3mjlciy8fywyvajcxy76gy3dscp1bmns-profile/
What I am wondering is:
1. Where is $GUIX_PROFILE set for my user, and how has this changed
since using guix home?
2. ~/.guix-profile/etc/profile seems to have been sourced at some
point between booting, logging into my account, and opening an
interative shell, because all my packages are present when I run `guix
package -I`; I also have all the packages I expect in Gnome Shell.
How/when was ~/.guix-profile/etc/profile sourced if it is not set to
$GUIX_PROFILE?
Slightly related: before I started using guix home, I found that my
$GUIX_PROFILE would sometimes be set to ~/.config/guix/current, which
links to:
/var/guix/profiles/per-user/me/current-guix
This links to the symlink:
/var/guix/profiles/per-user/me/current-guix-n-link
Which in turn currently links to the directory:
/gnu/store/n6syypzqx7cfr7ypd56ww04313xh888k-profile/
(This behaviour, where $GUIX_PROFILE was ~/.config/guix/current instead
of ~/.guix-profile, did not always happen - I have never found a clear
pattern as to why it happened when it did. I did find that it would
correlate with unexpected behaviour like my laptop not suspending on lid
close, but I have never determined the exact cause of this so it might
not be related.)
I understand that ~/.config/guix/current is a profile containing the
current version of Guix (along with the channels I use), and that
~/.guix-profile is a profile containing packages installed to the
default profile. On this, I am wondering
1. How it is that both ~/.config/guix/current/etc/profile and
~/.guix-profile/etc/profile are sourced at some point before or during
login?
2. Why it was that $GUIX_PROFILE would sometimes be set to
~/.config/guix/current (before I started using guix home)?
Thanks a lot everyone,
Kenan
OpenPGP_0x3BD90B3796EFF605.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature
- Profile sourcing and $GUIX_PROFILE when using guix home,
Kenan Toker <=