NixOS und Konfiguration

Zwei Module definieren widersprüchliche Optionswerte

Die Auswertung kann mehrfach definierte Einzelwerte nicht zusammenführen. Prüfe Definitionsstellen und Prioritäten vor einem erzwungenen Override.

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

  • Der Evaluator nennt widersprüchliche Werte und Quelldateien.
  • Ein neuer Profilimport verdoppelt eine hostspezifische Vorgabe.

Betroffene Umgebung

NixOS-Modulzusammenführung, besonders Einzelwerte mit mehreren Definitionen gleicher Priorität.

Erkennbare Meldungen (synthetische Beispiele)
error: The option `networking.hostName' has conflicting definition values:

Prüfe alle genannten Definitionsstellen vor einem Override.

error: Cannot merge definitions of `example.option'. Definition values:

Optionstyp und Quelldefinitionen bestimmen die passende Änderung.

Mögliche Ursachen

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

  • Zwei Definitionen normaler Priorität können sich bei einem nicht zusammenführbaren Einzelwert widersprechen.
  • Ein gemeinsames Profil kann einen festen Wert verwenden, obwohl ein überschreibbarer Standard beabsichtigt war.

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

Ersetze example.option durch die betroffene Option und nutze das tatsächliche Konfigurationsverzeichnis.

rg -n 'example\.option|mkDefault|mkForce|mkOverride' /etc/nixos

Ergebnis einordnen: Vergleiche Quelldateien der Fehlermeldung mit Definitionen und Prioritäten. Die Listenreihenfolge lässt keinen Einzelwert automatisch gewinnen.

Prüfschritt 2

Lies die Importe im selben Konfigurationsbaum; passe den Pfad bei Flakes an.

rg -n 'imports|disabledModules' /etc/nixos

Ergebnis einordnen: Ermittle beteiligte Host- und gemeinsame Profile. Ein wiederholter Import ist nicht dasselbe wie zwei verschiedene definierende Module.

Nächste Schritte nach Befund

Unbeabsichtigten konkurrierenden Wert entfernen

Wenn eine Definition veraltet oder unbeabsichtigt ist, entferne sie oder trenne Hostwerte vom gemeinsamen Profil. Behalte die vorgesehene Quelle des Einzelwerts.

Vorsicht: Dasselbe Profil kann mehrere Rechner versorgen. Prüfe deren vorgesehene Standardwerte vor der Änderung.

Wiederherstellung / Rücknahme: Stelle entfernte Definition oder Profiländerung samt Hostkonfiguration bei Verschlechterungen zurück.

Hat dir dieser Hinweis geholfen?

Hinweis teilen#

Vorgesehene Standard- oder Override-Priorität deklarieren

Wenn der gemeinsame Wert ein Ersatzwert ist, nutze dort lib.mkDefault für Vorrang eines normalen Hostwerts. Nutze lib.mkForce nur zum beabsichtigten Verwerfen schwächerer Definitionen und begründe die Regel.

Vorsicht: Niedrigere numerische Override-Priorität gewinnt; mkForce ist keine Universalreparatur. Listen und zusammenführbare Typen besitzen eigene Regeln.

Wiederherstellung / Rücknahme: Stelle frühere Prioritäten zurück und baue die alte Konfiguration; behalte vor der Aktivierung eine bootfähige Generation.

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.