The premise of Nix shell is that it makes available a fixed version of tools. This solves a common problem: how to make sure that all developers use the correct NodeJS, Ruby, Java, and they all have things installed, such as graphviz, gimp, and so on?