{ outputs = { self, nixpkgs }: { lib = rec { mergeFlakes = flakes: nixpkgs.lib.attrsets.foldAttrs (prev: i: prev // i) {} flakes; genSystems = (systems: f: (mergeFlakes (map (system: builtins.mapAttrs (k: v: { "${system}" = v; }) (f (import nixpkgs { inherit system; })) ) systems)) ); }; }; }