diff options
author | Shea Levy <shea@shealevy.com> | 2014-02-08 00:05:46 -0500 |
---|---|---|
committer | Shea Levy <shea@shealevy.com> | 2014-02-08 00:13:33 -0500 |
commit | 64e23d0a38f316a07cef0960d0ed74a450214283 (patch) | |
tree | 5c1e75efbe703e4163f087cb05356bcaa27a9999 /src/libmain | |
parent | 5671188eb2822b7392a6affa5ebe2f1eb8f521a0 (diff) |
Add download-via-ssh substituter
This substituter connects to a remote host, runs nix-store --serve
there, and then forwards substituter commands on to the remote host and
sends their results to the calling program. The ssh-substituter-hosts
option can be specified as a list of hosts to try.
This is an initial implementation and, while it works, it has some
limitations:
* Only the first host is used
* There is no caching of query results (all queries are sent to the
remote machine)
* There is no informative output (such as progress bars)
* Some failure modes may cause unhelpful error messages
* There is no concept of trusted-ssh-substituter-hosts
Signed-off-by: Shea Levy <shea@shealevy.com>
Diffstat (limited to 'src/libmain')
-rw-r--r-- | src/libmain/shared.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc index fb70cb076..30238c7fb 100644 --- a/src/libmain/shared.cc +++ b/src/libmain/shared.cc @@ -223,6 +223,9 @@ static void initAndRun(int argc, char * * argv) else remaining.push_back(arg); } + if (char *pack = getenv("_NIX_OPTIONS")) + settings.unpack(pack); + settings.update(); run(remaining); |