{
"name": "Rust",
"image": "mcr.microsoft.com/devcontainers/rust:1-1-bookworm",
"features": {
"ghcr.io/devcontainers/features/github-cli:1": {}
},
"mounts": [
{
"source": "devcontainer-cargo-cache-${devcontainerId}",
"target": "/usr/local/cargo",
"type": "volume"
},
{
"source": "${localEnv:HOME}/.env",
"target": "/home/vscode/.env",
"type": "bind"
}
],
"postCreateCommand": {
"codex-cli": "cd ~ && git clone --depth 1 --filter=blob:none --sparse https://github.com/openai/codex.git && git -C codex sparse-checkout set codex-rs && cargo install --path codex/codex-rs/cli",
"rustup": "rustup default stable && rustup component add clippy && rustup component add rustfmt && rustup component add llvm-tools-preview && cargo install cargo-llvm-cov && cargo install cargo-nextest --locked"
},
"containerEnv": {
"GH_REPO": "jim60105/subx-cli",
"GH_NO_UPDATE_NOTIFIER": "true",
"GH_NO_EXTENSION_UPDATE_NOTIFIER": "true",
"GH_PROMPT_DISABLED": "true"
},
"customizations": {
"vscode": {
"extensions": [
"rust-lang.rust-analyzer",
"vadimcn.vscode-lldb",
"fill-labs.dependi",
"tamasfe.even-better-toml",
"ms-vscode.test-adapter-converter",
"hbenl.vscode-test-explorer",
"GitHub.copilot",
"GitHub.copilot-chat",
"ms-vscode-remote.remote-containers",
"dustypomerleau.rust-syntax"
],
"settings": {
"chat.tools.autoApprove": true
}
}
}
}