From c09cd1a6098757885c06fc919c7271f777c25b32 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 17 Jun 2026 23:17:24 +1000 Subject: [PATCH] fix: warn on duplicate components in manifest --- src/caelestia/utils/dots/manifest.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/caelestia/utils/dots/manifest.py b/src/caelestia/utils/dots/manifest.py index abf0f40..297f3f6 100644 --- a/src/caelestia/utils/dots/manifest.py +++ b/src/caelestia/utils/dots/manifest.py @@ -7,6 +7,8 @@ from pathlib import Path from string import Template from typing import Any +from caelestia.utils.io import warn + _XDG_DEFAULTS = { "XDG_CONFIG_HOME": str(Path.home() / ".config"), "XDG_DATA_HOME": str(Path.home() / ".local/share"), @@ -105,6 +107,8 @@ class Manifest: components = {} for comp in raw.get("components", []): parsed = _parse_component(comp) + if parsed.name in components: + warn(f"duplicate component '{parsed.name}'; using the last definition") components[parsed.name] = parsed return Manifest(