{ lib, target }:

with lib;

let
runners = {
  run = foldAttrList (mapAttrsToList (targetName: targetx: mapAttrs' (k: run:
        nameValuePair run.name run.set
   ) targetx.runners.run) target);
  lazy.run = foldAttrList (mapAttrsToList (targetName: targetx: mapAttrs' (k: run:
   nameValuePair run.name run.set
   ) targetx.runners.lazy.run) target);
   lazy.nativeBuildInputs = concatLists (mapAttrsToList (targetName: target: target.runners.lazy.nativeBuildInputs) target);
}; in runners
