Как установить одноразовый пакет в NixOS?


9

У меня есть коробка NixOS, которую я держу на nixos-16.03канале. Я хочу, чтобы аппарат оставался в основном стабильном состоянии, и поэтому я хочу избежать переключения на nixos-unstableканал.

Однако мне нужно установить более новую версию пакета, чем доступна в этом канале ( nodejs-6_xв данном случае). В руководстве есть раздел, описывающий установку в один клик , которая на первый взгляд казалась именно тем, что мне было нужно. Однако сервер Hydra по адресу http://hydra.nixos.org , похоже, не обслуживает какие-либо .nixpkgфайлы, которые используются nix-install-packageинструментом, описанным в этом разделе.

Вики также документирует процесс, с помощью которого можно настроить пакет (страница называется « Модификация пакетов» ), который, я полагаю, мог бы быть использован для моих целей, хотя кажется, что я буду бороться с инструментом, а не с ним.

Я также спрашивал об этом в IRC (спасибо, что M-Ralithтерпеливо отвечал на мои невежественные вопросы!), Но я не совсем понимал, как его применять. Совет заключался в том, чтобы «переопределить src и версию в вашей конфигурации nixpkgs», что звучит так, как будто я могу написать выражение nix .nixpkgs/configuration.nixи переопределить эти свойства для пакета в моем подписанном канале ( nixos-16.03). Когда я спросил о пакетах, которых нет в канале, я посоветовал «указать весь пакет, а не просто переопределять src и версию», что, как я понимаю, означало, что мне нужно будет продублировать все выражение nix для пакета Я заинтересован вnix-env

Для пакетов, которые существуют в другом канале, который я хочу установить, но остаться на моем текущем канале, есть ли лучший способ? Такое ощущение, что я должен быть в состоянии сделать что-то подобное nix-build <url> | nix-env -i. Что было бы идеально, так это установить его, но не иметь конфигурации, которая могла бы помешать его обновлению позже, если бы мой текущий канал наверстал упущенное.

Ответы:


8

Вы можете использовать nix-envинструмент

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

или используйте nix-buildинструмент

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

как это помогает!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.