Introduce `modules.network`, the host-level networking foundation a Host declares once. A Host states its trunk interface and the tagged VLAN ids to materialize, and the module emits one systemd-networkd bridge per VLAN, named by the `br-vlan<id>` convention, plus the host's own management address on a chosen VLAN's bridge. The trunk and every bridge set `RequiredForOnline = "no"` so wait-online never blocks boot on a carrier-less link, and the module owns its own NetworkManager `unmanaged` guard so enabling it is self-sufficient. Two assertions tie the management VLAN to the declared VLANs and a management address to a VLAN, so an address can never be silently dropped. No host commits an enablement: the only host is a wifi laptop that cannot present guests as L2 citizens and whose DNS the module's networkd/resolved would disturb, so the standing enablement waits for the first wired server host. The build and bridge-name evaluation were verified by enabling the module ad hoc, and stay reproducible through `extendModules`.
4.5 KiB
4.5 KiB