Subject: bug#38469: closed (Re: bug#38469: guix gc should keep around recent intermediate build)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 10 Dec 2019 16:40:01 +0000

Your bug report

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

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
38469: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38469
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#38469: guix gc should keep around recent intermediate build
From: Ludovic Courtès <[email-masked]>
To: Robert Vollmert <[email-masked]>
Cc: [email-masked]
Date: Tue, 10 Dec 2019 17:39:07 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Robert Vollmert <[email-masked]> skribis:

>> Have you tried passing the options '--gc-keep-derivations=yes’ and
>> '--gc-keep-outputs=yes' to guix-daemon?
>
> I had not. I added that right now, and first tests seem to indicate
> that this helps. Thanks!

Yes, I think these options are exactly what you want.

> Would it be a bad idea to make this the default?

I think the current defaults are more appropriate; after all, they
really allow “garbage” to be collected.

> Alternatively, how about some kind of developer config fragment that
> would modify a system configuration with settings that are a good
> idea for Guix development, if not general use? That might also include
> things like setting the $%!^@!*^% guile backtrace columns variable
> for guix-daemon.

I think what you’d want is to set COLUMNS within derivation, not “for
the daemon”.

So I don’t know, I’m sympathetic to the idea of developer settings in
Guix System, but I’m not sure what it could bring beyond these two
options.

In the meantime, I propose to close this bug and to discuss this
potential new feature separately.

Thanks,
Ludo’.

Subject: guix gc should keep around recent intermediate build ingredients by default
From: Robert Vollmert <[email-masked]>
To: [email-masked]
Date: Tue, 3 Dec 2019 11:48:16 +0100
List-Id: <debbugs-submit.debbugs.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.)