# Files And Variables

## Files

### devenv.nix

The only required file for specifying the developer environment.

Generated by `devenv init` and thoroughly documented, starting with [the basics](/basics/).

### devenv.local.nix

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.

### devenv.local.yaml

**New in version 1.10**

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

### devenv.yaml

Configuration for [inputs](/inputs/) and [imports](/composing-using-imports/), allowing you to specify dependencies and how to compose them.

You can require a specific devenv version to make sure all developers use a compatible version:

**devenv.yaml**

```yaml
# Enforce CLI matches the modules version
require_version: true


# Or use an explicit constraint
require_version: ">=2.1"
```

See [devenv.yaml reference](/reference/yaml-options/#require_version) for details.

### devenv.lock

Pinned [inputs](/inputs/), making sure your developer environment is reproducible.

### .envrc

[direnv](https://direnv.net) integration logic.

See [direnv integration](/integrations/direnv/) to set up your shell to automatically activate the developer environment when you `cd` into it.

## Environment Variables

See the [environment variables reference](/reference/environment-variables/).