J'ai une boîte NixOS que je garde sur la nixos-16.03
chaîne. Je veux que la machine reste dans un état principalement stable, et donc je veux éviter de passer au nixos-unstable
canal.
Cependant, j'ai besoin d'installer une version plus récente d'un package que celle disponible dans ce canal ( nodejs-6_x
dans ce cas). Dans le manuel, il y a une section qui décrit l' installation en un clic , qui semblait au départ exactement ce dont j'avais besoin. Cependant, le serveur Hydra à http://hydra.nixos.org ne semble pas servir de .nixpkg
fichiers utilisés par l' nix-install-package
outil décrit dans cette section.
Le wiki documente également un processus par lequel on peut personnaliser un package (la page s'appelle Modifier les packages ), qui je suppose pourrait être utilisé à mes fins, bien qu'il semble que je combattrais l'outil plutôt que de l' utiliser .
J'ai également posé des questions à ce sujet dans IRC (merci d' M-Ralith
avoir répondu patiemment à mes questions ignorantes!), Mais je ne comprenais pas très bien comment l'appliquer. Le conseil était de "remplacer src et la version dans votre configuration nixpkgs", ce qui me semble pouvoir écrire une expression nix dans .nixpkgs/configuration.nix
et remplacer ces propriétés pour le package dans mon canal abonné ( nixos-16.03
). Lorsque j'ai posé des questions sur les packages qui n'existent pas dans le canal, le conseil était de "spécifier le package entier plutôt que de simplement remplacer src et la version", ce qui signifie que je devrais dupliquer l'expression nix entière pour le package Je m'intéresse à.nix-env
Pour les packages qui existent dans un autre canal que je souhaite installer, mais qui restent sur mon canal actuel, existe-t-il une meilleure solution? J'ai l'impression que je devrais être capable de faire quelque chose comme ça nix-build <url> | nix-env -i
. L'idéal serait d'installer celui-ci, mais de ne pas avoir de configuration qui pourrait l'empêcher d'être mis à niveau plus tard si ma chaîne actuelle devait rattraper son retard.