Come si installa un pacchetto unico in NixOS?


9

Ho una scatola NixOS che tengo sul nixos-16.03canale. Voglio che la macchina rimanga in uno stato prevalentemente stabile, quindi desidero evitare di passare al nixos-unstablecanale.

Tuttavia, devo installare una versione più recente di un pacchetto di quella disponibile in quel canale ( nodejs-6_xin 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 .nixpkgfile utilizzato dallo nix-install-packagestrumento 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-Ralithaver 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.nixe 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.

Risposte:


8

puoi usare lo nix-envstrumento

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

o usa lo nix-buildstrumento

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

come questo aiuta!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.