Skip to content

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:

  1. fcitx5-rime.nix: por defecto, fcitx5-rime usa rime-data como valor de rimeDataPkgs, pero este parámetro se puede personalizar con override.
  2. vscode/with-extensions.nix: este paquete para VS Code también puede personalizarse sobrescribiendo el valor de vscodeExtensions, así podemos instalar complementos personalizados en VS Code.
    • nix-vscode-extensions: un gestor de complementos de vscode implementado sobrescribiendo vscodeExtensions.
  3. firefox/common.nix: Firefox también tiene muchos parámetros personalizables.
  4. ...

En resumen, callPackage, override y overlays pueden usarse para personalizar los parámetros de construcción de los paquetes de Nix.