feat: track Decman configuration

This commit is contained in:
2026-08-13 23:03:55 +02:00
parent 34acd648c9
commit f99cfeae79
96 changed files with 7120 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
"""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/wayland",
"common/fonts",
"common/development",
"common/productivity",
"common/media",
"common/research",
"common/network",
"common/services",
)
LAPTOP = ("laptop/hardware",)
DESKTOP = ()
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:
"""Future desktop: shared concerns plus desktop-only concerns when declared."""
return [*_concerns((*COMMON, *DESKTOP)), *desktop_system()]