Während die Nix/OS Wiki und Handbücher viele ausgezeichnete Informationen liefern, habe ich immer noch Schwierigkeiten, einen architektonischen Überblick zu bekommen. Entschuldigung für die Quantität und Naivität der Fragen; fühlen sich frei, um eine Teilmenge zu beantworten:Eine Übersicht über Nix/OS Architektur?
1. Was ein Nix Paket ausmacht?
Aus meiner Lektüre des Handbuchs ein Nix Paket ist:
i. Ein Nix-Ausdruck, der die Quelle und die Abhängigkeiten abruft, die zum Erstellen benötigt werden.
ii. Ein builder
Skript.
iii. Eine Auflistung auf all-packages.nix
.
Die Quelle und die Binärdatei zusammen mit den generierten Ableitungen werden in die nix/store
eingegeben, und Kanäle automatisieren Aktualisierungen und halten sie durch Verwendung eines gemeinsamen Binärcaches effizient auf dem neuesten Stand.
a. Ist das korrekt und vollständig?
b. Wo sind die .nix-Ausdrücke gespeichert?
c. Kann ich einfach ein Paket Ordner zwischen den nix/store
s verschiedener Maschinen kopieren, wenn sie die gleiche Architektur haben?
2. Was eine Nix Umwelt darstellt?
a. Wo und wie sind Umgebungen definiert?
b. Was ist mit Benutzerprofilen?
c. Wie funktioniert der Befehl nix-shell
? Bezieht es sich auf den Befehl nix-env
?
3. Was ist die Beziehung zwischen NixOS der configuration.nix
und Nix-Umgebungen?
Aus dem Handbuch und Wiki Ich sammle NixOS ist ein Nix-Paket, und das Nix erstellt eine grundlegende Systemumgebung basierend auf configuration.nix
.
a.Ist das wahr, und wenn ja, was machen dann nixos-rebuild
und nixos-install
?
b. Ist es möglich, den Prozess umzukehren, d. H. Komprimierte Paket- oder Konfigurationsdateien aus einer Umgebung zu generieren?
c. Was kann ich mit NixOS machen, was ich mit Nix nicht machen kann?
4. Was sind Best Practices bei der Verwendung von Nix für die Erstellung von portablen und reproduzierbaren Umgebungen mit Kollegen zu teilen?
a. Welche verschiedenen Ansätze gibt es, Desktop-, Server- und Entwicklungsumgebungen gemeinsam zu nutzen?
b. Was sind die Anwendungsfälle für diese Ansätze?
c. Was sind ihre Vor- und Nachteile gegenüber Portabilität und Zugänglichkeit?
5. Öffnen Sie Bonus-Frage: was sonst noch wichtig ist über Nix/OS Architektur zu beachten?