diff --git a/pygitweb/config.py b/pygitweb/config.py
index f66282f..4f30c11 100644
--- a/pygitweb/config.py
+++ b/pygitweb/config.py
@@ -85,19 +85,19 @@ BLOB_LANG = {
 }
 
 # Defaults (equivalent to @GITWEB_*@ in gitweb.perl)
-PROJECTROOT = os.environ.get("GITWEB_PROJECTROOT", str(Path.home()))
-PROJECT_MAXDEPTH = int(os.environ.get("GITWEB_PROJECT_MAXDEPTH", "1"))
-PROJECTS_LIST = os.environ.get("GITWEB_LIST", PROJECTROOT)
-SITE_NAME = os.environ.get("GITWEB_SITENAME", "") or "DistGit"
-EXPORT_OK = os.environ.get("GITWEB_EXPORT_OK", "")
+PROJECTROOT = os.getenv("GITWEB_PROJECTROOT", str(Path.home()))
+PROJECT_MAXDEPTH = int(os.getenv("GITWEB_PROJECT_MAXDEPTH", "1"))
+PROJECTS_LIST = os.getenv("GITWEB_LIST", PROJECTROOT)
+SITE_NAME = os.getenv("GITWEB_SITENAME", "") or "DistGit"
+EXPORT_OK = os.getenv("GITWEB_EXPORT_OK", "")
 # When True, list all directories under project root without repo/export_ok checks (default on for now).
-LIST_ALL = os.environ.get("GITWEB_LIST_ALL", "1").lower() in ("1", "true", "yes")
-STRICT_EXPORT = os.environ.get("GITWEB_STRICT_EXPORT", "0").lower() in (
+LIST_ALL = os.getenv("GITWEB_LIST_ALL", "1").lower() in ("1", "true", "yes")
+STRICT_EXPORT = os.getenv("GITWEB_STRICT_EXPORT", "0").lower() in (
 	"1",
 	"true",
 	"yes",
 )
-GIT_BINDIR = os.environ.get("GIT_BINDIR", "")
+GIT_BINDIR = os.getenv("GIT_BINDIR", "")
 GIT = (GIT_BINDIR + "/git") if GIT_BINDIR else "git"
 MAXLOAD: float | None = None  # 300 in perl; None = disabled
 
@@ -110,15 +110,15 @@ OIDCProvider: TODO - Will authenticate against an OIDC server.
 MatrixProvider: TODO - Will authenticate against the Matrix network.
 LDAPProvider: TODO - Will authenticate against a local LDAP server.
 """
-DISTGIT_AUTH: str = os.environ.get("DISTGIT_AUTH", "None")
-DISTGIT_ADMIN_USER: str = os.environ.get("DISTGIT_ADMIN_USER", None)
-DISTGIT_ADMIN_PASSWORD: str = os.environ.get("DISTGIT_ADMIN_PASSWORD", None)
-DISTGIT_SESSION_TIMEOUT: str = os.environ.get("DISTGIT_SESSION_TIMEOUT", 3600 * 24 * 7)
+DISTGIT_AUTH: str = os.getenv("DISTGIT_AUTH", None)
+DISTGIT_ADMIN_USER: str = os.getenv("DISTGIT_ADMIN_USER", None)
+DISTGIT_ADMIN_PASSWORD: str = os.getenv("DISTGIT_ADMIN_PASSWORD", None)
+DISTGIT_SESSION_TIMEOUT: str = os.getenv("DISTGIT_SESSION_TIMEOUT", 3600 * 24 * 7)
 
 # Config file paths (can be overridden by env)
-GITWEB_CONFIG = os.environ.get("GITWEB_CONFIG", "")
-GITWEB_CONFIG_SYSTEM = os.environ.get("GITWEB_CONFIG_SYSTEM", "")
-GITWEB_CONFIG_COMMON = os.environ.get("GITWEB_CONFIG_COMMON", "")
+GITWEB_CONFIG = os.getenv("GITWEB_CONFIG", "")
+GITWEB_CONFIG_SYSTEM = os.getenv("GITWEB_CONFIG_SYSTEM", "")
+GITWEB_CONFIG_COMMON = os.getenv("GITWEB_CONFIG_COMMON", "")
 
 # Snapshot formats (from %known_snapshot_formats)
 KNOWN_SNAPSHOT_FORMATS: dict[str, dict[str, Any]] = {
@@ -173,7 +173,7 @@ _extra_branch_refs: list[str] = []
 
 def read_config_file(filename: str | None) -> bool:
 	"""Load and execute a Python config file. Returns True on success. Port of read_config_file."""
-	if not filename or not os.path.exists(filename):
+	if not filename or not Path(filename).exists():
 		return False
 	try:
 		with open(filename) as f:
@@ -214,23 +214,23 @@ def evaluate_gitweb_config() -> None:
 	"""Resolve config paths and load common + instance/system config. Port of evaluate_gitweb_config."""
 	global GITWEB_CONFIG, GITWEB_CONFIG_SYSTEM, GITWEB_CONFIG_COMMON
 	if not GITWEB_CONFIG:
-		GITWEB_CONFIG = os.environ.get("GITWEB_CONFIG", "")
+		GITWEB_CONFIG = os.getenv("GITWEB_CONFIG", "")
 	if not GITWEB_CONFIG_SYSTEM:
-		GITWEB_CONFIG_SYSTEM = os.environ.get("GITWEB_CONFIG_SYSTEM", "")
+		GITWEB_CONFIG_SYSTEM = os.getenv("GITWEB_CONFIG_SYSTEM", "")
 	if not GITWEB_CONFIG_COMMON:
-		GITWEB_CONFIG_COMMON = os.environ.get("GITWEB_CONFIG_COMMON", "")
+		GITWEB_CONFIG_COMMON = os.getenv("GITWEB_CONFIG_COMMON", "")
 
 	if GITWEB_CONFIG == GITWEB_CONFIG_COMMON:
 		GITWEB_CONFIG = ""
 	if GITWEB_CONFIG_SYSTEM == GITWEB_CONFIG_COMMON:
 		GITWEB_CONFIG_SYSTEM = ""
 
-	if GITWEB_CONFIG_COMMON and os.path.exists(GITWEB_CONFIG_COMMON):
+	if GITWEB_CONFIG_COMMON and Path(GITWEB_CONFIG_COMMON).exists():
 		read_config_file(GITWEB_CONFIG_COMMON)
-	if GITWEB_CONFIG and os.path.exists(GITWEB_CONFIG):
+	if GITWEB_CONFIG and Path(GITWEB_CONFIG).exists():
 		read_config_file(GITWEB_CONFIG)
 		return
-	if GITWEB_CONFIG_SYSTEM and os.path.exists(GITWEB_CONFIG_SYSTEM):
+	if GITWEB_CONFIG_SYSTEM and Path(GITWEB_CONFIG_SYSTEM).exists():
 		read_config_file(GITWEB_CONFIG_SYSTEM)
 
 
diff --git a/pygitweb/main.py b/pygitweb/main.py
index c4eebdf..837c67e 100644
--- a/pygitweb/main.py
+++ b/pygitweb/main.py
@@ -80,7 +80,7 @@ with open("pygitweb/README.md", encoding="utf-8") as _readme_file:
 	_app_description = _readme_file.read()
 
 app = FastAPI(
-	debug=(DISTGIT_AUTH == "None"),
+	debug=(DISTGIT_AUTH is None),
 	title="PyGitWeb",
 	summary="FastAPI + Pygit2 Repo Browser",
 	description=_app_description,
