Files
dotfiles/system-config/hosts.py
T
alex ed063ab1fe feat(desktop): consolidate declarative workstation profile
Capture desktop-specific system, session, Noctalia, and Pi integration alongside shared laptop support. Retire obsolete X11 configuration and make package ownership explicit for repeatable Decman deployments.
2026-08-24 20:20:58 +02:00

34 lines
935 B
Python

"""Machine profiles compose concerns; concerns never depend on a host."""
from modules.host_system import desktop_system, laptop_system
from modules.packages import PackageConcern
COMMON = (
"common/core",
"common/hardware",
"common/wayland",
"common/fonts",
"common/development",
"common/productivity",
"common/media",
"common/research",
"common/network",
"common/services",
)
LAPTOP = ("laptop/hardware",)
DESKTOP = ("desktop/local",)
def _concerns(names: tuple[str, ...]) -> list[PackageConcern]:
return [PackageConcern(name) for name in names]
def laptop() -> list:
"""Laptop: shared concerns, laptop hardware, and laptop system configuration."""
return [*_concerns((*COMMON, *LAPTOP)), *laptop_system()]
def desktop() -> list:
"""Desktop: shared packages plus desktop-specific system configuration."""
return [*_concerns((*COMMON, *DESKTOP)), *desktop_system()]