(address . bug-guix@gnu.org)
[ This is a user/developer friendliness feature request. I’m not arguing
that `guix gc` should do anything differently on a technical level, I’m
just trying to argue that the default experience should be different. ]
Current situation:
I use a forked guix repository as my default channel, which
includes a number of slow-to-build Haskell packages. Now and
then, I run out of disk space. So I call `guix gc`, which invariably
removes the store paths involved in building my current system generation,
so the next call to `guix system reconfigure` takes hours.
Desired situation:
After calling `guix gc`, the paths that were involved in my last system
build are still around, so reconfiguring doesn’t result in everything
being rebuilt.
(If there’s some way I can achieve that now, perhaps by explicitly managing
some roots, or passing specific arguments to `guix gc`, I’d be happy to
know! I’d still argue that we should try to make this the default behaviour,
though.)