Add new extensions and updates to the Dev sandbox

This commit is contained in:
Alex Selimov 2026-05-26 09:51:57 -04:00
parent 5f053ec81d
commit 19f3c6a050
5 changed files with 211 additions and 1 deletions

View file

@ -6,6 +6,7 @@ ARG JAVA_VERSION=17
ARG GO_VERSION=1.22.4
ARG GRADLE_VERSION=8.7
ARG TERRAFORM_VERSION=1.8.5
ARG ZIG_VERSION=0.16.0
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG=C.UTF-8
@ -38,6 +39,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
ripgrep \
neovim \
less \
hugo \
xz-utils \
&& rm -rf /var/lib/apt/lists/* \
&& ln -sf /usr/bin/fdfind /usr/local/bin/fd
@ -63,6 +66,10 @@ RUN curl -sSL https://install.python-poetry.org | python3 - && \
# uv (fast Python package/project manager from Astral)
RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh
# Keep sandbox-created Python project virtualenvs separate from the host/user .venv.
# This avoids invalid interpreter symlinks when the same workspace is shared with macOS.
ENV UV_PROJECT_ENVIRONMENT=".venv_sandbox"
# Node.js 22
RUN curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash - && \
apt-get install -y --no-install-recommends nodejs && \
@ -112,6 +119,19 @@ RUN ARCH=$(dpkg --print-architecture) && \
unzip /tmp/terraform.zip -d /usr/local/bin && \
rm /tmp/terraform.zip
# Zig
RUN ARCH=$(uname -m) && \
case "$ARCH" in \
x86_64) ZIG_ARCH=x86_64 ;; \
aarch64) ZIG_ARCH=aarch64 ;; \
*) echo "Unsupported architecture: $ARCH" >&2; exit 1 ;; \
esac && \
curl -fsSL "https://ziglang.org/download/${ZIG_VERSION}/zig-${ZIG_ARCH}-linux-${ZIG_VERSION}.tar.xz" -o /tmp/zig.tar.xz && \
tar -C /opt -xf /tmp/zig.tar.xz && \
mv "/opt/zig-${ZIG_ARCH}-linux-${ZIG_VERSION}" "/opt/zig-${ZIG_VERSION}" && \
ln -s "/opt/zig-${ZIG_VERSION}/zig" /usr/local/bin/zig && \
rm /tmp/zig.tar.xz
# Atlassian CLI (acli)
RUN mkdir -p -m 755 /etc/apt/keyrings && \
wget -nv -O- https://acli.atlassian.com/gpg/public-key.asc | gpg --dearmor -o /etc/apt/keyrings/acli-archive-keyring.gpg && \