Setting : [
Name(Str),
Systems(List(System)),
Packages(InputName, PackageSource),
Input(InputName, FlakeRef),
Overlay(InputName, FlakeRef),
Environment(EnvName, List(EnvironmentSetting)),
Shell(EnvName, List(ShellSetting)),
Task(TaskName, List(TaskSetting)),
Source(InputName, FlakeRef),
Build(InputName, List(BuildSetting)),
Workflow(WorkflowName, List(WorkflowStep)),
Custom(Str, Str, Val),
Raw(Str, Str, Val),
]
Named sources describe provider intent, not host discovery. Every
source is declared with Packages: none is implied, and a project
whose environments have no tool of a package source declares none.
Overlay inputs apply only where an environment selects them.
Custom and Raw retain consumer-specific extension data.