aboutsummaryrefslogtreecommitdiff
path: root/src/libmain/common-args.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-06-17 08:43:45 +0200
committerEelco Dolstra <edolstra@gmail.com>2019-06-24 22:07:29 +0200
commit7b9c68766d513260d5262d5782b46384834cdb33 (patch)
tree85bdcc1602895a1fd72025ac3c36114f84af79d9 /src/libmain/common-args.cc
parent78fa47a7f08a4cb6ee7061bf0bd86a40e1d6dc91 (diff)
Add '--no-net' convenience flag
This flag * Disables substituters. * Sets the tarball-ttl to infinity (ensuring e.g. that the flake registry and any downloaded flakes are considered current). * Disables retrying downloads and sets the connection timeout to the minimum. (So it doesn't completely disable downloads at the moment.) (cherry picked from commit 8ea842260b4fd93315d35c5ba94b1ff99ab391d8)
Diffstat (limited to 'src/libmain/common-args.cc')
-rw-r--r--src/libmain/common-args.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libmain/common-args.cc b/src/libmain/common-args.cc
index 9e1d7cee6..0486932b2 100644
--- a/src/libmain/common-args.cc
+++ b/src/libmain/common-args.cc
@@ -1,5 +1,6 @@
#include "common-args.hh"
#include "globals.hh"
+#include "download.hh"
namespace nix {
@@ -44,6 +45,16 @@ MixCommonArgs::MixCommonArgs(const string & programName)
settings.set("max-jobs", s);
});
+ mkFlag()
+ .longName("no-net")
+ .description("disable substituters and consider all previously downloaded files up-to-date")
+ .handler([]() {
+ settings.useSubstitutes = false;
+ settings.tarballTtl = std::numeric_limits<unsigned int>::max();
+ downloadSettings.tries = 0;
+ downloadSettings.connectTimeout = 1;
+ });
+
std::string cat = "config";
globalConfig.convertToArgs(*this, cat);