// For format details, see https://aka.ms/devcontainer.json. For config options, see the // README at: https://github.com/devcontainers/templates/tree/main/src/rust { "name": "Rust", // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "debian:bookworm", // Features to add to the dev container. More info: https://containers.dev/features. "features": { // "ghcr.io/devcontainers/features/git-lfs:1": {}, "ghcr.io/devcontainers/features/common-utils:2": { "configureZshAsDefaultShell": "true" }, "ghcr.io/devcontainers/features/rust:1": { "targets": "x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl" }, "ghcr.io/lee-orr/rusty-dev-containers/cargo-binstall:0": { "packages": "cargo-llvm-cov,cargo-edit" }, "ghcr.io/devcontainers-extra/features/apt-get-packages:1": { "packages": "git-flow,musl-tools" } }, "overrideFeatureInstallOrder": [ "ghcr.io/devcontainers/features/rust", "ghcr.io/lee-orr/rusty-dev-containers/cargo-binstall" ], // cargo cache persistence "mounts": [ { "source": "devcontainer-cargo-cache-${devcontainerId}", "target": "/usr/local/cargo", "type": "volume" } ], // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "sudo chown -R \"${USER}:rustlang\" \"${RUSTUP_HOME}\" \"${CARGO_HOME}\"", // Configure tool-specific properties. "customizations": { "vscode": { "settings": { "terminal.integrated.defaultProfile.linux": "zsh" }, "extensions": [ "mhutchie.git-graph", "Gruntfuggly.todo-tree", "ryanluker.vscode-coverage-gutters" ] } }, // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. "remoteUser": "vscode" }