我正在寻找有关如何针对我的情况采取最佳方式的启示,如下所示:
我的项目中有一个 nixpkgs 文件夹,我从其他 repo 下载。它位于我的
theproject/front-plat/default.nix
然后代码看起来像这样。{ nixpkgsFunc ? import ./nixpkgs }: let nixpkgs = nixpkgsFunc ({ config = { ... }; lib = {...}; etc.
在我的
theproject/release.nix
我想添加一个新的包,它将用于我使用 nixpkgs 的前端平台构建的。所以代码看起来像这样。{ front-plat ? import ./deps/front-plat {}}: let nixpkgs = front-platform.nixpkgs; packageCompiler = front-plat.compiler; config = rec { ... packageOverrides = pkgs: rec { packageCompiler = pkgs.packageCompiler.override { overrides = self: super: rec { fronFrint = self.callPackage (import ./frontFrint { inherit front-plat; }); }; }; };
3 我假设,现在我正在使用来自前端平台的 nixpkgs,但我仍然不确定我的 nixpkgs 的 packageCompiler 是否已经包含 fronFrint 包。
问题是,如何将名为“frontFrint”的新包添加到 nixpkgs 的 packageCompiler。以便 packageCompiler 可以构建 fronFint。例如最后,代码将是
in { front = pkgs.packageCompiler.frontFrint; }