On Wed, Oct 08, 2025 at 06:27:47PM -0300, Eduardo Mercovich wrote:
> Hi Simon.
> 
> > > For English speakers, I didn't understood that before gc I must
> > > forget
> > > the roots. That is why the space wasn't liberated.
> 
> > I can't pretend to understand fully - but new user eyes on a piece of
> > software is always something to pay attention to - and I may guess wrong
> > what the mis-conception was here, but I found the mis-conception I'm
> > thinking of interesting, so bear with me.
> 
> Just to clarify what happened with me -before going into solutions-: I
> read the manual regarding cg and didn't understood that roots must be
> liberated or forgotten before in order to be collected (see
> https://guix.gnu.org/manual/en/html_node/Invoking-guix-gc.html).
> 
> That node explicitly says:
> 
> > > > Packages that are installed, but not used, may be
> > > > garbage-collected.
> > > > The guix gc command allows users to explicitly run the garbage
> > > > collector to reclaim space from the /gnu/store directory.
> 
> And then only mentions roots:
> 
> > > > The garbage collector has a set of known roots: any file under
> > > > /gnu/store reachable from a root is considered live and cannot
> > > > be
> > > > deleted; any other file is considered dead and may be deleted.
> 
> So, even reading the manual it was not clear (to me at least) that I
> must liberate or forget roots before running gc.
(...)

Hi Eduardo,

You've put your finger on the issue which is that for a newcomer there are two 
separate concepts here. One is that there's the store which has everything in 
it and one can free up space by using the gc command; the other is that there 
are profiles with generations.

The manual often does a good job at explaining in depth each component aspect, 
even now I constantly refer to it. What I found difficult when initially 
learning guix was the 'how do I do X which is the equivalent of this thing I 
did previously', so for me I would often thing 'I did apt upgrade in Ubuntu, 
how do I do that in Guix'. This actually caused me some real confusion, but 
it's natural.

My personal belief is we should split the manual into a user manual and a 
developer manual. And, we need some other shorter 'how-to' documentation. In my 
own notes I have an intro section and a 'common workflows'.

Random thoughts at this point ...

Steve / Futurile

Reply via email to