Nixpkgs の発展的な使い方
callPackage
, Overriding
, Overlays
は Nix パッケージのビルド方法をカスタムするために Nix を使用する際に時々使われる手法です。
多くのプログラムには設定するべき多くのビルドパラメータがあります。しかし、他のユーザは異なるビルドパラメータを使用したいということがあるかもしれません。
この点で、Overriding
と Overlays
が重宝されています。ここで私が今までに遭遇した例について少し説明します。
fcitx5-rime.nix
: 標準では、fcitx5-rime
はrime-data
をrimeDataPkgs
の値として使用します。ですが、override
によってこのパラメータをカスタマイズすることができます。vscode/with-extensions.nix
: この VS Code パッケージは、vscodeExtensions
の値を書き換えることでカスタマイズすることができます。これによって、カスタムプラグインを VS Code にインストールすることができます。nix-vscode-extensions
: これはvscodeExtensions
を上書きすることによって実装された vscode のプラグインマネージャです。
firefox/common.nix
: Firefox にも同様に多くのカスタマイズ可能なパラメータがあります。- ...
要するに、callPackage
, Overriding
, Overlays
によって、Nix パッケージのビルドパラメータのカスタマイズをすることができます。