{
  "name": "<%= @project_name %>",
  "build": {
    "dockerfile": "Dockerfile",
    "args": {
      "TZ": "${localEnv:TZ:<%= @timezone %>}",
      "ZSH_IN_DOCKER_VERSION": "1.2.0"<%= for {key, val} <- @extra_build_args do %>,
      "<%= key %>": "<%= val %>"<% end %>
    }
  },
  "runArgs": [
    "--security-opt", "seccomp=unconfined"<%= if @firewall do %>,
    "--cap-add=NET_ADMIN",
    "--cap-add=NET_RAW"<% end %>
  ],
  "remoteUser": "developer",
  "mounts": [
    "source=<%= @volume_prefix %>-bashhistory-${devcontainerId},target=/commandhistory,type=volume"<%= for mount <- @extra_mounts do %>,
    "<%= mount %>"<% end %>
  ],
  "containerEnv": {
    "POWERLEVEL9K_DISABLE_GITSTATUS": "true"<%= for {key, val} <- @extra_env do %>,
    "<%= key %>": "<%= val %>"<% end %>
  },
  "customizations": {
    "vscode": {
      "extensions": [
        "JakeBecker.elixir-ls"
      ]
    }
  },
  "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=delegated",
  "workspaceFolder": "/workspace",
  "postCreateCommand": "mix deps.get"<%= if @firewall do %>,
  "postStartCommand": "sudo /usr/local/bin/init-firewall.sh",
  "waitFor": "postStartCommand"<% end %>
}
