102 lines
2.7 KiB
JSON
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"
|
|
}
|
|
} |