ref: a3f891402b02b6574530a4dc162514052d087d6c
dir: /.devcontainer/devcontainer.json/
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.209.6/containers/docker-existing-dockerfile
{
"name": "Doom Dev Container",
"context": "..",
"dockerFile": "./Dockerfile",
"extensions": [
"yzhang.markdown-all-in-one",
"bierner.markdown-preview-github-styles",
"dotjoshjohnson.xml",
"eamodio.gitlens",
"npxms.hide-gitignored", // Note: need to run its command manually
// Build tooling
"ms-vscode.cpptools",
"cschlosser.doxdocgen",
"austin.code-gnu-global",
"jeff-hykin.better-cpp-syntax", // Note: runs locally
"ms-vscode.cpptools-themes", // Note: runs locally
],
// Required to not bleed "root" permission files into the host volume
"containerUser": "chocodev",
// VSCode on Linux specific, for creating X11 and sound forwarding
// Comment out manually if working on non-Linux
"initializeCommand": "${localWorkspaceFolder}/.devcontainer/initialize-linux.sh",
"mounts": [
"source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind",
"source=${localWorkspaceFolder}/.devcontainer/prefs,target=/home/chocodev/.local/share/chocolate-doom,type=bind",
],
"containerEnv": {
"DISPLAY": "${localEnv:DISPLAY}",
"XAUTHORITY": "${containerWorkspaceFolder}/.devcontainer/share/devcontainer.xauth",
},
"runArgs": [
// "--gpus", "all", // Uncomment for GPU support
"--device", "/dev/snd",
// TODO: pulseaudio? https://github.com/mviereck/x11docker/wiki/Container-sound:-ALSA-or-Pulseaudio
]
// TODO: X11/sound forwarding configs for MacOS (XQuartz) and Windows (Xming)
}