Is your feature request related to a problem? Please describe.
10876
By making requiredFeatures easy to use, we can use it to make forward compatibility fail safe
Manually duplicating remote information onto clients is not great UX.
Describe the solution you'd like
Nix can ask the remote builder which features it implements.
Nix maintains a cache of systemFeatures for each of its builders.
This information is transmitted not as a mere list features, but a list of combinations of derivation systems and features; not all combinations may be valid!
example: macOS host may support aarch64-linux by forwarding to a VM, but does not support nested virtualization, so virtualization features only apply to aarch64-darwin.
The exposed combinations of features can be derived from the usual config, or set explicitly
Do not include (transitive) remote builders by default, at least until #10740 is solved
Is your feature request related to a problem? Please describe.
10876
requiredFeatures
easy to use, we can use it to make forward compatibility fail safeManually duplicating remote information onto clients is not great UX.
Describe the solution you'd like
systemFeatures
for each of itsbuilders
.system
s and features; not all combinations may be valid!Describe alternatives you've considered
Additional context
Related terms:
requiredFeatures
mandatoryFeatures
Priorities
Add :+1: to issues you find important.