numtide/devshell and https://flake.parts/ both explored the idea of using nixos modules,
but I mostly focused on the design of the CLI UI and how it’s integrated via flakes to hide all the complexities away.
Most of the work really was writing documentation and explaining all pieces of using devenv - so that anyone can get started in an hour.
For direnv integration see Automatic Shell Activation - devenv