con un clic
devenv-setup
// Set up and configure devenv developer environments. Use when the user wants to create a devenv.nix, add languages, services, packages, or configure a reproducible development environment.
// Set up and configure devenv developer environments. Use when the user wants to create a devenv.nix, add languages, services, packages, or configure a reproducible development environment.
This skill should be used when the user asks to "create a language module", "add a new language", "write a language module for", "implement language support for", or wants to add a new language to src/modules/languages/. Provides the patterns and conventions for devenv language modules.
This skill should be used when the user asks to "create a service module", "add a new service", "write a service for", "implement a service module", or wants to add a new service to src/modules/services/. Provides the patterns and conventions for devenv service modules.
| name | devenv-setup |
| description | Set up and configure devenv developer environments. Use when the user wants to create a devenv.nix, add languages, services, packages, or configure a reproducible development environment. |
Use this skill when:
devenv.nix configurationInitialize a new project:
devenv init
This creates devenv.nix and devenv.yaml in the current directory.
For installation instructions, see https://devenv.sh/getting-started/.
The main configuration file. Example:
{ pkgs, ... }:
{
packages = [ pkgs.git pkgs.curl ];
languages.rust.enable = true;
services.postgres.enable = true;
processes.server.exec = "cargo run";
}
Defines inputs and imports:
inputs:
nixpkgs:
url: github:cachix/devenv-nixpkgs/rolling
languages.<name>.enable = true; — supports 50+ languagesservices.<name>.enable = true; — supports 100+ services (postgres, redis, etc.)packages = [ pkgs.<name> ]; — any package from nixpkgsprocesses.<name>.exec = "command"; — managed background processesscripts.<name>.exec = "command"; — custom shell scriptstasks.<name>.exec = "command"; — DAG-based task executiongit-hooks.hooks.<name>.enable = true; — pre-commit hookscontainers."<name>" = { ... }; — OCI containersRun commands in a temporary environment without creating files:
devenv -O languages.rust.enable:bool true shell
devenv -O languages.python.enable:bool true -O packages:pkgs "nodejs git" shell -- node --version
devenv shell — enter the development shelldevenv up — start all processesdevenv test — run testsdevenv build — build outputsdevenv search <query> — search for packagesdevenv update — update all inputsdevenv update <name> — update a specific inputdevenv provides an MCP server with search_packages and search_options tools.
Use it for looking up available packages and configuration options.
devenv mcp # stdio mode
devenv mcp --http # HTTP mode on port 8080
To wire it up automatically in a project, add to devenv.nix:
{
# For Claude Code
claude.code.mcpServers.devenv = {
type = "stdio";
command = "devenv";
args = [ "mcp" ];
};
# For OpenCode
opencode.mcp.devenv = {
type = "local";
command = [ "devenv" "mcp" ];
};
}
A hosted instance is also available at https://mcp.devenv.sh.