-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
builtins.derivation (and builtins.derivationStrict) have a number of issues:
-
drvPathhas a funky "DrvDeep" string context that needs to be stripped away with the scary-soundingbuiltins.unsafeDiscardOutputDependency. -
Mixing together environment variable and magic flags is icky (this also applies to the on-disk
.drvformat) -
Returning the arguments to the user provided encourages memory leaks (
derivationStrictalready improves on this overderivation) -
Returning the boiled-down inputs (e.g.
inputSrcs,inputDrvs) is sometimes useful, and we could just return it here. -
The outputs are mixed in with the other attributes (separation of dicts and records; see JSON guideline)
-
Remembers
metaattributes, including such attributes as-
meta.timeout, tracked byEvalStateand/orWorker -
meta.credentials(as in Pluggable authentication #9857 (comment)) -
meta.position(as discussed at Zurich ZHF 2024.05)
-
-
Possibly: arbitrary other
metaattributes
TODO other things
Priorities
Add 👍 to issues you find important.