Files
code-tools/.devcontainer/devcontainer.json
2025-09-19 18:31:25 +00:00

102 lines
2.7 KiB
JSON

{
"name": "Coder Development Environment",
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"features": {
// Core development tools
"ghcr.io/devcontainers/features/common-utils:2": {
"installZsh": true,
"configureZshAsDefaultShell": true,
"installOhMyZsh": true,
"upgradePackages": true,
"username": "coder",
"userUid": "1000",
"userGid": "1000"
},
// Git and GitHub CLI
"ghcr.io/devcontainers/features/git:1": {
"version": "latest",
"ppa": true
},
"ghcr.io/devcontainers/features/github-cli:1": {
"version": "latest"
},
// Docker-in-Docker
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"version": "latest",
"enableNonRootDocker": true,
"moby": true
},
// Node.js and npm
"ghcr.io/devcontainers/features/node:1": {
"version": "lts",
"nodeGypDependencies": true
},
// Python
"ghcr.io/devcontainers/features/python:1": {
"version": "3.12",
"installTools": true,
"installJupyterlab": true
},
// Go
"ghcr.io/devcontainers/features/go:1": {
"version": "latest"
},
// Rust
"ghcr.io/devcontainers/features/rust:1": {
"version": "stable",
"profile": "default"
},
// Terraform
"ghcr.io/devcontainers/features/terraform:1": {
"version": "latest"
},
// Additional tools
"ghcr.io/devcontainers/features/aws-cli:1": {},
"ghcr.io/devcontainers/features/azure-cli:1": {}
},
"customizations": {
"vscode": {
"settings": {
"terminal.integrated.defaultProfile.linux": "zsh",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": true
},
"python.linting.enabled": true,
"python.formatting.provider": "black"
},
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"golang.go",
"rust-lang.rust-analyzer",
"hashicorp.terraform",
"ms-azuretools.vscode-docker",
"github.copilot",
"github.copilot-chat"
]
}
},
"postCreateCommand": "bash .devcontainer/post-create.sh",
"postStartCommand": "bash .devcontainer/post-start.sh",
"remoteUser": "coder",
"workspaceFolder": "/workspaces",
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces,type=bind",
"mounts": [
"source=${localWorkspaceFolder},target=/home/coder/code-tools,type=bind"
],
"runArgs": [
"--cap-add=SYS_PTRACE",
"--security-opt",
"seccomp=unconfined",
"--network=host"
],
"containerEnv": {
"SHELL": "/bin/zsh"
}
}