Skip to content

Commit 7a4b5bb

Browse files
committed
Add devcontainer configuration with common-utils feature and VSCode customizations
1 parent 4399de8 commit 7a4b5bb

2 files changed

Lines changed: 58 additions & 0 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"features": {
3+
"ghcr.io/devcontainers/features/common-utils:2": {
4+
"version": "2.5.9",
5+
"resolved": "ghcr.io/devcontainers/features/common-utils@sha256:cb0c4d3c276f157eed17935747e364178d75fee17f55c4e129966f64633deb3a",
6+
"integrity": "sha256:cb0c4d3c276f157eed17935747e364178d75fee17f55c4e129966f64633deb3a"
7+
}
8+
}
9+
}

.devcontainer/devcontainer.json

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
"name": "skypier-blackhole (Rust)",
3+
"image": "mcr.microsoft.com/devcontainers/rust:1-bookworm",
4+
5+
"features": {
6+
"ghcr.io/devcontainers/features/common-utils:2": {
7+
"installZsh": true,
8+
"upgradePackages": true
9+
}
10+
},
11+
12+
// Tools used by CI (cargo fmt / clippy) plus cargo-deb used by the release workflow.
13+
"onCreateCommand": "rustup component add rustfmt clippy && cargo install cargo-deb --locked",
14+
15+
// The named volume mounted below is created owned by root on first use, which the
16+
// non-root vscode user can't write to; fix ownership before warming the build cache.
17+
"postCreateCommand": "sudo mkdir -p /usr/local/cargo/registry /usr/local/cargo/git && sudo chown -R vscode:vscode /usr/local/cargo/registry /usr/local/cargo/git && cargo fetch",
18+
19+
"customizations": {
20+
"vscode": {
21+
"extensions": [
22+
"rust-lang.rust-analyzer",
23+
"vadimcn.vscode-lldb",
24+
"tamasfe.even-better-toml",
25+
"serayuzgur.crates"
26+
],
27+
"settings": {
28+
"editor.formatOnSave": true,
29+
"[rust]": {
30+
"editor.defaultFormatter": "rust-lang.rust-analyzer"
31+
},
32+
"rust-analyzer.check.command": "clippy"
33+
}
34+
}
35+
},
36+
37+
"remoteEnv": {
38+
"RUST_LOG": "debug"
39+
},
40+
41+
// DNS server binds low/well-known ports (e.g. 53); expose common test ports.
42+
"forwardPorts": [53],
43+
44+
"mounts": [
45+
"source=${localWorkspaceFolderBasename}-cargo-registry,target=/usr/local/cargo/registry,type=volume"
46+
],
47+
48+
"remoteUser": "vscode"
49+
}

0 commit comments

Comments
 (0)