Uso avanzado de Nixpkgs
callPackage, override y overlays son técnicas que se usan ocasionalmente al utilizar Nix para personalizar el método de construcción de los paquetes de Nix.
Sabemos que muchos programas tienen una gran cantidad de parámetros de compilación que necesitan configurarse, y distintos usuarios pueden querer valores distintos. Ahí es donde override y overlays resultan útiles. Te doy algunos ejemplos que he encontrado:
fcitx5-rime.nix: por defecto,fcitx5-rimeusarime-datacomo valor derimeDataPkgs, pero este parámetro se puede personalizar conoverride.vscode/with-extensions.nix: este paquete para VS Code también puede personalizarse sobrescribiendo el valor devscodeExtensions, así podemos instalar complementos personalizados en VS Code.nix-vscode-extensions: un gestor de complementos de vscode implementado sobrescribiendovscodeExtensions.
firefox/common.nix: Firefox también tiene muchos parámetros personalizables.- ...
En resumen, callPackage, override y overlays pueden usarse para personalizar los parámetros de construcción de los paquetes de Nix.