Skip to content

devenv.yaml

clean.enabled

Clean the environment when entering the shell.

Type: boolean · Default: false · Added in 1.0

clean.keep

A list of environment variables to keep when cleaning the environment.

Type: list of string · Default: [] · Added in 1.0

imports

A list of relative paths, absolute paths, or references to inputs to import devenv.nix and devenv.yaml files. See Composing using imports.

Type: list of string · Default: []

impure

Relax the hermeticity of the environment.

Type: boolean · Default: false · Added in 1.0

inputs

Map of Nix inputs. See Inputs.

Type: attribute set of input · Default: inputs.nixpkgs.url: github:cachix/devenv-nixpkgs/rolling

inputs.<name>.flake

Does the input contain flake.nix or devenv.nix.

Type: boolean · Default: true

inputs.<name>.follows

Another input to "inherit" from by name. See Following inputs.

Type: string

inputs.<name>.inputs.<name>.follows

Override nested inputs by name. See Following inputs.

Type: string

inputs.<name>.overlays

A list of overlays to include from the input. See Overlays.

Type: list of string · Default: []

inputs.<name>.url

URI specification of the input. See Supported URI formats.

Type: string

nixpkgs.androidSdk.acceptLicense

Accept the Android SDK license. Can also be set via the NIXPKGS_ACCEPT_ANDROID_SDK_LICENSE=1 environment variable.

Type: boolean · Default: false

nixpkgs.allowBroken

Allow packages marked as broken.

Type: boolean · Default: false · Added in 1.7

nixpkgs.allowNonSource

Allow packages not built from source.

Type: boolean · Default: true (nixpkgs default)

nixpkgs.allowUnsupportedSystem

Allow packages that are not supported on the current system.

Type: boolean · Default: false · Added in 2.0.5

nixpkgs.allowUnfree

Allow unfree packages.

Type: boolean · Default: false · Added in 1.7

nixpkgs.allowlistedLicenses

A list of license names to allow. Uses nixpkgs license attribute names (e.g. gpl3Only, mit, asl20). See nixpkgs license list.

Type: list of string · Default: []

nixpkgs.blocklistedLicenses

A list of license names to block. Uses nixpkgs license attribute names (e.g. unfree, bsl11). See nixpkgs license list.

Type: list of string · Default: []

nixpkgs.cudaCapabilities

Select CUDA capabilities for nixpkgs.

Type: list of string · Default: [] · Added in 1.7

nixpkgs.cudaSupport

Enable CUDA support for nixpkgs.

Type: boolean · Default: false · Added in 1.7

nixpkgs.rocmSupport

Enable ROCm support for nixpkgs.

Type: boolean · Default: false · Added in 2.0.7

nixpkgs.permittedInsecurePackages

A list of insecure permitted packages.

Type: list of string · Default: [] · Added in 1.7

nixpkgs.permittedUnfreePackages

A list of unfree packages to allow by name.

Type: list of string · Default: [] · Added in 1.9

nixpkgs.per-platform.<system>

Per-platform nixpkgs configuration. Accepts the same options as nixpkgs.

Type: attribute set of nixpkgs config · Added in 1.7

profile

Default profile to activate. Can be overridden by --profile CLI flag. See Profiles.

Type: string · Added in 1.11

reload

Enable auto-reload of the shell when files change. Can be overridden by --reload or --no-reload CLI flags.

Type: boolean · Default: true · Added in 2.0

secretspec.enable

Enable secretspec integration.

Type: boolean · Default: false · Added in 1.8

secretspec.profile

Secretspec profile name to use.

Type: string · Added in 1.8

secretspec.provider

Secretspec provider to use.

Type: string · Added in 1.8

strictPorts

Error if a port is already in use instead of auto-allocating the next available port. Can be overridden by --strict-ports or --no-strict-ports CLI flags.

Type: boolean · Default: false

require_version

Require a specific devenv CLI version. Set to true to enforce that the CLI version matches the modules version (from the devenv input), or use a constraint string with operators.

# Enforce CLI matches modules version (recommended for teams)
require_version: true

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

Supported constraint operators: >=, <=, >, <, =, or a bare version for exact match.

When set to true, the check happens during Nix evaluation and compares the CLI version against the version embedded in the devenv input. This keeps versions in sync automatically after running devenv update.

Type: boolean | string · Default: not set

New in version 2.1