shithub: choc

ref: fabb8f598ebee1bec3c736f8556294ee57cbb6e5
dir: /.devcontainer/devcontainer.json/

View raw version
// 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)
}