¿Cómo instalas un paquete único en NixOS?

9

Tengo una caja de NixOS que guardo en el nixos-16.03canal. Quiero que la máquina permanezca en un estado mayormente estable, por lo que quiero evitar cambiar al nixos-unstablecanal.

Sin embargo, necesito instalar una versión más nueva de un paquete que está disponible en ese canal ( nodejs-6_xen este caso). En el manual, hay una sección que describe la instalación con un clic , que al principio parecía exactamente lo que necesitaba. Sin embargo, el servidor Hydra en http://hydra.nixos.org no parece estar sirviendo ningún .nixpkgarchivo que sea utilizado por la nix-install-packageherramienta descrita en esa sección.

La wiki también documenta un proceso mediante el cual se puede personalizar un paquete (la página se llama Modificación de paquetes ), que supongo que podría usarse para mis propósitos, aunque parece que estaría luchando contra la herramienta en lugar de usarla .

También pregunté sobre esto en IRC (¡gracias M-Ralithpor responder pacientemente a mis preguntas ignorantes!), Pero no entendí bien cómo aplicarlo. El consejo era "anular src y versión en su configuración nixpkgs", lo que parece que podría escribir una expresión nix .nixpkgs/configuration.nixy anular esas propiedades para el paquete en mi canal suscrito ( nixos-16.03). Cuando pregunté acerca de los paquetes que no existen en el canal, el consejo fue "especificar el paquete completo en lugar de simplemente anular src y versión", lo que considero que tendría que duplicar toda la expresión nix para el paquete Estoy interesado en.nix-env

Para los paquetes que existen en otro canal que quiero instalar, pero que permanecen en mi canal actual, ¿hay una mejor manera? Casi parece que debería poder hacer algo como eso nix-build <url> | nix-env -i. Lo ideal sería instalarlo, pero no tener una configuración que impida que se actualice más adelante si mi canal actual se pone al día.

Ben Collins
fuente

Respuestas:

8

puedes usar la nix-envherramienta

% nix-env -f https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz -iA tig

o use la nix-buildherramienta

% nix-build -I nixpkgs=https://github.com/NixOS/nixpkgs-channels/archive/nixos-unstable.tar.gz -A tig

¡Cómo ayuda eso!

Rok Garbas
fuente