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