diff --git a/config/__init__.py b/config/__init__.py index 6de8f26..36cd1f3 100644 --- a/config/__init__.py +++ b/config/__init__.py @@ -54,15 +54,19 @@ def default_config() -> ArchMgrConfig: "symlinks": [], "template_data": [], "themes": { - "cursor_theme": "oreo_spark_blue_cursor", - "font": "Comfortaa 11", - "gtk": "Adaptive-Theme", - "qt": "gtk3", - "icon_theme": "candy-icons" -}, + "cursor_theme": "oreo_spark_blue_cursor", + "font": "Comfortaa 11", + "gtk": "Adaptive-Theme", + "qt": "gtk3", + "icon_theme": "candy-icons", + }, } +requires_list: list[str] = [] +source_list = {} # for each setting, in which files it appears + + def load_config(file: str) -> ArchMgrConfig: """Load the configuration from the specified file path @@ -72,6 +76,7 @@ def load_config(file: str) -> ArchMgrConfig: Returns: The loaded, validated and parsed config """ + global requires_list, source_list # Load and validate initial config try: loaded_conf = _load_config_file(file) @@ -82,6 +87,9 @@ def load_config(file: str) -> ArchMgrConfig: configuration = cast(dict[str, Any], loaded_conf) requires = cast(list[str], configuration.pop("requires")) + + # Keep track of all files + requires_list += requires conf = cast(ArchMgrConfig, configuration) # Recursively load files diff --git a/managers/users.py b/managers/users.py new file mode 100644 index 0000000..b2e63dd --- /dev/null +++ b/managers/users.py @@ -0,0 +1,2 @@ +def update_users_and_groups(): + pass