Nix可组合派生选项

时间:2014-05-14 16:59:29

标签: php configuration mcrypt nixos

我试图通过搜索nixpkgs源代码树的configuration.nix子文件夹来了解我的pkgs特定程序中可用的选项,选择module's definitions了解可用选项。但是,我遇到PHP的麻烦案例 - 它是一个特殊的派生,composable derivation。我无法看到我用PHP提供的选项 - 这对于启用mcrypt,gd等特殊模块非常有帮助。任何对此的帮助都将非常感谢!

2 个答案:

答案 0 :(得分:3)

我花了一段时间来解决这个问题,但使用composeDerivation设置php包构建功能的正确方法是:

  # config.nix
  {
   packageOverrides = pkgs: rec {
      php = pkgs.php.merge {
        cfg = {
          imapSupport = false;
          intlSupport = false;
          fpmSupport = false;
        };
      };
   };
  }

这将覆盖php / default.nix中指定的cfg中的默认值(imapSupport,intlSupport和fpmSupport get off)。您可以将该文件放在~/.nixpkgs/config.nix中以在系统范围内处于活动状态,也可以在另一个nix文件中使用它来自定义全局nixpkgs:

pkgs = import <nixpkgs> { config = (import ./config.nix);  };

答案 1 :(得分:0)

尝试跟踪来自 configuration.nix 的文件交互,并尝试首先了解所有这些标志,PHP文件是一个&#34;启动引擎&#34;某种我似乎没有任何可能的配置选项它只是用作某种类型的运行开关并读取行234-236(PHP)它说它需要配置

http://nixos.org/nixos/manual/sec-configuration-syntax.html#sec-nix-syntax-summary也清楚地表明了可能性。我再说一次,我没有进入该引擎,但我认为所有进一步配置都是通过NixOS管理命令完成的,如果你解释你究竟需要做什么,我会更容易帮助你。

相关问题