diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..605d950 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,22 @@ +FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04 + +USER root +RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ + apt-get install -y nodejs + +USER vscode + +RUN npm config set prefix /home/vscode/.npm-global +ENV PATH="/home/vscode/.npm-global/bin:/home/vscode/.local/bin:$PATH" + +RUN curl https://mise.run | sh + +RUN /home/vscode/.local/bin/mise install elixir@latest erlang@latest && \ + /home/vscode/.local/bin/mise use --global elixir@latest erlang@latest + +RUN /home/vscode/.local/bin/mise exec -- mix local.hex --force && \ + /home/vscode/.local/bin/mise exec -- mix local.rebar --force + +RUN npm install -g @mariozechner/pi-coding-agent + +USER root diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index e7d5451..731e74b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,10 +1,11 @@ { "$schema": "https://containers.dev/implementors/json_schema/", - "image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.04", + "build": { + "dockerfile": "Dockerfile" + }, "remoteUser": "vscode", "runArgs": [], "features": { - "ghcr.io/devcontainers/features/node:1": {}, "ghcr.io/devcontainers/features/python:1": {}, "ghcr.io/jsburckhardt/devcontainer-features/uv:1": {}, "ghcr.io/jsburckhardt/devcontainer-features/ruff:1": {} @@ -16,9 +17,8 @@ "source=${localEnv:HOME}/.pi/agent/bin,target=/home/vscode/.pi/agent/bin,type=bind,consistency=cached" ], "postCreateCommand": { - "pi-agent": "bash -ic 'npm install -g @mariozechner/pi-coding-agent && pi install npm:pi-subagents'" + "pi-subagents": "bash -ic 'pi install npm:pi-subagents'" }, - "customizations": { "jetbrains": { "settings": { @@ -31,7 +31,8 @@ }, "extensions": [ "ms-python.python", - "ms-toolsai.jupyter" + "ms-toolsai.jupyter", + "jakebecker.elixir-ls" ] } }