NixOSに1回限りのパッケージをインストールするにはどうすればよいですか?


9

NixOSボックスを持っているので、nixos-16.03チャンネルを続けます。マシンをほぼ安定した状態に保ちたいので、nixos-unstableチャネルに切り替えないようにしたいと思っています。

ただし、そのチャネルで利用可能なものよりも新しいバージョンのパッケージをインストールする必要があります(nodejs-6_xこの場合)。マニュアルには、ワンクリックインストールについて説明するセクションがあります。ただし、http://hydra.nixos.orgのHydraサーバーは、そのセクションで説明.nixpkgされているnix-install-packageツールで使用されるファイルを提供していないようです。

wikiには、パッケージをカスタマイズできるプロセス(このページはパッケージの変更と呼ばれます)も記載されています。これは、目的に使用できると思われますが、ツールを使用するのではなく、ツールと戦っているようです。

私はこれについてもIRCでM-Ralith質問しました(私の無知な質問に辛抱強く答えてくれてありがとう!)、それを適用する方法がよくわかりませんでした。「nixpkgs設定でsrcとバージョンをオーバーライドする」というアドバイスがありました。これ.nixpkgs/configuration.nixは、サブスクライブされたチャネル(nixos-16.03)でnix式を記述してパッケージのプロパティをオーバーライドできるように思えます。チャネルに存在しないパッケージについて尋ねたところ、アドバイスは「srcとversionをオーバーライドするだけでなく、パッケージ全体を指定すること」でした。これは、パッケージの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

それがどのように役立つか!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.