Jak zainstalować jednorazowy pakiet w NixOS?

9

Mam pudełko NixOS, które trzymam na nixos-16.03kanale. Chcę, aby maszyna pozostała w większości stabilnym stanie, dlatego chcę uniknąć przełączania się na nixos-unstablekanał.

Jednak muszę zainstalować nowszą wersję pakietu niż jest dostępna w tym kanale ( nodejs-6_xw tym przypadku). W podręczniku znajduje się sekcja opisująca instalację jednym kliknięciem , która początkowo wydawała się dokładnie tym, czego potrzebowałem. Jednak serwer Hydra pod adresem http://hydra.nixos.org nie wydaje się obsługiwać żadnych .nixpkgplików używanych przez nix-install-packagenarzędzie opisane w tej sekcji.

Wiki dokumentuje również proces, w którym można dostosować pakiet (strona nazywa się modyfikowaniem pakietów ), co, jak sądzę, mogłoby być wykorzystane do moich celów, chociaż wydaje się, że raczej walczyłbym z narzędziem niż z nim korzystał .

Pytałem o to również w IRC (dzięki M-Ralithza cierpliwe odpowiadanie na moje ignoranckie pytania!), Ale nie do końca rozumiałem, jak to zastosować. Porada brzmiała: „przesłonić src i wersję w konfiguracji nixpkgs”, co brzmi jakbym mógł napisać wyrażenie nix .nixpkgs/configuration.nixi zastąpić te właściwości pakietu w moim subskrybowanym channel ( nixos-16.03). Kiedy zapytałem o pakiety, które nie istnieją w kanale, poradziłem, aby „określić cały pakiet, a nie tylko zastąpić src i wersję”, co mam na myśli, że musiałbym zduplikować całe wyrażenie nix dla pakietu Interesuję się.nix-env

Czy istnieje lepszy sposób dla pakietów, które istnieją w innym kanale, który chcę zainstalować, ale pozostaję na bieżącym kanale? Wydaje mi się, że powinienem być w stanie zrobić coś takiego nix-build <url> | nix-env -i. Idealne byłoby zainstalowanie tego jednego, ale brak konfiguracji, która mogłaby uniemożliwić jego późniejszą aktualizację, gdyby mój obecny kanał miał nadrobić zaległości.

Ben Collins
źródło

Odpowiedzi:

8

możesz użyć nix-envnarzędzia

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

lub użyj nix-buildnarzędzia

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

jak to pomaga!

Rok Garbas
źródło