2016-07-26 25 views
4

Ich versuche, diese zu folgen, um den Nix-Paket-Manager in meinem Home-Verzeichnis statt /nix zu installieren.Nix-Tutorial zur Installation im Home-Verzeichnis

Ich mache die PRoot Installation (siehe 2. im Tutorial). Am Ende schlägt die Tutorial, intelligent zu sein in Gebäude nativen Paketen Abschnitt, um Lage, Pakete ohne Proot auszuführen:

auszuführen Pakete nativ (ohne Proot) sie von der Quelle bauen weil alle Pfade zum Nix-Store fest codiert sind. Es ist einfach, wirklich:

mkdir $ HOME/nichts

nix-Kanal --update

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

Und jetzt Sie Nichts Store wird mit den neuen Pfaden aufgebaut. Die erstellten Binärdateien können direkt von dort aus ausgeführt werden.

Ich tat das, aber ich sehe nicht, wie es mich von PRoot befreit. Wenn ich nicht den /nix Mountpunkt mit PRoot mache, funktioniert nichts (keine nix-env ausführbare Datei, Ich kann keine neuen Pakete installieren).

Sollte diese NIX_STORE_DIR Umgebungsvariable in meine .bashrc eingegeben werden?

Es scheint, ich muss laufen Proot immer da ~/.nix-profile Punkte ein /nix/... Verzeichnis:

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

Es gibt mehr Schritte im Tutorial sind (5., 6.) - sollte ich ihnen folgen? Es scheint, dass sie nur im Falle der manuellen Installation (Schritt 4), gelten, obwohl es nicht explizit ist.

Jede Hilfe würde geschätzt :)

+1

Können Sie nach dem letzten Schritt auf '$ HOME/nix/var/nix/profiles/default/nix-env' zugreifen? – rahul

Antwort

0

Für alle, auf dieser alten Frage stolpern: Es gibt keine derzeit unterstützte Möglichkeit Nichts zu installieren, ohne root. Das obige Wiki wurde zu https://nixos.wiki/wiki/Nix_Installation_Guide verschoben. Es kann durchaus veraltet sein. PRoot könnte funktionieren, aber selbst dann, den gesamten Speicher an einem anderen Pfad neu aufzubauen, ist keine gute Idee, nicht zuletzt weil die binären Caches nicht helfen werden und Sie alles erstellen müssen.

Ich schlage vor, versuchen Nix in einer virtuellen Maschine oder Cloud-Server.