Unify configs so we can get rid of all those branches per machine. Also Wayland changes for Violet

This commit is contained in:
Kevin Alberts 2025-07-25 17:39:36 +02:00
parent 5a0041e7d5
commit 6dd362247e
10 changed files with 274 additions and 105 deletions

View file

@ -0,0 +1,30 @@
import socket
import importlib
from libqtile.log_utils import logger
def load_config_class():
# Try to import host-specific configuration first
hostname = socket.gethostname().lower()
if hostname:
try:
host_module = importlib.import_module(f"kuro.config.{hostname}")
return getattr(host_module, "Config")
except ImportError:
pass
logger.warning(f"No host-specific configuration available for {hostname}. Loading general config...")
# If no config yet, load general Kuro Config object
try:
conf_module = importlib.import_module("kuro.config")
return getattr(conf_module, "Config")
except ImportError as e:
pass
logger.error("Could not load Kuro Config. Trying to load BaseConfig. Error: {}".format(e))
# If no config yet, load fallback BaseConfig
try:
base_module = importlib.import_module("kuro.base")
return getattr(base_module, "BaseConfig")
except ImportError as e:
pass
return None