7

の代わりにホームディレクトリにNixパッケージマネージャーをインストールするために、このチュートリアルに従おうとしています/nix

PRootのインストールを行っています (チュートリアルの 2. を参照)。最後に、このチュートリアルでは、ネイティブ パッケージのビルドセクションで賢く、PRoot なしでパッケージを実行できるようにすることを提案しています。

パッケージをネイティブに (PRoot なしで) 実行するには、ソースからビルドする必要があります。これは、nix ストアへのすべてのパスがハードコーディングされているためです。それは本当に簡単です:

mkdir $HOME/nix

nix-channel --update

env NIX_STORE_DIR=$HOME/nix nix-env -i nix

これで、新しいパスを使用して Nix ストアが構築されます。ビルドされたバイナリはそこから直接実行できます。

私はそれをしましたが、それがどのように PRoot から解放されるのかわかりません。/nixPRoot でマウント ポイントを作成しないと、何も機能しません (実行nix-env可能ファイルがなく、新しいパッケージをインストールできません)。

このNIX_STORE_DIR環境変数を my に入れる必要があり.bashrcますか?

ディレクトリ~/.nix-profileを指しているため、常に PRoot を実行する必要があるようです。/nix/...

.nix-profile -> /nix/var/nix/profiles/default

チュートリアルには他にも手順があります (5.、6.) - 従う必要がありますか? 明示的ではありませんが、手動インストール (ステップ 4.) を使用する場合にのみ適用されるようです。

どんな助けでも大歓迎です:)

4

2 に答える 2