help-guix
[Top][All Lists]
Advanced

[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

Attachment: OpenPGP_0x3BD90B3796EFF605.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]