// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/alpine
{
	"name": "AVR toolchain",
	// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
	"image": "mcr.microsoft.com/devcontainers/base:alpine-3.22",
	// Features to add to the dev container. More info: https://containers.dev/features.
	"features": {},
	// 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": "bash scripts/install-toolchain.sh",
	// Configure tool-specific properties.
	"customizations": {
		"vscode": {
			"extensions": [
				"ms-vscode.cpptools-extension-pack",
				"rockcat.avr-support",
				"harikrishnan94.cxx-compiler-explorer"
			],
			"settings": {
				"editor.formatOnSave": true,
				"C_Cpp.codeAnalysis.clangTidy.checks.disabled": [
					"clang-analyzer-core.NullDereference"
				],
				"C_Cpp.files.exclude": {
					"build/**": true
				},
				"files.associations": {
					"*.S": "avr"
				},
				"cmake.configureOnOpen": true,
				"compilerexplorer.compilationDirectory": "${workspaceFolder}/build"
			}
		}
	}
	// "runArgs": [
	// 	"--device=/dev/ttyUSB0",
	// 	"--device=/dev/ttyUSB1"
	// ]
	// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
	// "remoteUser": "root"
}
