diff options
author | Valentin Gagarin <valentin.gagarin@tweag.io> | 2022-12-05 16:24:52 +0100 |
---|---|---|
committer | Valentin Gagarin <valentin.gagarin@tweag.io> | 2022-12-07 16:47:30 +0100 |
commit | 53b5a47c12e45bcc55a1115429e231e8c325fd1e (patch) | |
tree | 199d433875cbe16252cdf372dea137c09eda585a /doc/contributing/coding-conventions.chapter.md | |
parent | 5b9b93b9be4234aaf9cd53e3247a927225095514 (diff) |
document Import From Derivation (IFD) policy
Diffstat (limited to 'doc/contributing/coding-conventions.chapter.md')
-rw-r--r-- | doc/contributing/coding-conventions.chapter.md | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/contributing/coding-conventions.chapter.md b/doc/contributing/coding-conventions.chapter.md index d6f6cfe2358d0..134c0ca93cae9 100644 --- a/doc/contributing/coding-conventions.chapter.md +++ b/doc/contributing/coding-conventions.chapter.md @@ -670,3 +670,18 @@ stdenv.mkDerivation { ... } ``` + +### Import From Derivation {#ssec-import-from-derivation} + +Import From Derivation (IFD) is disallowed in Nixpkgs for performance reasons: +[Hydra] evaluates the entire package set, and sequential builds during evalation would increase evaluation times to become impractical. + +[Hydra]: https://github.com/NixOS/hydra + +Import From Derivation can be worked around in some cases by committing generated intermediate files to version control and reading those instead. + +<!-- TODO: remove the following and link to Nix manual once https://github.com/NixOS/nix/pull/7332 is merged --> + +See also [NixOS Wiki: Import From Derivation]. + +[NixOS Wiki: Import From Derivation]: https://nixos.wiki/wiki/Import_From_Derivation |