本地nixpkgs'的overridePackages config添加新包

时间:2017-03-21 15:35:25

标签: haskell nix nixos

我正在寻找关于如何在我的情况下采取最佳方式的启示,如下所示:

  1. 我的项目中有一个nixpkgs文件夹,我从其他仓库下载。它位于我的theproject/front-plat/default.nix,然后代码看起来像这样。

    { nixpkgsFunc ? import ./nixpkgs }: let nixpkgs = nixpkgsFunc ({ config = { ... }; lib = {...}; etc.

  2. 在我的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. 3我认为,现在我正在使用前置平台上的nixpkgs,但我仍然不确定我的nixpkgs' packageCompiler是否已包含fronFrint包。

    问题是,如何添加名为" frontFrint"到nixpkgs的packageCompiler。这样packageCompiler就可以构建fronFrint。例如最后,代码将是  in { front = pkgs.packageCompiler.frontFrint; }

0 个答案:

没有答案