Skip to content

Nixpkgs の発展的な使い方

callPackage, Overriding, Overlays は Nix パッケージのビルド方法をカスタムするために Nix を使用する際に時々使われる手法です。

多くのプログラムには設定するべき多くのビルドパラメータがあります。しかし、他のユーザは異なるビルドパラメータを使用したいということがあるかもしれません。

この点で、OverridingOverlays が重宝されています。ここで私が今までに遭遇した例について少し説明します。

  1. fcitx5-rime.nix: 標準では、fcitx5-rimerime-datarimeDataPkgs の値として使用します。ですが、override によってこのパラメータをカスタマイズすることができます。
  2. vscode/with-extensions.nix: この VS Code パッケージは、 vscodeExtensions の値を書き換えることでカスタマイズすることができます。これによって、カスタムプラグインを VS Code にインストールすることができます。
    • nix-vscode-extensions: これは vscodeExtensions を上書きすることによって実装された vscode のプラグインマネージャです。
  3. firefox/common.nix: Firefox にも同様に多くのカスタマイズ可能なパラメータがあります。
  4. ...

要するに、callPackage, Overriding, Overlays によって、Nix パッケージのビルドパラメータのカスタマイズをすることができます。