diff --git a/src/exo/shared/constants.py b/src/exo/shared/constants.py index dccbafd5..78781209 100644 --- a/src/exo/shared/constants.py +++ b/src/exo/shared/constants.py @@ -7,17 +7,11 @@ from exo.utils.dashboard_path import find_dashboard, find_resources _EXO_HOME_ENV = os.environ.get("EXO_HOME", None) -def _resolve_env_path(env_value: str) -> Path: - """Resolve an environment variable path: absolute paths are used as-is, relative paths are resolved from home.""" - p = Path(env_value) - return p if p.is_absolute() else Path.home() / p - - def _get_xdg_dir(env_var: str, fallback: str) -> Path: """Get XDG directory, prioritising EXO_HOME environment variable if its set. On non-Linux platforms, default to ~/.exo.""" if _EXO_HOME_ENV is not None: - return _resolve_env_path(_EXO_HOME_ENV) + return Path.home() / _EXO_HOME_ENV if sys.platform != "linux": return Path.home() / ".exo" @@ -37,19 +31,15 @@ _EXO_MODELS_DIR_ENV = os.environ.get("EXO_MODELS_DIR", None) EXO_MODELS_DIR = ( EXO_DATA_HOME / "models" if _EXO_MODELS_DIR_ENV is None - else _resolve_env_path(_EXO_MODELS_DIR_ENV) + else Path.home() / _EXO_MODELS_DIR_ENV ) _RESOURCES_DIR_ENV = os.environ.get("EXO_RESOURCES_DIR", None) RESOURCES_DIR = ( - find_resources() - if _RESOURCES_DIR_ENV is None - else _resolve_env_path(_RESOURCES_DIR_ENV) + find_resources() if _RESOURCES_DIR_ENV is None else Path.home() / _RESOURCES_DIR_ENV ) _DASHBOARD_DIR_ENV = os.environ.get("EXO_DASHBOARD_DIR", None) DASHBOARD_DIR = ( - find_dashboard() - if _DASHBOARD_DIR_ENV is None - else _resolve_env_path(_DASHBOARD_DIR_ENV) + find_dashboard() if _DASHBOARD_DIR_ENV is None else Path.home() / _DASHBOARD_DIR_ENV ) # Log files (data/logs or cache)