diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index 8bc12fda..614670e1 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -1333,10 +1333,14 @@ void CConfigManager::loadConfigLoadVars() { } void CConfigManager::tick() { - static const char* const ENVHOME = getenv("HOME"); - - const std::string CONFIGPATH = ENVHOME + (ISDEBUG ? (std::string) "/.config/hypr/hyprlandd.conf" : (std::string) "/.config/hypr/hyprland.conf"); - + std::string CONFIGPATH; + if (g_pCompositor->explicitConfigPath.empty()) { + static const char* const ENVHOME = getenv("HOME"); + CONFIGPATH = ENVHOME + (ISDEBUG ? (std::string) "/.config/hypr/hyprlandd.conf" : (std::string) "/.config/hypr/hyprland.conf"); + } else { + CONFIGPATH = g_pCompositor->explicitConfigPath; + } + if (!std::filesystem::exists(CONFIGPATH)) { Debug::log(ERR, "Config doesn't exist??"); return;