Subject: bug#38469: guix gc should keep around recent intermediate build ingredients by default

From: Robert Vollmert <[email-masked]>
Date: Tue, 3 Dec 2019 11:48:16 +0100

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