// Guide 1 ///////////////////////////////////////////////////////////
// MacOS - X Forwarding
// https://gist.github.com/cschiewek/246a244ba23da8b9f0e7b11a68bf3285
// 1. brew install --cask xquartz
//////////////////////////////////////////////////////////////////////
{
	"name": "Ubuntu",
	"postStartCommand": "/usr/local/bin/entrypoint.sh",
	"remoteUser": "osdev",
	"features": {},
	"forwardPorts": [],

	////////////////////////////////////
	// UNCOMMENT to use prebuilt image
	////////////////////////////////////
	"image": "ghcr.io/uiaict/2024-ikt218-osdev/devcontainer:2776417",

	////////////////////////////////////
	// UNCOMMENT to build manually
	////////////////////////////////////
	//"build": {
	//	"dockerfile": "Dockerfile",
	//	"target": "devcontainer"
	//},


	////////////////////////////////////
	// Linux Setup (X11)
	////////////////////////////////////
    "mounts": [
        "source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=cached"
    ],
	"containerEnv": {},


	////////////////////////////////////
	// Windows Setup (WSL2)
	////////////////////////////////////
    //"mounts": [
	//	"source=/mnt/wslg,target=/mnt/wslg,type=bind,consistency=cached"
    //],
	//"containerEnv": {
	//	"PULSE_SERVER": "/mnt/wslg/PulseServer"
	//},


	////////////////////////////////////
	// MacOS Setup (X11)
	// You need to install XQuartz and pulseaudio
	////////////////////////////////////
	//"containerEnv": {
    //  "DISPLAY": "docker.for.mac.host.internal:0",
	//	"PULSE_SERVER": "docker.for.mac.host.internal:4713"
    //},
	//"mounts": [
	//	"source=/tmp/.X11-unix,target=/tmp/.X11-unix,type=bind,consistency=cached",
	//	"source=${localEnv:HOME}/.config/pulse,target=/home/osdev/.config/pulse,type=bind,consistency=cached"
    //],
	

	"customizations": {
		"vscode": {
			"extensions": [
				"ms-vscode.cmake-tools",
				"ms-azuretools.vscode-docker",
				"ms-vscode-remote.remote-containers",
				"twxs.cmake",
				"ms-vscode.cpptools",
				"ms-vscode.cpptools-extension-pack",
				"GitHub.copilot",
				"webfreak.debug",
				"13xforever.language-x86-64-assembly",
				"DamianKoper.gdb-debug"
			]
		}
	}
}
