aboutsummaryrefslogtreecommitdiff
path: root/src/nix-collect-garbage
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-05-21 15:21:38 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-05-21 15:21:38 +0200
commit13493ef97c01a9839c340cbe4e99baae65b20e15 (patch)
treef1c769d4b2fc967265cf6ac0488dfdcd165ba502 /src/nix-collect-garbage
parent4441e4cc13ded59e1a57c3d47e7920dd6a3053fa (diff)
nix-collect-garbage: Call collectGarbage() internally
Diffstat (limited to 'src/nix-collect-garbage')
-rw-r--r--src/nix-collect-garbage/nix-collect-garbage.cc11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/nix-collect-garbage/nix-collect-garbage.cc b/src/nix-collect-garbage/nix-collect-garbage.cc
index a8f6c03c2..740ef88f5 100644
--- a/src/nix-collect-garbage/nix-collect-garbage.cc
+++ b/src/nix-collect-garbage/nix-collect-garbage.cc
@@ -1,3 +1,4 @@
+#include "store-api.hh"
#include "hash.hh"
#include "shared.hh"
#include "globals.hh"
@@ -87,7 +88,13 @@ int main(int argc, char * * argv)
if (removeOld) removeOldGenerations(profilesDir);
// Run the actual garbage collector.
- if (!dryRun) runProgramSimple(settings.nixBinDir + "/nix-store", Strings{"--gc"});
+ if (!dryRun) {
+ store = openStore(false);
+ GCOptions options;
+ options.action = GCOptions::gcDeleteDead;
+ GCResults results;
+ PrintFreed freed(true, results);
+ store->collectGarbage(options, results);
+ }
});
}
-