From fb6fa46a3bce52acf5f04392221af72ee73fafaa Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Wed, 4 Dec 2024 09:16:50 +0100 Subject: [PATCH] api.inventory.modules: filter out /nix/store paths --- pkgs/clan-cli/clan_cli/inventory/__init__.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pkgs/clan-cli/clan_cli/inventory/__init__.py b/pkgs/clan-cli/clan_cli/inventory/__init__.py index c9867c222..a2cb05af1 100644 --- a/pkgs/clan-cli/clan_cli/inventory/__init__.py +++ b/pkgs/clan-cli/clan_cli/inventory/__init__.py @@ -129,6 +129,19 @@ def set_inventory( """ inventory_file = get_path(flake_dir) + # Filter out modules not set via UI. + # It is not possible to set modules from "/nix/store" via the UI + modules = {} + filtered_modules = lambda m: { + key: value for key, value in m.items() if "/nix/store" not in value + } + if isinstance(inventory, dict): + modules = filtered_modules(inventory.get("modules", {})) # type: ignore + inventory["modules"] = modules + else: + modules = filtered_modules(inventory.modules) # type: ignore + inventory.modules = modules + with inventory_file.open("w") as f: if isinstance(inventory, Inventory): json.dump(dataclass_to_dict(inventory), f, indent=2)