feat(typing): Start adding python types for the configuration

This commit is contained in:
2026-04-30 10:49:46 +02:00
parent 2fd69cc595
commit 31426c006b
5 changed files with 70 additions and 21 deletions
+56
View File
@@ -0,0 +1,56 @@
from typing import Optional, TypedDict
class ArchMgrConfig(TypedDict):
pkgs: ArchMgrPkgConfig
users: list[ArchMgrUserConfig]
class ArchMgrPkgConfig(TypedDict):
individual: list[str]
bundles: list[object] # TODO: Better typing
repos: object # TODO: Repo typing
class ArchMgrUserConfig(TypedDict):
username: str
groups: list[str]
home_dir: bool
class ArchMgrBootConfig(TypedDict):
bootloader: str
esp_dir: str
theme_folder: str
os_prober: bool
class ArchMgrThemeConfig(TypedDict):
gtk: str
qt: str
font: str
icon_theme: str
cursor_theme: str
class ArchMgrGitConfig(TypedDict):
creds: object # TODO:
repos: object # TODO
class ArchMgrGitRepoConfig(TypedDict):
clone_path: str
url: str
class ArchMgrCmdsConfig(TypedDict):
always: ArchMgrCommand
once: ArchMgrCommand
class ArchMgrCommand(TypedDict):
cmd: str
name: Optional[str]
capture_output: Optional[bool]
hook: Optional[str]
user: Optional[str]