aboutsummaryrefslogtreecommitdiff
path: root/src/nix-store/nix-store.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix-store/nix-store.cc')
-rw-r--r--src/nix-store/nix-store.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nix-store/nix-store.cc b/src/nix-store/nix-store.cc
index f0b3f5b61..821124324 100644
--- a/src/nix-store/nix-store.cc
+++ b/src/nix-store/nix-store.cc
@@ -638,6 +638,15 @@ static void opRestore(Strings opFlags, Strings opArgs)
}
+static void opExport(Strings opFlags, Strings opArgs)
+{
+ if (!opFlags.empty()) throw UsageError("unknown flag");
+
+ FdSink sink(STDOUT_FILENO);
+ store->exportPath(*opArgs.begin(), false, sink);
+}
+
+
/* Initialise the Nix databases. */
static void opInit(Strings opFlags, Strings opArgs)
{
@@ -707,6 +716,8 @@ void run(Strings args)
op = opDump;
else if (arg == "--restore")
op = opRestore;
+ else if (arg == "--export")
+ op = opExport;
else if (arg == "--init")
op = opInit;
else if (arg == "--verify")