You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As we can see from the above output, we export a big amount of inputs derivation that consumers of ethereum.nix doesn't necessarily need, exploding their flake.lock dependencies. Inputs like hercules-ci-effects, treefmt-nix are only internal for development purposes.
We can do better. Speaking with @zimbatm he proposed I should use what he called the flake dev pattern. The idea is quite simplistic:
Create another flake for dev purposes with all the current inputs we have.
Load that flake with direnv directly.
Leave the existing flake with only the necessary inputs needed for consumers but nothing else.
Right now if we run
nix flake metadata
, we obtain the following output:Terminal outputs of Inputs
As we can see from the above output, we export a big amount of inputs derivation that consumers of
ethereum.nix
doesn't necessarily need, exploding theirflake.lock
dependencies. Inputs likehercules-ci-effects
,treefmt-nix
are only internal for development purposes.We can do better. Speaking with @zimbatm he proposed I should use what he called the
flake dev pattern
. The idea is quite simplistic:flake
for dev purposes with all the current inputs we have.direnv
directly.flake
with only the necessary inputs needed for consumers but nothing else.I have proof of concept made on this branch, but a separate PR will be added soon once #257 is merged back to main branch.
This is the issue that introduces this concept natively inside
Nix
.The text was updated successfully, but these errors were encountered: