aboutsummaryrefslogtreecommitdiff
path: root/src/nix
diff options
context:
space:
mode:
Diffstat (limited to 'src/nix')
-rw-r--r--src/nix/build.cc2
-rw-r--r--src/nix/command.hh2
-rw-r--r--src/nix/copy.cc6
-rw-r--r--src/nix/installables.cc4
-rw-r--r--src/nix/ls.cc20
-rw-r--r--src/nix/main.cc2
-rw-r--r--src/nix/ping-store.cc35
-rw-r--r--src/nix/run.cc4
8 files changed, 68 insertions, 7 deletions
diff --git a/src/nix/build.cc b/src/nix/build.cc
index 093415a0d..b329ac38a 100644
--- a/src/nix/build.cc
+++ b/src/nix/build.cc
@@ -50,7 +50,7 @@ struct CmdBuild : MixDryRun, InstallablesCommand
void run(ref<Store> store) override
{
- auto buildables = toBuildables(store, dryRun ? DryRun : Build, installables);
+ auto buildables = build(store, dryRun ? DryRun : Build, installables);
if (dryRun) return;
diff --git a/src/nix/command.hh b/src/nix/command.hh
index a7863c49f..97a6fee7f 100644
--- a/src/nix/command.hh
+++ b/src/nix/command.hh
@@ -198,7 +198,7 @@ std::shared_ptr<Installable> parseInstallable(
SourceExprCommand & cmd, ref<Store> store, const std::string & installable,
bool useDefaultInstallables);
-Buildables toBuildables(ref<Store> store, RealiseMode mode,
+Buildables build(ref<Store> store, RealiseMode mode,
std::vector<std::shared_ptr<Installable>> installables);
PathSet toStorePaths(ref<Store> store, RealiseMode mode,
diff --git a/src/nix/copy.cc b/src/nix/copy.cc
index 2ddea9e70..f29429c1a 100644
--- a/src/nix/copy.cc
+++ b/src/nix/copy.cc
@@ -57,15 +57,15 @@ struct CmdCopy : StorePathsCommand
return {
Example{
"To copy Firefox from the local store to a binary cache in file:///tmp/cache:",
- "nix copy --to file:///tmp/cache -r $(type -p firefox)"
+ "nix copy --to file:///tmp/cache $(type -p firefox)"
},
Example{
"To copy the entire current NixOS system closure to another machine via SSH:",
- "nix copy --to ssh://server -r /run/current-system"
+ "nix copy --to ssh://server /run/current-system"
},
Example{
"To copy a closure from another machine via SSH:",
- "nix copy --from ssh://server -r /nix/store/a6cnl93nk1wxnq84brbbwr6hxw9gp2w9-blender-2.79-rc2"
+ "nix copy --from ssh://server /nix/store/a6cnl93nk1wxnq84brbbwr6hxw9gp2w9-blender-2.79-rc2"
},
};
}
diff --git a/src/nix/installables.cc b/src/nix/installables.cc
index c3b06c22e..a3fdd8a28 100644
--- a/src/nix/installables.cc
+++ b/src/nix/installables.cc
@@ -253,7 +253,7 @@ std::shared_ptr<Installable> parseInstallable(
return installables.front();
}
-Buildables toBuildables(ref<Store> store, RealiseMode mode,
+Buildables build(ref<Store> store, RealiseMode mode,
std::vector<std::shared_ptr<Installable>> installables)
{
if (mode != Build)
@@ -291,7 +291,7 @@ PathSet toStorePaths(ref<Store> store, RealiseMode mode,
{
PathSet outPaths;
- for (auto & b : toBuildables(store, mode, installables))
+ for (auto & b : build(store, mode, installables))
for (auto & output : b.outputs)
outPaths.insert(output.second);
diff --git a/src/nix/ls.cc b/src/nix/ls.cc
index 69620595d..e99622faf 100644
--- a/src/nix/ls.cc
+++ b/src/nix/ls.cc
@@ -90,6 +90,16 @@ struct CmdLsStore : StoreCommand, MixLs
expectArg("path", &path);
}
+ Examples examples() override
+ {
+ return {
+ Example{
+ "To list the contents of a store path in a binary cache:",
+ "nix ls-store --store https://cache.nixos.org/ -lR /nix/store/0i2jd68mp5g6h2sa5k9c85rb80sn8hi9-hello-2.10"
+ },
+ };
+ }
+
std::string name() override
{
return "ls-store";
@@ -116,6 +126,16 @@ struct CmdLsNar : Command, MixLs
expectArg("path", &path);
}
+ Examples examples() override
+ {
+ return {
+ Example{
+ "To list a specific file in a NAR:",
+ "nix ls-nar -l hello.nar /bin/hello"
+ },
+ };
+ }
+
std::string name() override
{
return "ls-nar";
diff --git a/src/nix/main.cc b/src/nix/main.cc
index 8f6bbe8f5..bb107ec7d 100644
--- a/src/nix/main.cc
+++ b/src/nix/main.cc
@@ -92,6 +92,8 @@ void mainWrapped(int argc, char * * argv)
args.parseCmdline(argvToStrings(argc, argv));
+ initPlugins();
+
if (!args.command) args.showHelpAndExit();
Finally f([]() { stopProgressBar(); });
diff --git a/src/nix/ping-store.cc b/src/nix/ping-store.cc
new file mode 100644
index 000000000..310942574
--- /dev/null
+++ b/src/nix/ping-store.cc
@@ -0,0 +1,35 @@
+#include "command.hh"
+#include "shared.hh"
+#include "store-api.hh"
+
+using namespace nix;
+
+struct CmdPingStore : StoreCommand
+{
+ std::string name() override
+ {
+ return "ping-store";
+ }
+
+ std::string description() override
+ {
+ return "test whether a store can be opened";
+ }
+
+ Examples examples() override
+ {
+ return {
+ Example{
+ "To test whether connecting to a remote Nix store via SSH works:",
+ "nix ping-store --store ssh://mac1"
+ },
+ };
+ }
+
+ void run(ref<Store> store) override
+ {
+ store->connect();
+ }
+};
+
+static RegisterCommand r1(make_ref<CmdPingStore>());
diff --git a/src/nix/run.cc b/src/nix/run.cc
index ade87e63a..822654daf 100644
--- a/src/nix/run.cc
+++ b/src/nix/run.cc
@@ -85,6 +85,10 @@ struct CmdRun : InstallablesCommand
"To run GNU Hello:",
"nix run nixpkgs.hello -c hello --greeting 'Hi everybody!'"
},
+ Example{
+ "To run GNU Hello in a chroot store:",
+ "nix run --store ~/my-nix nixpkgs.hello -c hello"
+ },
};
}