[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Mysteries of channel configuration during system reconfigure

From: Kyle Andrews
Subject: Re: Mysteries of channel configuration during system reconfigure
Date: Thu, 09 Mar 2023 17:58:06 +0000

SeerLite <> writes:

> `sudo guix system reconfigure` and any `guix package` command will (by
> default) use the generation shown in `guix describe`. On first boot,
> this generation _will_ be different from the one you had in the live
> system. This is because the generation is saved at
> ~/.config/guix/current on every `guix pull` and that file will be gone
> together with the live system.

That behavior doesn't make sense to me, but I have accepted it for
now. As I tried to explain in my question, I *had* performed a guix pull
-C ... before attempting to reconfigure the system. However, I think I
only tried to do that from the /root user.

Since then I have tried to pull from the sudo. This did in fact allow
`guix system reconfigure` to run.

> You have two options:
> 1. Get the channels you want correctly set up in
> ~/.config/guix/channels.scm and run `guix pull` with your user in the
> running system. IIRC this takes a while because it'll download the
> whole Guix checkout again (the one used to install would have
> disappeared along with the rest of the live system).
> 2. Run guix pull -C /run/current-system/channels.scm. This will pull
> the exact generation used to build the system. This will also take
> time.

This /run/current-system folder is interesting. When I searched the Info
pages I saw also that it is related to files stored under
/var/guix. Unfortunately, I was not able to glean the overarching
rationale for these directories.

> Note that you could also copy /run/current-system/channels.scm to
> ~/.config/guix/channels.scm but you have to be careful remove the
> commit lines, otherwise all your `guix pull`s will pull the exact same
> commits and you'll stay on an outdated system.

I appreciate this tip.

> Maybe it could be clarified in the manual that another `guix pull` is
> needed after the first boot. Or maybe the installation could be
> optimized so that the checkout is copied from the live system to the
> installed system.

I think it needs to be clarified that this process has to be done from a
*normal* user account in the *wheel* group. It seems the root user
cannot perform this step.

>> When I run the following command:
>> ```
>> guix system describe
>> ```
>> The addition channel gets listed. How can it be listed yet be
>> unknown to
>> the `guix system reconfigure` command?
> Because it was indeed the channel and commit the system was built
> from. It has nothing to do with your "current powers". That all
> depends on what generation of Guix you're using AKA what comes up in
> `guix describe`

This unnecessary tie in between the system state and a particular user's
software profile was really tripping me up.

> I hope my explanation was helpful!


reply via email to

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