all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: Matthew Brooks <matthewfbrooks@mailbox.org>
Cc: help-guix@gnu.org
Subject: Re: guix gc, any way to delete only packages that aren't required to build anything?
Date: Fri, 30 Nov 2018 15:29:23 -0500	[thread overview]
Message-ID: <87mupqnwap.fsf@netris.org> (raw)
In-Reply-To: <87a7lrgd30.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Fri, 30 Nov 2018 09:54:27 +0100")

Pierre Neidhardt <mail@ambrevar.xyz> writes:

> I've been bugged by this as well (see
> https://lists.gnu.org/archive/html/help-guix/2018-09/msg00028.html).  There are
> a few options beside Ricardo's suggestion:
>
> - You can start the Guix daemon with --gc-keep-outputs (see "(guix) Invoking
>   guix-daemon" in the manual).  This will never delete anything that is still
>   required, but this leads to an ever-growing store.  If you've got limited
>   storage space, you might not want this.

On my GuixSD system where substitutes are completely disabled and I
build everything locally, I've been running my Guix daemon with both
--gc-keep-derivations=yes and --gc-keep-outputs=yes for years.  Here's
the relevant excerpt of my OS config:

  (services (cons* <... my custom services here ...>
                   (modify-services (remove (lambda (svc)
                                              (eq? (service-kind svc)
                                                   wicd-service-type))
                                            %base-services)
                     (guix-service-type
                      config =>
                      (guix-configuration
                        (inherit config)
                        (use-substitutes? #f)
                        (authorized-keys '())
                        (substitute-urls '())
                        (extra-options '("--gc-keep-derivations=yes"
                                         "--gc-keep-outputs=yes")))))))

This configuration allows me to run "guix gc" without losing the
dependencies that are needed to build the packages that are currently
protected by GC roots, e.g. the packages in my profiles and system
generations.  It's not perfect: I lose a few packages apparently related
to grafts, but it's not too much in practice, and I can manually add
more GC roots to handle those cases.

Contrary to what Pierre wrote above, I've found that the use of these
flags certainly does _not_ lead to an ever-growing store.  On my GNOME 3
GuixSD system, my store requires ~30 gigabytes, and as long as I trim my
older profiles and system generations regularly, the space requirements
are fairly stable over time.

      Regards,
        Mark

  reply	other threads:[~2018-11-30 20:30 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-30  3:07 guix gc, any way to delete only packages that aren't required to build anything? Matthew Brooks
2018-11-30  5:15 ` Ricardo Wurmus
2018-11-30  8:54   ` Pierre Neidhardt
2018-11-30 20:29     ` Mark H Weaver [this message]
2018-11-30 23:14       ` Pierre Neidhardt
2018-12-01  5:13         ` Mark H Weaver
2018-12-01 13:49       ` Joshua Branson
2018-12-03  2:16         ` Mark H Weaver
2018-12-03  2:50           ` Mark H Weaver
2018-12-03 18:06           ` Joshua Branson
2018-12-10 10:27             ` Pierre Neidhardt
2018-12-11 19:40       ` George Clemmer
2018-12-12 10:38         ` Mark H Weaver
2018-12-12 23:10           ` George Clemmer
2019-01-09 19:03       ` George Clemmer
2018-12-02 14:16 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mupqnwap.fsf@netris.org \
    --to=mhw@netris.org \
    --cc=help-guix@gnu.org \
    --cc=matthewfbrooks@mailbox.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.