找到很多描述 callPackage
的来源和它的一些内部结构,但没有一个是指它的位置。这就像 Nix 最保守的 secret ,手册甚至似乎都在积极回避这个话题。我可以在给定的时间内找到它,但这是一个巨大的 repo 。
资源:
尼克斯
答案居然指向
callPackageWith
customisation.nix
中的函数, 但是 callPackage
itself is defined elsewhere .
最佳答案
nix repl
可以告诉您定义 lambda 的位置。
$ nix repl
Welcome to Nix version 2.2.2. Type :? for help.
nix-repl> pkgs = import <nixpkgs> {}
nix-repl> pkgs.callPackage
«lambda @ /nix/store/9hffpjaa2a7djl19ncky7zcvlhyj76dn-nixos-19.03.172396.d740b2ee855/nixos/lib/customisation.nix:108:31»
直到并包括
nixos
的部分是我的<nixpkgs>
,从而给你答案: lib/customisation.nix
line 108 .
关于nix - Nixpkgs 存储库中定义的 `callPackage` 在哪里(或如何找到一般的 Nix lambda 定义)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56121361/