Ho una scatola NixOS che tengo sul nixos-16.03
canale. Voglio che la macchina rimanga in uno stato prevalentemente stabile, quindi desidero evitare di passare al nixos-unstable
canale.
Tuttavia, devo installare una versione più recente di un pacchetto di quella disponibile in quel canale ( nodejs-6_x
in questo caso). Nel manuale, c'è una sezione che descrive l' installazione One-Click , che all'inizio sembrava esattamente ciò di cui avevo bisogno. Tuttavia, il server Hydra su http://hydra.nixos.org non sembra pubblicare alcun .nixpkg
file utilizzato dallo nix-install-package
strumento descritto in quella sezione.
Il wiki documenta anche un processo attraverso il quale è possibile personalizzare un pacchetto (la pagina si chiama Modifica pacchetti ), che suppongo possa essere usata per i miei scopi, anche se sembra che dovrei combattere lo strumento piuttosto che usarlo .
L'ho chiesto anche in IRC (grazie per M-Ralith
aver risposto pazientemente alle mie domande ignoranti!), Ma non ho capito bene come applicarlo. Il consiglio era di "sovrascrivere src e versione nella configurazione di nixpkgs", il che suona come se potessi scrivere un'espressione nix .nixpkgs/configuration.nix
e sovrascrivere quelle proprietà per il pacchetto nel mio canale sottoscritto ( nixos-16.03
). Quando ho chiesto informazioni sui pacchetti che non esistono nel canale, il consiglio era "di specificare l'intero pacchetto anziché semplicemente sovrascrivere src e versione", cosa che intendo per dire che avrei bisogno di duplicare l'intera espressione nix per il pacchetto Sono interessato a.nix-env
Per i pacchetti che esistono in un altro canale che voglio installare, ma rimangono sul mio canale attuale, c'è un modo migliore? Mi sembra quasi di poter fare qualcosa del genere nix-build <url> | nix-env -i
. Quale sarebbe l'ideale è installare questo uno spento, ma non avere una configurazione che potrebbe impedirgli di essere aggiornato in seguito se il mio canale attuale dovesse recuperare.