Per Project Packages using Nix and direnv
Why have project specific packages? There are a few reasons why you would want to have project specific packages. Different package versions per project e.g. you are maintaining a project that uses an old version of Node.js (like this blog, I’m lazy), but use a newer version globally on your system. You don’t want to pollute your global environment with packages you’ll only use in an isolated project e.g. nixfmt to format *.nix files in my dotfiles. Easy on-boarding of a new team member e.g. packages are declared in the same project and it is easy to install and start contributing (more details coming below). In the Nix ecosystem, this can be achieved using nix-shell. ...