31

nixpkgsのソースツリーのサブフォルダーを検索し、モジュールの定義configuration.nixを選択して利用可能なオプションを理解することにより、特定のプログラムで利用可能なオプションを理解しようとしています。しかし、私はPHPの厄介なケースに遭遇しています- それは特別な派生、構成可能な派生です。PHP で使用できるオプションがわかりません。mcrypt、gd などの特別なモジュールを有効にするのに非常に役立つものです。pkgs

4

2 に答える 2

3

これを理解するのにしばらく時間がかかりましたが、php パッケージのビルド機能を設定するために composeDerivation を使用する正しい方法は次のとおりです。

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

これは、php/default.nix で指定された cfg のデフォルト値を上書きします (imapSupport、intlSupport、および fpmSupport はオフになります)。そのファイルを~/.nixpkgs/config.nixシステム全体でアクティブにするか、次のように別の nix ファイルで使用して、グローバル nixpkgs をカスタマイズできます。

pkgs = import <nixpkgs> { config = (import ./config.nix);  };
于 2015-08-12T17:49:41.830 に答える
0

configuration.nixからファイルのやり取りを追跡してみてください。また、最初はこれらすべてのフラグを理解するようにしてください。PHP ファイルはある種の「スタートアップ エンジン」です。実行可能な構成オプションがないようです。いくつかのタイプを切り替えて行 234-236(PHP) を読み取ると、構成が必要であると表示されます

http://nixos.org/nixos/manual/sec-configuration-syntax.html#sec-nix-syntax-summaryも可能性を非常に明確に示しています。繰り返しますが、私はそのエンジンには興味がありませんが、それ以上の設定はすべて NixOS 管理コマンドで行うと思います。正確に何をする必要があるかを説明していただければ、より簡単にお手伝いできます。

于 2015-02-23T23:23:14.180 に答える