Thanks for the tips of using flakeCompat, I will need to take a deeper look to understand that.
IMO, You don’t need to put all inputs into the main flake, especially for the trivial or dev inputs, such as pre-commit, devshell, etc. It’s an efficient way to avoid the flake inputs getting bloated and prevent an unbounded stretch of flake inputs. The downstream users will introduce a light flake, then load the flake’s functions lazily.(just a personal idea)
Yeh, I’m pretty sure the path
would be the best solution for your case. Improve Flake Performance in absurdly bloated Monorepo.