Merge pull request #1788 from k0001/rem-subs-1
nix.conf: builders-use-substitutes
This commit is contained in:
		
						commit
						874ad7d9f8
					
				
					 3 changed files with 23 additions and 2 deletions
				
			
		|  | @ -321,6 +321,20 @@ false</literal>.</para> | |||
|   </varlistentry> | ||||
| 
 | ||||
| 
 | ||||
|   <varlistentry><term><literal>builders-use-substitutes</literal></term> | ||||
| 
 | ||||
|     <listitem><para>If set to <literal>true</literal>, Nix will instruct | ||||
|     remote build machines to use their own binary substitutes if available. In | ||||
|     practical terms, this means that remote hosts will fetch as many build | ||||
|     dependencies as possible from their own substitutes (e.g, from | ||||
|     <literal>cache.nixos.org</literal>), instead of waiting for this host to | ||||
|     upload them all. This can drastically reduce build times if the network | ||||
|     connection between this computer and the remote build host is slow. Defaults | ||||
|     to <literal>false</literal>.</para></listitem> | ||||
| 
 | ||||
|   </varlistentry> | ||||
| 
 | ||||
| 
 | ||||
|   <varlistentry><term><literal>fallback</literal></term> | ||||
| 
 | ||||
|     <listitem><para>If set to <literal>true</literal>, Nix will fall | ||||
|  |  | |||
|  | @ -218,9 +218,11 @@ connected: | |||
|             signal(SIGALRM, old); | ||||
|         } | ||||
| 
 | ||||
|         auto substitute = settings.buildersUseSubstitutes ? Substitute : NoSubstitute; | ||||
| 
 | ||||
|         { | ||||
|             Activity act(*logger, lvlTalkative, actUnknown, fmt("copying dependencies to '%s'", storeUri)); | ||||
|             copyPaths(store, ref<Store>(sshStore), inputs, NoRepair, NoCheckSigs); | ||||
|             copyPaths(store, ref<Store>(sshStore), inputs, NoRepair, NoCheckSigs, substitute); | ||||
|         } | ||||
| 
 | ||||
|         uploadLock = -1; | ||||
|  | @ -240,7 +242,7 @@ connected: | |||
|         if (!missing.empty()) { | ||||
|             Activity act(*logger, lvlTalkative, actUnknown, fmt("copying outputs from '%s'", storeUri)); | ||||
|             setenv("NIX_HELD_LOCKS", concatStringsSep(" ", missing).c_str(), 1); /* FIXME: ugly */ | ||||
|             copyPaths(ref<Store>(sshStore), store, missing, NoRepair, NoCheckSigs); | ||||
|             copyPaths(ref<Store>(sshStore), store, missing, NoRepair, NoCheckSigs, substitute); | ||||
|         } | ||||
| 
 | ||||
|         return; | ||||
|  |  | |||
|  | @ -138,6 +138,11 @@ public: | |||
|     Setting<std::string> builders{this, "@" + nixConfDir + "/machines", "builders", | ||||
|         "A semicolon-separated list of build machines, in the format of nix.machines."}; | ||||
| 
 | ||||
|     Setting<bool> buildersUseSubstitutes{this, false, "builders-use-substitutes", | ||||
|         "Whether build machines should use their own substitutes for obtaining " | ||||
|         "build dependencies if possible, rather than waiting for this host to " | ||||
|         "upload them."}; | ||||
| 
 | ||||
|     Setting<off_t> reservedSize{this, 8 * 1024 * 1024, "gc-reserved-space", | ||||
|         "Amount of reserved disk space for the garbage collector."}; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue