NixOS und Konfiguration

Eine Flake sieht eine neue Quelldatei nicht

Eine Datei liegt im Checkout, fehlt aber in der kopierten Flake-Quelle. Prüfe Git-Erfassung, ignorierte Pfade und den Import relativ zur Flake.

Auf dieser Seite
  1. Symptome und Geltungsbereich
  2. Mögliche Ursachen
  3. Sicher prüfen
  4. Nächste Schritte nach Befund
  5. Quellen und Prüfung
  6. Verwandte Probleme

Symptome und Geltungsbereich

  • Ein Import scheitert unter einem /nix/store/...-source-Pfad.
  • Dieselbe relative Datei ist im Arbeits-Checkout vorhanden.

Betroffene Umgebung

Lokale Git-basierte Nix-Flakes; die Quellfilterung unterscheidet sich von einem einfachen Pfadeingang.

Erkennbare Meldungen (synthetische Beispiele)
error: path '/nix/store/00000000000000000000000000000000-source/modules/example.nix' does not exist

Git-Erfassung ist nur eine mögliche Ursache; bestätige Pfad und Filterung.

Mögliche Ursachen

Das sind mögliche Erklärungen, keine bestätigte Diagnose. Mehrere unabhängige Fehler können gleichzeitig vorliegen.

  • Ein neues Modul kann noch nicht in Git erfasst und deshalb aus der Flake-Kopie ausgeschlossen sein.
  • Ein falscher relativer Import, eine Ignore-Regel oder explizite Quellfilterung kann die Datei ausschließen.

Sicher prüfen

Führe jeweils einen Befehl in der passenden Sitzung aus. Lies zuerst die Erklärung. Großgeschriebene Platzhalter brauchen deine Werte; Werkzeuge und Rechte unterscheiden sich je nach Distribution. Die Website zeigt Befehle an und führt sie niemals aus.

Prüfschritt 1

Führe dies im Konfigurationsrepository aus; reine Git-Statusabfrage.

git status --short --untracked-files=all

Ergebnis einordnen: Ein ??-Marker an einem importierten Modul spricht für eine nicht erfasste Quelle. Änderungen an erfassten Dateien sind nicht derselbe Fehler.

Prüfschritt 2

Ersetze den relativen Pfad durch die importierte Datei ab Repositorywurzel.

git ls-files --error-unmatch modules/example.nix

Ergebnis einordnen: Ein Treffer bestätigt die Erfassung. Ein Fehlercode bedeutet fehlenden Indexeintrag; prüfe bei unerwartetem Ausschluss die Ignore-Regeln.

Nächste Schritte nach Befund

Die vorgesehene Quelldatei erfassen

Wenn das importierte Modul keine Geheimnisse enthält und nicht erfasst ist, füge genau diese Datei zu Git hinzu und prüfe die vorgemerkte Änderung. Nix benötigt dafür nicht erst einen Commit.

Vorsicht: Flake-Quellen landen im normalerweise allgemein lesbaren Nix-Store. Erfasse niemals Klartext-Zugangsdaten als Reparatur.

Wiederherstellung / Rücknahme: Entferne eine neue Datei mit git restore --staged für diesen Pfad aus der Vormerkung und stelle bei Bedarf ihren Import zurück; behalte die lokale Datei.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Import oder Quellgrenze korrigieren

Wenn die Datei erfasst ist, vergleiche Store-Pfad und tatsächlichen relativen Import. Verschiebe vorgesehene Quellen in den Flake-Baum oder modelliere externe Repositories als explizite Eingänge.

Vorsicht: Quellfilter können große Daten oder Geheimnisse bewusst ausschließen; erweitere sie nicht auf das gesamte Home-Verzeichnis.

Wiederherstellung / Rücknahme: Stelle vorherigen Import, Quellstruktur und geänderte Lock-Einträge wieder her.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Quellen und Prüfung

Diese Anleitung basiert auf Originalquellen von Projekten oder Distributionen und wurde am genannten Datum redaktionell geprüft. Das ist eine Quellenprüfung, kein Nachweis einer auf deiner Hardware reproduzierten Lösung. Log-Beispiele sind synthetische Testdaten. Versionsabhängige Details müssen zur installierten Ausgabe passen.