You can compose environments either locally or by referencing inputs.
Imagine you're building a typical web application, with separate frontend and backend components that live in separate folders.
inputs: nixpkgs: url: github:NixOS/nixpkgs/nixpkgs-unstable devenv: url: github:cachix/devenv imports: - ./frontend - ./backend - devenv/examples/supported-languages - devenv/examples/scripts
If you enter the
frontend directory, the environment will activate based on what's in the
If you enter the top-level project, the environment is combined with what's defined in
devenv up will start both the frontend and backend processes.
devenv.nix is a key feature,
devenv.yaml hasn't been implemented yet.
See devenv.yaml reference for all supported imports.