diff --git a/default.nix b/default.nix index fdce02f..f8b8300 100644 --- a/default.nix +++ b/default.nix @@ -60,8 +60,9 @@ let # eachSystem using defaultSystems eachDefaultSystem = eachSystem defaultSystems; - # Builds a map from =value to .=value for each system. - # + # Builds a map from =value to .=value for each system, + # except for the `hydraJobs` attribute, where it maps the inner attributes, + # from hydraJobs.=value to hydraJobs..=value. # eachSystem = systems: f: let @@ -71,7 +72,9 @@ let op = attrs: key: attrs // { - ${key} = (attrs.${key} or { }) // { ${system} = ret.${key}; }; + ${key} = (attrs.${key} or { }) // (if key == "hydraJobs" + then builtins.mapAttrs (name: value: (attrs.hydraJobs.${name} or { }) // { ${system} = value; }) ret.hydraJobs + else { ${system} = ret.${key}; }); } ; in