{
    "name": "OpenBMC Development",
    "build": {
        "dockerfile": "Dockerfile"
    },
    "updateRemoteUserUID": true,
    "customizations": {
        "vscode": {
            "extensions": [
                "ms-vscode.cpptools",
                "ms-vscode.cpptools-extension-pack",
                "ms-python.python",
                "ms-python.vscode-pylance",
                "redhat.vscode-yaml",
                "yocto-project.yocto-bitbake",
                "mhutchie.git-graph",
                "eamodio.gitlens",
                "streetsidesoftware.code-spell-checker"
            ],
            "settings": {
                "terminal.integrated.defaultProfile.linux": "bash",
                "editor.tabSize": 4,
                "editor.insertSpaces": true,
                "files.trimTrailingWhitespace": true,
                "C_Cpp.default.compilerPath": "/usr/bin/gcc",
                "C_Cpp.default.cStandard": "c17",
                "C_Cpp.default.cppStandard": "c++20",
                "python.defaultInterpreterPath": "/usr/bin/python3"
            }
        }
    },
    "mounts": [
        "source=openbmc-sstate-cache,target=${containerWorkspaceFolder}/build/sstate-cache,type=volume",
        "source=openbmc-downloads,target=${containerWorkspaceFolder}/build/downloads,type=volume"
    ],
    "remoteUser": "openbmc",
    "containerEnv": {
        "LANG": "en_US.UTF-8",
        "LC_ALL": "en_US.UTF-8"
    },
    "postCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}",
    "postStartCommand": "if [ -f ${containerWorkspaceFolder}/oe-init-build-env ]; then echo \"export PARALLEL_MAKE=\\\"-j$(nproc)\\\"\" >> ~/.bashrc && echo \"export BB_NUMBER_THREADS=$(nproc)\" >> ~/.bashrc && echo 'source ${containerWorkspaceFolder}/oe-init-build-env' >> ~/.bashrc; fi",
    "forwardPorts": [2222, 2443, 2623],
    "portsAttributes": {
        "2222": {"label": "BMC SSH"},
        "2443": {"label": "BMC HTTPS/Redfish"},
        "2623": {"label": "BMC IPMI"}
    }
}
