Uso Avançado do Nixpkgs
callPackage, Overriding e Overlays são as técnicas ocasionalmente usadas no Nix para customizar o método de build de pacotes Nix.
Sabemos que muitos programas têm um grande número de parâmetros de build que precisam ser configurados, e diferentes usuários podem querer usar diferentes parâmetros de build. É aqui que o Overriding e os Overlays são úteis. Deixe-me dar alguns exemplos que encontrei:
fcitx5-rime.nix: Por padrão, ofcitx5-rimeusarime-datacomo o valor derimeDataPkgs, mas este parâmetro pode ser customizado poroverride.vscode/with-extensions.nix: Este pacote para o VS Code também pode ser customizado sobrescrevendo o valor devscodeExtensions, Assim, podemos instalar alguns plugins customizados no VS Code.nix-vscode-extensions: Este é um gerenciador de plugins do VS Code implementado através da sobrescrita devscodeExtensions.
firefox/common.nix: O Firefox também tem muitos parâmetros personalizáveis.- ...
Em suma, callPackage, Overriding e Overlays podem ser usados para customizar os parâmetros de build de pacotes Nix.