{
  "name": "Supervisor dev",
  "image": "ghcr.io/home-assistant/devcontainer:6-supervisor",
  "overrideCommand": false,
  "remoteUser": "vscode",
  "containerEnv": {
    "WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
  },
  "remoteEnv": {
    "PATH": "${containerEnv:VIRTUAL_ENV}/bin:${containerEnv:PATH}"
  },
  "appPort": ["9123:8123", "7357:4357"],
  "postCreateCommand": "bash devcontainer_setup",
  "postStartCommand": "bash devcontainer_bootstrap",
  "runArgs": ["-e", "GIT_EDITOR=code --wait", "--privileged"],
  "customizations": {
    "vscode": {
      "extensions": [
        "charliermarsh.ruff",
        "ms-python.pylint",
        "ms-python.vscode-pylance",
        "redhat.vscode-yaml",
        "esbenp.prettier-vscode",
        "GitHub.vscode-pull-request-github",
        "GitHub.copilot"
      ],
      "settings": {
        "python.defaultInterpreterPath": "/home/vscode/.local/ha-venv/bin/python",
        "python.pythonPath": "/home/vscode/.local/ha-venv/bin/python",
        "python.terminal.activateEnvInCurrentTerminal": true,
        "python.testing.pytestArgs": ["--no-cov"],
        "pylint.importStrategy": "fromEnvironment",
        "editor.formatOnPaste": false,
        "editor.formatOnSave": true,
        "editor.formatOnType": true,
        "files.trimTrailingWhitespace": true,
        "terminal.integrated.profiles.linux": {
          "zsh": {
            "path": "/usr/bin/zsh"
          }
        },
        "terminal.integrated.defaultProfile.linux": "zsh",
        "[python]": {
          "editor.defaultFormatter": "charliermarsh.ruff"
        }
      }
    }
  },
  "mounts": [
    "type=volume,target=/var/lib/docker",
    "type=volume,target=/var/lib/containerd",
    "type=volume,target=/mnt/supervisor",
    "type=tmpfs,target=/tmp"
  ]
}
