about summary refs log tree commit diff
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 f0b3f5b615f3..821124324f47 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")