Community tracking

might be a bit late to the party, but i think axel was on to something earlier with individual maintainers lists

in the context of using multiple repos for different SIGs, having a centralized doesn’t make much sense. for example: in order to create a new package and add myself as a maintainer, i would need to create a PR to not just auxolotl/javascript with that package, but also auxolotl/community. auxolotl/javascript would then need to update it’s version auxolotl/community, and then my PR can be merged

i think the scaling issues is evident here; not to mention making a hard requirement for yet another repository besides core for each SIG

i propose that each SIG keeps it’s own maintainers list. this would allow for faster merges (as one SIG has a better chance at handling it’s own maintainer files updates rather than a single repo for everyone), an easier contributing experience (that is also similar to nixpkgs), limits our dependency bloat across the board, and keeps our repositories as independent as possible (a really important strength i think we can have in the future)

this could be implemented like so

# members-list.nix in auxolotl/rust
# could also be two files like nixpkgs but /shrug
rec {
  users = {
    getchoo = { name = "Seth"; githubId = "48872998"; forum = "getchoo"; };
  };

  leaders = with users; [
    getchoo
  ];
}
# flake.nix for auxolotl/rust
{
  inputs.core.url = "github:auxolotl/packages";

  outputs = { core }: {
    auxMembers = import ./members-list.nix;
  };
}
# flake.nix for auxolotl/top-level
{
  inputs = {
    core.url = "github:auxolotl/packages";
    rust = {
      url = "github:auxolotl/rust";
      inputs.nixpkgs.follows = "core";
    };
  };

  outputs = { core, rust }: {
    # ...

    auxMembers = {
      rust = { inherit (rust) auxMembers };
    };
  };
}

i also find the forum integration a bit odd…imo it’d make sense to just do this through PRs, similar to nixpkgs. requiring a forum account to become a SIG lead for example might not be the best for everyone

1 Like