I wasn’t very clear in how I wrote those points, I think you got it backwards.
My points was that OP was using recursiveMerge, and I think that is not a very common or useful pattern to follow, because you evade the module system, for no good reason(?).
I think you are already following the most common pattern out there. If you would like to, there are ways to avoid having a default.nix
file for each module, but in my opinion that only makes it harder for other people to understand your modules.
🙌