Open
Description
Is your feature request related to a problem? Please describe.
-
Inadequate forward compatibility in derivations #10876
- By making
requiredFeatures
easy to use, we can use it to make forward compatibility fail safe
- By making
-
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 itsbuilders
. - This information is transmitted not as a mere list features, but a list of combinations of derivation
system
s 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 Recursion in
builders
definitions deadlocks builds withwaiting for lock on '/nix/store/...'
#10740 is solved
- Do not include (transitive) remote builders by default, at least until Recursion in
Describe alternatives you've considered
Additional context
Related terms: requiredFeatures
mandatoryFeatures
Priorities
Add 👍 to issues you find important.