Dear Steve.kGeorge <[email protected]> writes:

[...]

> I can't pretend to understand fully - but new user eyes on > a piece of > software is always something to pay attention to [...]

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).
[...]

So, even reading the manual it was not clear (to me at least) that I
must liberate or forget roots before running gc.

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.

That is exactly what happened in my case. +1

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' [...] 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'.

It is possible, but maybe we don't want to create a separation between different group of users (different tasks where there are simpler and
more complicated ones, that is another thing).

However, and I do understand that it depends a lot on many things, we
can also make the tool more informative.

I don't know if this is the desire of many people here, but being a
command line tool does not imply that it cannot be interactive.

It can tell me something about the state of the system and what it could
do.

And both modes (interactive and non-interactive) can be called.

For example, if called with a complete specification 'gc' can try to do what it was told and then report the results (as today, maybe with more
info?).

Called interactively (that is, if the person does not say "run directly"
with some option or doesn't give any option), it can:

1. give info about the system (how many roots are active, how much space
each it taking, etc.)

2. present options and/or ask for specifications (like how many
generations to leave, how much space should try to free, etc.).

3. upon receiving the options, execute them and at last...

4. report as after a non-interactive run.


Just some ideas too. :)



--
eduardo mercovich

Donde se cruzan tus talentos con las necesidades del mundo, ahí está tu vocación. (Anónimo)

Reply via email to