{
  final,
  prev,
  flakes,
}:
with prev.lib; let
  inherit (final) callPackage fetchpatch;
in {
  homepage = flakes.homepage.packages.${final.system}.default;

  override =
    {
      # add python modules here to make them available in all versions
    }
    // (
      let
        makePyOverrides = version: let
          name = "python3${toString version}";
        in {
          inherit name;

          value = prev.${name}.override {
            packageOverrides = nextPy: prevPy: {
            };
          };
        };

        pyVersionRange' = start: end: let
          next = end + 1;
        in
          if prev ? "python3${toString next}"
          then pyVersionRange' start next
          else range start end;

        pyVersionRange = start: pyVersionRange' start start;
      in
        listToAttrs (map makePyOverrides (pyVersionRange 9))
    );
}
