# Development environments

A Nix _development environment_ is a [derivation] which builds a shell system environment.
This environment is [hermetically] sealed off from the host,
which means that no other dev environment can make changes or override tooling in it.

This enables you to contain all development tooling (the environment [closure]) for a particular project in a dev shell,
which is separated from even the dev shells for projects of a similar nature (same programming language, same set of dependencies, etc).

[hermetically]: /concepts/hermeticity
[closure]: /concepts/closures
[derivation]: /concepts/derivations