php - Opciones de derivación composable de Nix
configuration mcrypt (2)
Intente rastrear las interacciones de los archivos desde configuration.nix y también intente comprender todos esos indicadores al principio, el archivo PHP es un "motor de inicio" de algún tipo. Parece que no tengo ninguna opción de configuración posible, solo se usa como una ejecución interruptor de algún tipo y leer las filas 234-236 (PHP) dice que necesita configuración
también el http://nixos.org/nixos/manual/sec-configuration-syntax.html#sec-nix-syntax-summary está mostrando muy claramente las posibilidades. Digo una vez más que no estoy en ese motor pero creo que todo lo que se debe configurar más allá se realiza con los comandos de administración de NixOS, me será más fácil ayudarlo si explica qué es exactamente lo que necesita hacer.
Estoy tratando de entender qué opciones están disponibles para mí en mi configuration.nix
pkgs
programas particulares buscando la subcarpeta pkgs del árbol de fuentes de nixpkgs, seleccionando las definiciones del módulo para entender las opciones disponibles. Sin embargo, me encuentro con un caso problemático para PHP : es una derivación especial, una derivación componible . No puedo ver qué opciones tengo disponibles con PHP, algo que sería tremendamente útil para habilitar módulos especiales como mcrypt, gd, etc. ¡Cualquier ayuda con esto sería muy apreciada!
Me tomó un tiempo resolver esto, pero la forma correcta de usar composeDerivation para configurar las características de compilación del paquete php es la siguiente:
# config.nix
{
packageOverrides = pkgs: rec {
php = pkgs.php.merge {
cfg = {
imapSupport = false;
intlSupport = false;
fpmSupport = false;
};
};
};
}
Esto anula los valores predeterminados en cfg especificado en php / default.nix (imapSupport, intlSupport y fpmSupport se desactivan). Puede colocar ese archivo en ~/.nixpkgs/config.nix
para que esté activo en todo el sistema o usarlo en otro archivo nix para personalizar el nixpkgs global:
pkgs = import <nixpkgs> { config = (import ./config.nix); };