buildEnv 内置函数如何工作?

How buildEnv builtin function works?

如何 buildEnv works? Why its builtin? How can I use it? What does manifest argument?关于 buildEnv 的文档在哪里?

正在寻找实际的 buildenv.nixbuildEnv 功能?

因为 buildenv.nix 是 Nix 包管理器的内部机制,对于非 Nix 本身的开发人员来说并不是很感兴趣。

如果您对 buildEnv 函数感兴趣是 NixPkgs 包集合的一部分,此函数在此处实现: https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/buildenv/default.nix

即使代码给出了一些提示,我也没有找到任何真正的文档,但是您可以在手册中找到一些示例: https://nixos.org/nixpkgs/manual/#sec-building-environment

如果我理解正确的话,清单也是 Nix 的内部文件:它是一个 Nix 文件,其中包含与给定环境相对应的派生列表。例如,您可以在 /nix/var/nix/profiles/per-user/root/channels/manifest.nix 中使用 nix 的机器上查看一个。

可读性不是很好,看起来像这样:

[ { meta = { }; name = "nixos-18.09pre143771.a8c71037e04"; out = { outPath = "/nix/store/yqxc408mhbcksnaqndkpdkg8ylcj2xhg-nixos-18.09pre143771.a8c71037e04"; }; outPath = "/nix/store/yqxc408mhbcksnaqndkpdkg8ylcj2xhg-nixos-18.09pre143771.a8c71037e04"; outputs = [ "out" ]; system = "x86_64-linux"; type = "derivation"; } { meta = { }; name = "nixos-1803-18.03.132768.94d80eb7247"; out = { outPath = "/nix/store/ih8bhvgmp47rs3acchkc9ch7f8760rpz-nixos-1803-18.03.132768.94d80eb7247"; }; outPath = "/nix/store/ih8bhvgmp47rs3acchkc9ch7f8760rpz-nixos-1803-18.03.132768.94d80eb7247"; outputs = [ "out" ]; system = "x86_64-linux"; type = "derivation"; } ]