{
"name": "Anya Core - Rust",
"image": "mcr.microsoft.com/devcontainers/rust", "features": {
"ghcr.io/devcontainers/features/git:1": {
"version": "latest",
"ppa": true
},
"ghcr.io/devcontainers/features/python:1": {
"version": "3.11",
"installJupyterlab": true
},
"ghcr.io/devcontainers/features/node:1": {
"version": "lts"
},
"ghcr.io/devcontainers/features/docker-in-docker:2": {
"version": "latest",
"dockerDashComposeVersion": "v2"
}
},
"customizations": {
"vscode": {
"extensions": [
"rust-lang.rust-analyzer",
"serayuzgur.crates",
"vadimcn.vscode-lldb",
"tamasfe.even-better-toml",
"mutantdino.resourcemonitor",
"streetsidesoftware.code-spell-checker",
"github.copilot",
"github.vscode-github-actions",
"eamodio.gitlens",
"ms-vscode.vscode-typescript-next",
"foxundermoon.shell-format",
"ms-python.python",
"ms-toolsai.jupyter",
"ms-azuretools.vscode-docker",
"ms-vscode.hexeditor",
"bierner.markdown-preview-github-styles",
"yzhang.markdown-all-in-one"
],
"settings": {
"editor.formatOnSave": true,
"rust-analyzer.checkOnSave.command": "clippy",
"rust-analyzer.cargo.allFeatures": true,
"rust-analyzer.procMacro.enable": true,
"rust-analyzer.checkOnSave.extraArgs": [
"--target-dir",
"/tmp/rust-analyzer-check"
],
"rust-analyzer.cargo.buildScripts.enable": true,
"rust-analyzer.diagnostics.disabled": [
"inactive-code"
],
"editor.inlayHints.enabled": "on",
"editor.semanticHighlighting.enabled": true,
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": "active",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.provider": "black",
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
"icon": "terminal-bash"
}
}
}
}
},
"postCreateCommand": "bash -c 'chmod +x ./.devcontainer/*.sh && bash ./.devcontainer/install-tools.sh || echo \"🚨 Tool installation had some errors - check logs\"'",
"mounts": [
{
"source": "anya-core-cargo-cache-${devcontainerId}",
"target": "/usr/local/cargo",
"type": "volume"
},
{
"source": "anya-core-rustup-${devcontainerId}",
"target": "/usr/local/rustup",
"type": "volume"
},
{
"source": "anya-core-node-modules-${devcontainerId}",
"target": "${containerWorkspaceFolder}/node_modules",
"type": "volume"
}
],
"forwardPorts": [
3000, 8000, 8080, 8332, 8333, 9735, 8888, 9999 ],
"containerEnv": {
"CARGO_INCREMENTAL": "1",
"RUST_BACKTRACE": "1",
"RUSTFLAGS": "-C target-cpu=native",
"SCCACHE_CACHE_SIZE": "5G"
},
"remoteUser": "vscode"
}