▸ Agent Skills
2 min read

devenv 1.10: monorepo Nix support with devenv.yaml imports

Oct 7, 2025

Domen Kožar

Domen Kožar

devenv 1.10 brings new capabilities for structuring monorepo projects:

Absolute / parent path imports

Paths starting with / are now resolved from your git repository root, and parent imports are also supported (#998).

This lets services consistently reference shared configurations:

imports:  - /nix/devenv.nix  - ../api/devenv.nix

services/worker/devenv.yaml

This is particularly handy in monorepos where projects are nested at different depths:

my-monorepo/├── nix/│   └── devenv.nix       # Shared base configuration├── services/│   ├── api/│   │   └── devenv.yaml  # imports: [/nix]│   └── worker/│       └── devenv.yaml  # imports: [/nix]└── apps/    └── web/        └── devenv.yaml  # imports: [/nix]

All three projects reference /nix regardless of their location.

Git root prefixing

The new config.git.root variable provides the git repository root path for specifying working directories in tasks and processes (#1850, #316).

{ config, ... }: {  tasks."db:migrate" = {    exec = "npm run migrate";    cwd = "${config.git.root}/services/api";  };
  processes.api = {    exec = "npm start";    cwd = "${config.git.root}/services/api";  };}

services/api/devenv.nix

Useful when reusing modules across different directories.

devenv.yaml imports

Most upvoted feature with 75 votes (#14) is here!

Local imports now load and merge both devenv.nix and devenv.yaml configurations:

allowUnfree: trueinputs:  nixpkgs:    url: github:NixOS/nixpkgs/nixpkgs-unstable

shared/devenv.yaml

imports:  - /shared

services/api/devenv.yaml

The API service inherits the allowUnfree setting and nixpkgs input. Note that this merging only applies to local filesystem imports — imports from inputs still only load Nix configurations (#2205).

devenv.local.yaml support

Just like devenv.local.nix, you can now use devenv.local.yaml for developer-specific overrides (#817).

Both files are git-ignored for local overrides:

allowUnfree: true

devenv.local.yaml

Monorepo guide

Check out the new Monorepo Guide for detailed examples and patterns.

Join the devenv community to share your monorepo experience!

Domen


Last updated Oct 08, 2026