More ergonomic way to use a `super` package
This is a bit unwieldy
settings = {
fourmolu = { super, ... }: { custom = _: super.fourmolu_0_13_1_0; };
};
Perhaps super could be a module argument in settings?
settings = { super, ... }: {
fourmolu.custom = super.fourmolu_0_13_1_0;
};
It reduces the incremental cost per package. ~Or isn't it already?~ It's not a submodule, but you can probably get the same behavior with coercedTo (attrsOf ...) (x: _unused: x) (functionTo (attrsOf ...)).
Another thing you could try is to parse the version suffixes and write some logic that gets the right one even if the minor or patch versions change etc. ie user could specify a version range or something.
settings.fourmolu.range = "0.13.*";
That needs a bunch more code than my other suggestion though.
Perhaps
supercould be a module argument insettings?
This is what I was originally going for, but I was unable to implement it for reasons that I no longer recall. But this would be the ideal API, yes.