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
