{"id":"869d17ed-b323-42ce-84eb-f3115cc76e5b","shortId":"589VwU","kind":"skill","title":"devenv","tagline":"Use this when working in a project with devenv.nix, or when devenv.sh development environment setup, services, dependencies, or Nix packages are relevant.","description":"# devenv.sh Development Environments\n\nCreate fast, declarative, reproducible development environments using devenv.sh powered by Nix.\nOfficial docs: https://devenv.sh\n\nFor setting up specific programming languages, services, package managers, see:\n\n- **[python-uv.md](python-uv.md)** - Detailed Python/uv configuration\n- **[services.md](services.md)** - Complete services configuration guide\n- **[django.md](django.md)** - Django project setup and patterns\n\n## Initialize a New Environment\n\n```bash\ndevenv init\n```\n\nThis creates:\n\n- `devenv.yaml` - Input configuration\n- `devenv.nix` - Environment definition (where you configure everything)\n- `.envrc` - direnv integration\n- `.gitignore` - Ignores devenv artifacts\n\nRemove comments from .gitignore after init.\n\nThe generated `.envrc` from `devenv init` works as-is now; you no longer need\nthe old task-running workaround.\n\nEdit `devenv.yaml` and replace the inputs section:\n\n```yaml\ninputs:\n  nixpkgs:\n    url: github:NixOS/nixpkgs/nixpkgs-unstable\n```\n\nThis gives access to the latest packages from nixpkgs.\n\n## Adding Nix Packages\n\nAdd system packages to your environment:\n\n```nix\n{ pkgs, ... }: {\n  packages = with pkgs; [\n    just        # always add this\n    postgresql  # For psql CLI\n    redis       # For redis-cli\n  ];\n}\n```\n\nSearch for packages:\n\n```bash\ndevenv search <package-name>\n```\n\nOnly works after `devenv init`\n\n## Update Lock File\n\nAfter changing inputs:\n\n```bash\ndevenv update\n```\n\nThis updates `devenv.lock` with pinned versions.\n\nIMPORTANT: ALWAYS run `devenv build` after editing `devenv.nix` to make sure the configuration is working.\nFix any problems that occurs during build.\n\n## Environment Variables\n\n```nix\n{\n  env = {\n    MY_VAR = \"value\";\n    PYTHONUNBUFFERED = \"1\";\n  };\n}\n```\n\n## Common Commands\n\n- `devenv init` - Initialize new environment\n- `devenv shell` - Enter development shell\n- `devenv up` - Start services and processes (foreground)\n- `devenv up -d` - Start services in background\n- `devenv processes stop` - Stop all processes\n- `devenv test` - Run tests\n- `devenv update` - Update dependencies from devenv.yaml\n- `devenv search <pkg>` - Search for packages\n- `devenv info` - Show environment info\n\n## File Structure\n\nKey files devenv manages:\n\n- `devenv.nix` - Your environment configuration (commit this)\n- `devenv.yaml` - Input sources (commit this)\n- `devenv.lock` - Pinned versions (commit this)\n- `.envrc` - direnv integration (commit this)\n- `.devenv/` - Build artifacts (don't commit)\n\n## Complete Example\n\n```nix\n{ pkgs, config, ... }: {\n  # Python with uv\n  languages.python = {\n    enable = true;\n    version = \"3.12\";\n    uv = {\n      enable = true;\n      sync.enable = true;\n    };\n    libraries = with pkgs; [ postgresql stdenv.cc.cc.lib ];\n  };\n\n  # Services\n  services = {\n    postgres = {\n      enable = true;\n      package = pkgs.postgresql_15;\n      initialDatabases = [{ name = \"app\"; }];\n    };\n    redis.enable = true;\n  };\n\n  # Packages\n  packages = with pkgs; [\n    git\n    postgresql\n    redis\n  ];\n\n  # Environment\n  env = {\n    DATABASE_URL = \"postgresql://localhost/app\";\n    REDIS_URL = \"redis://localhost:6379\";\n  };\n\n  # Processes (devenv 2.0 native process manager with dependency support)\n  processes = {\n    web = {\n      exec = \"python manage.py runserver 0.0.0.0:8000\";\n      after = [ \"devenv:processes:postgres\" \"devenv:processes:redis\" ];\n    };\n    worker = {\n      exec = \"celery -A myapp worker\";\n      after = [ \"devenv:processes:redis\" ];\n    };\n  };\n\n  # Scripts\n  scripts = {\n    migrate = {\n      exec = \"python manage.py migrate\";\n      description = \"Run migrations\";\n    };\n    test = {\n      exec = \"pytest\";\n      description = \"Run tests\";\n    };\n  };\n\n  # Enable dotenv\n  dotenv.enable = true;\n}\n```\n\n## Troubleshooting\n\n### Issue: Package not found\n\nSearch for it:\n\n```bash\ndevenv search <package>\n```\n\nEnsure using nixpkgs-unstable in `devenv.yaml`.\n\n### Issue: Python package won't install\n\nAdd native dependencies to `languages.python.libraries`:\n\n```nix\n{\n  languages.python.libraries = with pkgs; [\n    postgresql  # For psycopg2\n    stdenv.cc.cc.lib\n  ];\n}\n```","tags":["devenv","coding","agents","kissgyorgy","agent-skills","coding-agents","nix","nix-flake"],"capabilities":["skill","source-kissgyorgy","skill-devenv","topic-agent-skills","topic-coding-agents","topic-nix","topic-nix-flake"],"categories":["coding-agents"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/kissgyorgy/coding-agents/devenv","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add kissgyorgy/coding-agents","source_repo":"https://github.com/kissgyorgy/coding-agents","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (4,117 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T13:23:01.746Z","embedding":null,"createdAt":"2026-05-18T13:23:01.746Z","updatedAt":"2026-05-18T13:23:01.746Z","lastSeenAt":"2026-05-18T13:23:01.746Z","tsv":"'0.0.0.0':380 '1':227 '15':343 '2.0':367 '3.12':325 '6379':364 '8000':381 'access':137 'ad':144 'add':147,160,443 'alway':159,198 'app':346 'artifact':94,309 'as-i':108 'background':253 'bash':73,174,188,427 'build':201,218,308 'celeri':391 'chang':186 'cli':165,170 'command':229 'comment':96 'commit':290,295,300,305,312 'common':228 'complet':58,313 'config':317 'configur':55,60,80,86,209,289 'creat':27,77 'd':249 'databas':358 'declar':29 'definit':83 'depend':18,267,372,445 'descript':406,412 'detail':53 'develop':14,25,31,238 'devenv':1,74,93,105,175,180,189,200,230,235,240,247,254,260,264,270,275,284,307,366,383,386,396,428 'devenv.lock':193,297 'devenv.nix':10,81,204,286 'devenv.sh':13,24,34,40 'devenv.yaml':78,123,269,292,436 'direnv':89,303 'django':64 'django.md':62,63 'doc':39 'dotenv':416 'dotenv.enable':417 'edit':122,203 'enabl':322,327,339,415 'ensur':430 'enter':237 'env':222,357 'environ':15,26,32,72,82,152,219,234,278,288,356 'envrc':88,103,302 'everyth':87 'exampl':314 'exec':376,390,402,410 'fast':28 'file':184,280,283 'fix':212 'foreground':246 'found':423 'generat':102 'git':353 'github':133 'gitignor':91,98 'give':136 'guid':61 'ignor':92 'import':197 'info':276,279 'init':75,100,106,181,231 'initi':69,232 'initialdatabas':344 'input':79,127,130,187,293 'instal':442 'integr':90,304 'issu':420,437 'key':282 'languag':46 'languages.python':321 'languages.python.libraries':447,449 'latest':140 'librari':331 'localhost':363 'localhost/app':360 'lock':183 'longer':114 'make':206 'manag':49,285,370 'manage.py':378,404 'migrat':401,405,408 'myapp':393 'name':345 'nativ':368,444 'need':115 'new':71,233 'nix':20,37,145,153,221,315,448 'nixos/nixpkgs/nixpkgs-unstable':134 'nixpkg':131,143,433 'nixpkgs-unst':432 'occur':216 'offici':38 'old':117 'packag':21,48,141,146,149,155,173,274,341,349,350,421,439 'pattern':68 'pin':195,298 'pkgs':154,157,316,333,352,451 'pkgs.postgresql':342 'postgr':338,385 'postgresql':162,334,354,452 'power':35 'problem':214 'process':245,255,259,365,369,374,384,387,397 'program':45 'project':8,65 'psql':164 'psycopg2':454 'pytest':411 'python':318,377,403,438 'python-uv.md':51,52 'python/uv':54 'pythonunbuff':226 'redi':166,169,355,361,388,398 'redis-c':168 'redis.enable':347 'relev':23 'remov':95 'replac':125 'reproduc':30 'run':120,199,262,407,413 'runserv':379 'script':399,400 'search':171,176,271,272,424,429 'section':128 'see':50 'servic':17,47,59,243,251,336,337 'services.md':56,57 'set':42 'setup':16,66 'shell':236,239 'show':277 'skill' 'skill-devenv' 'sourc':294 'source-kissgyorgy' 'specif':44 'start':242,250 'stdenv.cc.cc.lib':335,455 'stop':256,257 'structur':281 'support':373 'sure':207 'sync.enable':329 'system':148 'task':119 'task-run':118 'test':261,263,409,414 'topic-agent-skills' 'topic-coding-agents' 'topic-nix' 'topic-nix-flake' 'troubleshoot':419 'true':323,328,330,340,348,418 'unstabl':434 'updat':182,190,192,265,266 'url':132,359,362 'use':2,33,431 'uv':320,326 'valu':225 'var':224 'variabl':220 'version':196,299,324 'web':375 'won':440 'work':5,107,178,211 'workaround':121 'worker':389,394 'yaml':129","prices":[{"id":"76f2f24c-7c8d-4e2f-992b-77e01266ed8e","listingId":"869d17ed-b323-42ce-84eb-f3115cc76e5b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"kissgyorgy","category":"coding-agents","install_from":"skills.sh"},"createdAt":"2026-05-18T13:23:01.746Z"}],"sources":[{"listingId":"869d17ed-b323-42ce-84eb-f3115cc76e5b","source":"github","sourceId":"kissgyorgy/coding-agents/devenv","sourceUrl":"https://github.com/kissgyorgy/coding-agents/tree/master/skills/devenv","isPrimary":false,"firstSeenAt":"2026-05-18T13:23:01.746Z","lastSeenAt":"2026-05-18T13:23:01.746Z"}],"details":{"listingId":"869d17ed-b323-42ce-84eb-f3115cc76e5b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"kissgyorgy","slug":"devenv","github":{"repo":"kissgyorgy/coding-agents","stars":6,"topics":["agent-skills","coding-agents","nix","nix-flake"],"license":null,"html_url":"https://github.com/kissgyorgy/coding-agents","pushed_at":"2026-05-18T11:27:29Z","description":"Nix packages, skills, extensions for coding-agents (Claude Code, Gemini CLI, Pi Coding Agent, Codex)","skill_md_sha":"c5761715f19c07d0f796807509111b4af03c90a0","skill_md_path":"skills/devenv/SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/kissgyorgy/coding-agents/tree/master/skills/devenv"},"layout":"multi","source":"github","category":"coding-agents","frontmatter":{"name":"devenv","description":"Use this when working in a project with devenv.nix, or when devenv.sh development environment setup, services, dependencies, or Nix packages are relevant."},"skills_sh_url":"https://skills.sh/kissgyorgy/coding-agents/devenv"},"updatedAt":"2026-05-18T13:23:01.746Z"}}