# cachix/devenv

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/cachix-devenv).**

7,005 stars · 500 forks · Rust · Apache-2.0

## Links

- GitHub: https://github.com/cachix/devenv
- Homepage: https://devenv.sh
- awesome-repositories: https://awesome-repositories.com/repository/cachix-devenv.md

## Topics

`developer-tools` `devenv` `nix`

## Description

Devenv is a Nix-based development environment manager that provides declarative definitions for reproducible shells and toolchains. It functions as a declarative task runner for executing dependency-aware pipelines and a service orchestration tool for supervising background processes.

The project distinguishes itself by generating OCI container images directly from environment definitions without requiring a separate container engine. It also implements the Model Context Protocol to expose project context and package search to AI agents, and supports AI-assisted scaffolding to generate configuration files from natural language descriptions.

The platform covers a broad range of development capabilities, including local service orchestration with health checks, automated shell activation through hooks, and binary caching for accelerated setup. It also includes secret management via provider-agnostic abstractions and integration with Dev Container configurations.

The system provides an IDE language server to support configuration files with completion and diagnostics.

## Tags

### Development Tools & Productivity

- [Development Environment Managers](https://awesome-repositories.com/f/development-tools-productivity/development-environment-managers.md) — Acts as a Nix-based development environment manager for defining reproducible shells and toolchains.
- [Nix Packages](https://awesome-repositories.com/f/development-tools-productivity/nix-packages.md) — Uses Nix-based declarative package definitions to ensure reproducible development environments and toolchains.
- [Automatic Shell Integrations](https://awesome-repositories.com/f/development-tools-productivity/automatic-shell-integrations.md) — Integrates with shell hooks to automatically load project-specific tools and variables upon entering a directory.
- [Declarative Toolchains](https://awesome-repositories.com/f/development-tools-productivity/development-environment-setups/declarative-toolchains.md) — Uses declarative configuration files to specify required languages, services, and tools for reproducible setups. ([source](https://github.com/cachix/devenv/blob/main/CLAUDE.md))
- [Environment Configuration Tools](https://awesome-repositories.com/f/development-tools-productivity/environment-configuration-tools.md) — Automates the installation and configuration of specialized toolchains, compilers, and debuggers. ([source](https://github.com/cachix/devenv/blob/main/devenv.nix))
- [DAG-Based Orchestration](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution/custom-parallel-task-execution/dag-based-orchestration.md) — Utilizes DAG-based orchestration to manage complex task dependency chains for parallel execution and caching.
- [Task Execution Sequencing](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution/task-execution-sequencing.md) — Supports task execution sequencing via DAGs to optimize parallel execution and result caching. ([source](https://github.com/cachix/devenv#readme))
- [Project Workflow Automation](https://awesome-repositories.com/f/development-tools-productivity/project-workflow-automation.md) — Implements a declarative task runner for executing dependency-aware pipelines and automating project workflows.
- [Task Runners](https://awesome-repositories.com/f/development-tools-productivity/task-runners.md) — Provides a declarative task runner for executing project scripts and dependency-aware pipelines with built-in caching.
- [Build and Task Automation](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation.md) — Provides build and task automation for defining standardized scripts and workflows within the project. ([source](https://github.com/cachix/devenv/blob/main/devenv.nix))
- [Model Context Protocol Integrations](https://awesome-repositories.com/f/development-tools-productivity/ai-coding-assistants/model-context-protocol-integrations.md) — Implements Model Context Protocol connectors to expose project context and package search to AI coding agents. ([source](https://github.com/cachix/devenv/blob/main/CHANGELOG.md))
- [Binary Cache Managers](https://awesome-repositories.com/f/development-tools-productivity/binary-cache-managers.md) — Provides a binary cache manager to accelerate environment setup by distributing pre-built binaries via a remote daemon.
- [Binary Cache Uploads](https://awesome-repositories.com/f/development-tools-productivity/binary-cache-managers/binary-cache-uploads.md) — Uploads pre-built environment binaries to a remote daemon using a specific wire format. ([source](https://github.com/cachix/devenv/tree/main/devenv-nix-backend))
- [Environment Configurations](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/development-environments/environment-configuration-management/environment-configurations.md) — Enables reusing definitions across projects using imports, remote repository references, and variant profiles. ([source](https://github.com/cachix/devenv#readme))
- [AI-Powered Scaffolding](https://awesome-repositories.com/f/development-tools-productivity/environment-initializers/ai-powered-scaffolding.md) — Scaffolds initial configuration files using natural language descriptions of the required toolset. ([source](https://github.com/cachix/devenv#readme))
- [Process Lifecycle Managers](https://awesome-repositories.com/f/development-tools-productivity/process-lifecycle-managers.md) — Coordinates the spawning and termination of concurrent tasks and services through a dedicated process lifecycle manager. ([source](https://github.com/cachix/devenv/blob/main/CLAUDE.md))

### Software Engineering & Architecture

- [Environment Reproducibility Tools](https://awesome-repositories.com/f/software-engineering-architecture/environment-reproducibility-tools.md) — Provides a Nix-based manager for declarative and reproducible development environments and toolchains.
- [Service Orchestration](https://awesome-repositories.com/f/software-engineering-architecture/service-orchestration.md) — Orchestrates a collection of support services, such as databases and caches, to run alongside the development environment. ([source](https://github.com/cachix/devenv/blob/main/CLAUDE.md))
- [AI-Assisted Generation](https://awesome-repositories.com/f/software-engineering-architecture/project-bootstrapping-tools/environment-scaffolding/ai-assisted-generation.md) — Provides AI-assisted scaffolding to generate configuration files from natural language descriptions.
- [AI-Driven Scaffolding](https://awesome-repositories.com/f/software-engineering-architecture/project-bootstrapping-tools/environment-scaffolding/ai-driven-scaffolding.md) — Supports AI-assisted scaffolding to generate environment configuration files from natural language descriptions. ([source](https://github.com/cachix/devenv/blob/main/README.md))
- [Secret Injection Layers](https://awesome-repositories.com/f/software-engineering-architecture/provider-abstractions/secret-injection-layers.md) — Implements a provider-agnostic abstraction layer for injecting sensitive configuration values from external vaults or keyrings.

### DevOps & Infrastructure

- [Container Image Builders](https://awesome-repositories.com/f/devops-infrastructure/container-image-builders.md) — Includes a built-in container image builder that compiles declarative environment definitions directly into OCI images.
- [Containerized Development Environments](https://awesome-repositories.com/f/devops-infrastructure/containerized-development-environments.md) — Generates OCI images and Dev Container settings to standardize toolsets across different platforms.
- [Declarative Shell Definitions](https://awesome-repositories.com/f/devops-infrastructure/declarative-infrastructure-definitions/declarative-shell-definitions.md) — Creates declarative shells containing all necessary tools and dependencies for a specific project. ([source](https://github.com/cachix/devenv/blob/main/shell.nix))
- [Dependency Lock Files](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/dependency-lock-files.md) — Writes lock files to pin specific versions of dependencies to ensure consistent environment reproduction. ([source](https://github.com/cachix/devenv/tree/main/devenv-nix-backend))
- [Daemonless Container Image Building](https://awesome-repositories.com/f/devops-infrastructure/daemonless-container-image-building.md) — Generates OCI container images directly from environment definitions without requiring a separate container engine. ([source](https://github.com/cachix/devenv#readme))
- [Dev Container Specifications](https://awesome-repositories.com/f/devops-infrastructure/dev-container-specifications.md) — Generates Dev Container configurations including editor extensions and system customizations from environment definitions. ([source](https://github.com/cachix/devenv/blob/main/devenv.nix))

### Operating Systems & Systems Programming

- [Shell Hook Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/shell-hook-integrations.md) — Integrates with shell-native hooks to automatically activate and hot-reload project environments upon directory entry.

### System Administration & Monitoring

- [Background Service Managers](https://awesome-repositories.com/f/system-administration-monitoring/background-service-managers.md) — Ships a background service manager to supervise the lifecycle and health of support services. ([source](https://github.com/cachix/devenv#readme))
- [Process Supervision](https://awesome-repositories.com/f/system-administration-monitoring/process-supervision.md) — Provides process supervision for background services using health probes and automatic restart logic.
- [Environment Hot-Reloading](https://awesome-repositories.com/f/system-administration-monitoring/persistent-shell-sessions/environment-hot-reloading.md) — Implements shell session hot-reloading to swap environments on file changes while preserving terminal state. ([source](https://github.com/cachix/devenv/tree/main/devenv-reload))

### Artificial Intelligence & ML

- [MCP Servers](https://awesome-repositories.com/f/artificial-intelligence-ml/mcp-servers.md) — Implements an MCP server to expose project context and package search capabilities to AI coding agents.

### Data & Databases

- [Environment Evaluation Caches](https://awesome-repositories.com/f/data-databases/data-engineering-infrastructure/caching-performance/caching-strategies/query-result-caching/method-result-caches/analysis-result-caches/environment-evaluation-caches.md) — Stores and replays evaluation outputs to significantly reduce the time required to start shells and services. ([source](https://github.com/cachix/devenv/blob/main/CHANGELOG.md))
- [Startup State Caches](https://awesome-repositories.com/f/data-databases/local-state-caches/startup-state-caches.md) — Maintains an in-process evaluation cache to accelerate the setup and execution of environment tasks. ([source](https://github.com/cachix/devenv/tree/main/devenv-nix-backend))

### Programming Languages & Runtimes

- [Configuration Module Imports](https://awesome-repositories.com/f/programming-languages-runtimes/module-importing/configuration-module-imports.md) — Extends configurations by importing additional modules to add new options and capabilities to the setup. ([source](https://github.com/cachix/devenv/blob/main/flake-module.nix))

### Security & Cryptography

- [External Secret Resolution](https://awesome-repositories.com/f/security-cryptography/external-secret-resolution.md) — Resolves sensitive configuration values by interfacing with external providers like cloud secret managers or vaults. ([source](https://github.com/cachix/devenv/blob/main/CHANGELOG.md))
- [Secret Management](https://awesome-repositories.com/f/security-cryptography/secret-management.md) — Injects sensitive configuration data into environments using a provider-agnostic abstraction layer. ([source](https://github.com/cachix/devenv#readme))

### Part of an Awesome List

- [Developer Tools](https://awesome-repositories.com/f/awesome-lists/devtools/developer-tools.md) — Tool for creating reproducible development environments.
