Bisher habe ich den Nix-Paketmanager durch nix-env -i
Installieren von Paketen ausprobiert . Jetzt möchte ich das mit einem verwalten ~/configuration.nix
, wie im Beispiel hier , damit ich es in meinen Punktedateien versionieren kann. Gibt es eine Möglichkeit, diese Konfiguration aus meiner aktuellen Umgebung zu generieren?
Alle Informationen, die ich zur Konfiguration auf Benutzer- oder Systemebene finden kann, sind spezifisch für NixOS und setzen voraus, dass ich ausgeführt habe nixos-generate-config
, um die Datei zu erstellen. Dieses Tool ist bei nixpkgs nicht verfügbar, weshalb ich denke, dass es nur zum Erstellen einer NixOS-Installation gedacht ist, nicht für die allgemeine Erstellung von Konfigurationsdateien.
Warum erstellt der Nix-Paketmanager diese Datei nicht, wenn sie installiert ist? Wie konfigurieren Nix-Benutzer (nicht NixOS-Benutzer) ihre installierte Software, z. B. Vim-Plugins, ohne diese Datei?
Antworten:
Diese Datei ist in der Tat spezifisch für NixOS und wird bei der Installation von NixOS automatisch erstellt. Es gibt jedoch Problemumgehungen.
Eine davon ist unter https://nixos.org/nixpkgs/manual/#sec-declarative-package-management im Nixpkgs-Handbuch beschrieben. (In dieser PR hinzugefügt .)
Bitte beachten Sie, dass der Overlays Mechanismus seitdem kam, und nach Kapitel 12.er Overlays : " Overlays sind ähnlich zu anderen Methoden für die Anpassung Nixpkgs, insbesondere das
packageOverrides
Attribut in beschriebenen Abschnitt 6.5,‚Ändern von Paketen überpackageOverrides
‘ . In der TatpackageOverrides
wirkt als eine Overlay nur mit dem Super-Argument. Es ist daher für die grundlegende Verwendung geeignet, aber Overlays sind leistungsfähiger und einfacher zu verteilen. "Es scheint, dass auch eine benutzerseitige deklarative Konfiguration in Arbeit war, diese wurde jedoch seit einiger Zeit nicht mehr aktualisiert: https://github.com/NixOS/nixpkgs/pull/9250
Siehe auch die deklarative Paketverwaltung für die Diskussion normaler Benutzer über den NixOS-Diskurs.
quelle
Ich verwalte meine Dotfiles unter Ubuntu mit Nix. Ich führe dieses Skript aus, das nur ein Wrapper um dieses Installationsprogramm ist .
Das Installationsprogramm versioniert die Punktedateien in ein Nix-Paket und verknüpft sie mithilfe von GNU stow wieder mit Ihrem Home-Verzeichnis.
Es ist wahrscheinlich für die meisten Leute etwas komplex, aber ich verwende es, um Punktedateien zwischen NixOS, Ubuntu und OSX zu verwalten.
quelle
Sie können eine "Nix-Shell" -Umgebung mit einem Nix-Ausdruck wie dem folgenden verwalten:
shell.nix
Und um diese Umgebung zu "betreten", führen Sie Folgendes aus:
nix-shell shell.nix
quelle