Skip to content

Files And Variables



The only required file for specifying the developer environment.

Generated by devenv init and thoroughly documented, starting with the basics.


Same as devenv.nix, but not meant to be committed into the Git repository so that developers can override some things for their local use case.


Configuration for inputs and imports, allowing you to specify dependencies and how to compose them.


Pinned inputs, making sure your developer environment is reproducible.


direnv integration logic, auto-generated using devenv init.

See automatic shell activation to set up your shell to automatically activate the developer environment when you cd into it.

Environment Variables


Points to the root of the project where devenv.nix is located.


Points to $DEVENV_ROOT/.devenv.


Points to $DEVENV_DOTFILE/state.


Points to a temporary directory with a path that's unique to each $DEVENV_ROOT. It's used for storing sockets and other runtime files. Defaults to $XDG_RUNTIME_DIR and falls back to $TMPDIR and finally /tmp.


Points to the Nix store path that has final profile of packages/scripts provided by devenv.

Useful for teaching other programs about /bin, /etc, /var folders.