pub(crate) fn enumerate_hosts( config: &ReleaseConfig, ) -> Result<Vec<(String, HostKind)>>
(host, kind) pairs. NixOS sorted, then Darwin sorted; Explicit preserves caller order. Missing attrsets are empty, not errors.
(host, kind)
Explicit