Always working development environment.
Nix provides developers with a complete and consistent development environment. Stop worrying how to install dependencies for your project.
With Nix, a build process only has access to dependencies that have been declared explicitly. So if a build succeeds, you know you've specified all necessary dependencies.
The same build process specification can be used to start a development environment (optionally augmented with additional development tools).
You will no longer have to hear: But it works on my machine!
One tool, many languages.
With today's polyglot development environments, each language has its own way of building and testing. Encourage cross-team development by providing a single way of building everything.
Instead of complicated installation instructions, with Nix the development environment is always only one command away. And that is without using Docker or any other virtualization.
Language specific package managers are good at dependencies in their specific language. But they cannot provide other dependencies, like the ones you would usually have to install system-wide.
Continuous integration for free.
Your development environment is your continuous integration environment. The same environment always and everywhere.
Being able to fix broken continuous integration runs is great, but being able to fix problems locally, before pushing, is priceless.
Trying to keep system dependencies of development environments in sync with continuous integration is a disaster waiting to happen. Don't wait for the disaster, prevent it.
From zero to cloud.
Use the same tool to build projects, configure machines and deploy to the cloud.
Using one tool to develop, test and build Amazon EC2, Google Cloud, Azure, Virtualbox, KVM and other images in a declarative way is a DevOps dream.
Dockerfiles and build docker images with Nix in a
declarative and efficient way.
Nix and Docker is a match made in heaven.