mirror of
https://github.com/LnL7/nix-darwin.git
synced 2024-09-11 04:35:46 +03:00
Merge pull request #878 from LoganBarnett/linux-builder-big-config
linux-builder additional options
This commit is contained in:
commit
314a36d99b
@ -60,27 +60,95 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
mandatoryFeatures = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [];
|
||||||
|
defaultText = literalExpression ''[]'';
|
||||||
|
example = literalExpression ''[ "big-parallel" ]'';
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
A list of features mandatory for the Linux builder. The builder will
|
||||||
|
be ignored for derivations that don't require all features in
|
||||||
|
this list. All mandatory features are automatically included in
|
||||||
|
{var}`supportedFeatures`.
|
||||||
|
|
||||||
|
This sets the corresponding `nix.buildMachines.*.mandatoryFeatures` option.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
maxJobs = mkOption {
|
maxJobs = mkOption {
|
||||||
type = types.ints.positive;
|
type = types.ints.positive;
|
||||||
default = 1;
|
default = 1;
|
||||||
example = 4;
|
example = 4;
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
This option specifies the maximum number of jobs to run on the Linux builder at once.
|
The number of concurrent jobs the Linux builder machine supports. The
|
||||||
|
build machine will enforce its own limits, but this allows hydra
|
||||||
|
to schedule better since there is no work-stealing between build
|
||||||
|
machines.
|
||||||
|
|
||||||
This sets the corresponding `nix.buildMachines.*.maxJobs` option.
|
This sets the corresponding `nix.buildMachines.*.maxJobs` option.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
protocol = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = "ssh-ng";
|
||||||
|
defaultText = literalExpression ''"ssh-ng"'';
|
||||||
|
example = literalExpression ''"ssh"'';
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The protocol used for communicating with the build machine. Use
|
||||||
|
`ssh-ng` if your remote builder and your local Nix version support that
|
||||||
|
improved protocol.
|
||||||
|
|
||||||
|
Use `null` when trying to change the special localhost builder without a
|
||||||
|
protocol which is for example used by hydra.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
speedFactor = mkOption {
|
||||||
|
type = types.ints.positive;
|
||||||
|
default = 1;
|
||||||
|
defaultText = literalExpression ''1'';
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
The relative speed of the Linux builder. This is an arbitrary integer
|
||||||
|
that indicates the speed of this builder, relative to other
|
||||||
|
builders. Higher is faster.
|
||||||
|
|
||||||
|
This sets the corresponding `nix.buildMachines.*.speedFactor` option.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
supportedFeatures = mkOption {
|
supportedFeatures = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [ "kvm" "benchmark" "big-parallel" ];
|
default = [ "kvm" "benchmark" "big-parallel" ];
|
||||||
|
defaultText = literalExpression ''[ "kvm" "benchmark" "big-parallel" ]'';
|
||||||
|
example = literalExpression ''[ "kvm" "big-parallel" ]'';
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
This option specifies the list of features supported by the Linux builder.
|
A list of features supported by the Linux builder. The builder will
|
||||||
|
be ignored for derivations that require features not in this
|
||||||
|
list.
|
||||||
|
|
||||||
This sets the corresponding `nix.buildMachines.*.supportedFeatures` option.
|
This sets the corresponding `nix.buildMachines.*.supportedFeatures` option.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systems = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [ "${stdenv.hostPlatform.uname.processor}-linux" ];
|
||||||
|
defaultText = literalExpression ''[ "''${stdenv.hostPlatform.uname.processor}-linux" ]'';
|
||||||
|
example = literalExpression ''
|
||||||
|
[
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
description = lib.mdDoc ''
|
||||||
|
This option specifies system types the build machine can execute derivations on.
|
||||||
|
|
||||||
|
This sets the corresponding `nix.buildMachines.*.systems` option.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
workingDirectory = mkOption {
|
workingDirectory = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = "/var/lib/darwin-builder";
|
default = "/var/lib/darwin-builder";
|
||||||
@ -139,9 +207,8 @@ in
|
|||||||
hostName = "linux-builder";
|
hostName = "linux-builder";
|
||||||
sshUser = "builder";
|
sshUser = "builder";
|
||||||
sshKey = "/etc/nix/builder_ed25519";
|
sshKey = "/etc/nix/builder_ed25519";
|
||||||
system = "${stdenv.hostPlatform.uname.processor}-linux";
|
|
||||||
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUpCV2N4Yi9CbGFxdDFhdU90RStGOFFVV3JVb3RpQzVxQkorVXVFV2RWQ2Igcm9vdEBuaXhvcwo=";
|
publicHostKey = "c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUpCV2N4Yi9CbGFxdDFhdU90RStGOFFVV3JVb3RpQzVxQkorVXVFV2RWQ2Igcm9vdEBuaXhvcwo=";
|
||||||
inherit (cfg) maxJobs supportedFeatures;
|
inherit (cfg) mandatoryFeatures maxJobs protocol speedFactor supportedFeatures systems;
|
||||||
}];
|
}];
|
||||||
|
|
||||||
nix.settings.builders-use-substitutes = true;
|
nix.settings.builders-use-substitutes = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user