Files
archmgr/config/dtype.py
T

57 lines
1.0 KiB
Python

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]