Nix is a great option for reproducible dev environments. However, the Nix language is pretty complex, which can make adoption and buy in tough.
One solution that my company is working on is Devbox, which tries to provide the usability of tools like Yarn or Brew with the reproducibility of Nix.
You can check us out at https://github.com/jetpack-io/devbox