This patch adds a "guix gc" button to the low disk space notification
that 'gsd-housekeeping' emits.
diff --git a/plugins/housekeeping/gsd-disk-space.c b/plugins/housekeeping/gsd-disk-space.c
index bd3437e..89027d8 100644
--- a/plugins/housekeeping/gsd-disk-space.c
+++ b/plugins/housekeeping/gsd-disk-space.c
@@ -546,6 +546,21 @@ empty_trash_callback (NotifyNotification *n,
notify_notification_close (n, NULL);
}
+static void
+guix_gc_callback (NotifyNotification *n,
+ const char *action)
+{
+ const gchar *argv[] = { "guix", "gc", NULL };
+
+ g_assert (action != NULL);
+ g_assert (strcmp (action, "run-guix-gc") == 0);
+
+ g_spawn_async (NULL, (gchar **) argv, NULL, G_SPAWN_SEARCH_PATH,
+ NULL, NULL, NULL, NULL);
+
+ notify_notification_close (n, NULL);
+}
+
static void
on_notification_closed (NotifyNotification *n)
{
@@ -591,6 +606,13 @@ ldsm_notify (const char *summary,
g_free);
}
+ notify_notification_add_action (notification,
+ "run-guix-gc",
+ _("Collect Unused Guix Items"),
+ (NotifyActionCallback) guix_gc_callback,
+ NULL,
+ NULL);
+
has_trash = ldsm_mount_has_trash (mount_path);
if (has_trash) {
>
|
Age | Commit message (Expand) | Author |
2017-07-03 | discovery: Recurse into directories pointed to by a symlink....Reported by Christopher Baines <mail@cbaines.net>
and Alex Kost <alezost@gmail.com>
at <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00290.html>.
* guix/discovery.scm (scheme-files): When ENTRY is a symlink that
doesn't end in '.scm', call 'stat' and recurse if it points to a
directory.
* tests/discovery.scm ("scheme-modules recurses in symlinks to
directories"): New test.
| Ludovic Courtès |
2017-06-18 | discovery: 'scheme-files' returns '() for a non-accessible directory....Fixes a regression introduced in
d27cc3bfaafe6b5b0831e88afb1c46311d382a0b.
Reported by Ricardo Wurmus <rekado@elephly.net>.
* guix/discovery.scm (scheme-files): Catch 'scandir*' system errors.
Return '() and optionally raise a warning upon 'system-error'.
* tests/discovery.scm ("scheme-modules, non-existent directory"): New
test.
| Ludovic Courtès |
2017-05-03 | Add (guix discovery)....* guix/discovery.scm, tests/discovery.scm: New files.
* gnu/packages.scm (scheme-files, file-name->module-name)
(scheme-modules, all-package-modules): Remove.
(fold-packages): Rewrite in terms of 'fold-module-public-variables'.
* gnu/tests.scm: Use (guix discovery).
* Makefile.am (MODULES): Add guix/discovery.scm.
(SCM_TESTS): Add tests/discovery.scm.
| Ludovic Courtès |