Subject: [bug#41538] [PATCH] guix scripts: Mention Guix checkouts + gcroots/auto when warning about disk space.

From: Ludovic Courtès <[email-masked]>
Date: Sat, 30 May 2020 16:05:46 +0200

Hi,

Pierre Neidhardt <[email-masked]> skribis:

> Marius Bakke <[email-masked]> writes:
>
>> I think newbie users might not know whether it applies or not.  Given
>> that 'guix gc --delete-generations' removes old generations of _all_
>> user profiles, perhaps we can just keep that instead of listing each of
>> the various ways to --delete-generations?
>
> I think this is not just about newbie users, but also a reminder of
> the full list of what you have to go through to clean up your system
> (including system profiles which take up a lot of space).
> I've used Guix for a while now and I still frequently forget to clean up
> either one of these profiles: Guix, default, non-defaults, system.
>
> I think it's fine if the list has 4 items instead of 1: if the newcomer
> does not understand everything, they'll move on.  Once they do
> understand, they will be properly reminded to do it.

I checked (guix scripts gc).  ‘guix gc -d’ operates on all the profiles
among the roots returned by ‘gc-roots’.  This is the same as what ‘guix
package --list-profiles’ returns so it includes non-standard profiles.
You can check on your machine.

It does not include non-profile GC roots, and in particular it does not
include system generations.

Deleting a system generation involves reinstalling the bootloader (or
its config file), so it cannot be done from ‘guix gc’, at least in its
current state.

In short, ‘guix gc -d’ was introduced precisely so that one doesn’t have
to search for all the profiles, and this hint was added in the same
patch series I think.  (So my earlier advice to mention ‘guix package
--list-profiles’ in the hint was actually misguided.)

The only things not handled are (1) the system, and (2) non-profile GC
roots.  I think it’s OK to not mention them in the hint because these
are kinda “advanced” features.

Thoughts?

Ludo’.