1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-21 17:59:36 +01:00

max-substitution-jobs setting

This commit is contained in:
Matej Urbas 2023-04-30 09:56:24 +01:00
parent 89d3cc5a47
commit 613bc699bb
5 changed files with 74 additions and 10 deletions

View file

@ -29,6 +29,21 @@ struct MaxBuildJobsSetting : public BaseSetting<unsigned int>
unsigned int parse(const std::string & str) const override;
};
struct MaxSubstitutionJobsSetting : public BaseSetting<unsigned int>
{
MaxSubstitutionJobsSetting(Config * options,
unsigned int def,
const std::string & name,
const std::string & description,
const std::set<std::string> & aliases = {})
: BaseSetting<unsigned int>(def, true, name, description, aliases)
{
options->addSetting(this);
}
unsigned int parse(const std::string & str) const override;
};
struct PluginFilesSetting : public BaseSetting<Paths>
{
bool pluginsLoaded = false;
@ -159,6 +174,18 @@ public:
)",
{"build-max-jobs"}};
MaxSubstitutionJobsSetting maxSubstitutionJobs{
this, 16, "max-substitution-jobs",
R"(
This option defines the maximum number of substitution jobs that Nix
will try to run in parallel. The default is `16`. The minimum value
one can choose is `1` and lower values will be interpreted as `1`. The
special value `auto` causes Nix to use the number of CPUs in your
system. It can be overridden using the `--max-substitution-jobs`
command line switch.
)",
{"substitution-max-jobs"}};
Setting<unsigned int> buildCores{
this,
getDefaultCores(),