diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-05-21T13·21+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2015-05-21T13·21+0200 |
commit | 13493ef97c01a9839c340cbe4e99baae65b20e15 (patch) | |
tree | f1c769d4b2fc967265cf6ac0488dfdcd165ba502 /src/nix-collect-garbage | |
parent | 4441e4cc13ded59e1a57c3d47e7920dd6a3053fa (diff) |
nix-collect-garbage: Call collectGarbage() internally
Diffstat (limited to 'src/nix-collect-garbage')
-rw-r--r-- | src/nix-collect-garbage/nix-collect-garbage.cc | 11 |
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 a8f6c03c2377..740ef88f5395 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); + } }); } - |