devbox-layer-cache-base (dc1b862cfce359cfd1002b150a0c908f64c852c8d4b286b73293d8b54ae630da)

Published 2026-07-15 09:58:39 +02:00 by L0GYKAL

Installation

docker pull forge.tala.family/l0gykal/devbox-layer-cache-base:dc1b862cfce359cfd1002b150a0c908f64c852c8d4b286b73293d8b54ae630da
sha256:13244693ea9006c56517a59e6efdad2c2c49a607f581274b64208d106925be8c

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=24.04
ADD file:8c609c85109d07bf47cf268a175b3be8bbe34fc0c41d15d99b090d099f4dc837 in /
CMD ["/bin/bash"]
ENV DEBIAN_FRONTEND=noninteractive LANG=C.UTF-8 LC_ALL=C.UTF-8 TZ=UTC
/bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates curl wget gnupg lsb-release git openssh-server openssh-client sudo zsh tmux mosh build-essential pkg-config python3 python3-pip python3-venv python3-yaml pipx jq ripgrep fzf bat fd-find tree eza zoxide direnv ncurses-term less locales tini unzip && locale-gen en_US.UTF-8 && rm -rf /var/lib/apt/lists/*
/bin/sh -c ln -sf /usr/bin/batcat /usr/local/bin/bat && ln -sf /usr/bin/fdfind /usr/local/bin/fd
ENV NVIM_VERSION=v0.12.2
ENV NVIM_SHA256_AMD64=31cf85945cb600d96cdf69f88bc68bec814acbff50863c5546adef3a1bcef260
ENV NVIM_SHA256_ARM64=f697d4e4582b6e4b5c3c26e76e06ce26efa08ba1768e03fd2733fcc422bb0490
/bin/sh -c set -eu; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) NVIM_ASSET="nvim-linux-x86_64.tar.gz"; NVIM_DIR="nvim-linux-x86_64"; WANT_SHA="${NVIM_SHA256_AMD64}" ;; arm64) NVIM_ASSET="nvim-linux-arm64.tar.gz"; NVIM_DIR="nvim-linux-arm64"; WANT_SHA="${NVIM_SHA256_ARM64}" ;; *) echo "ERROR: unsupported arch '${ARCH}' for nvim install" >&2; exit 1 ;; esac; curl -fsSL "https://github.com/neovim/neovim/releases/download/${NVIM_VERSION}/${NVIM_ASSET}" -o /tmp/nvim.tgz; GOT_SHA="$(sha256sum /tmp/nvim.tgz | awk '{print $1}')"; if [ -z "${WANT_SHA}" ]; then echo "WARN: NVIM_SHA256_${ARCH} value empty — got ${GOT_SHA}. Pin it before next build." >&2; elif [ "${GOT_SHA}" != "${WANT_SHA}" ]; then echo "ERROR: nvim sha256 mismatch: got ${GOT_SHA} want ${WANT_SHA}" >&2; exit 1; fi; tar -C /opt -xzf /tmp/nvim.tgz; ln -sf "/opt/${NVIM_DIR}/bin/nvim" /usr/local/bin/nvim; rm /tmp/nvim.tgz
/bin/sh -c curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | gpg --dearmor -o /usr/share/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && apt-get update && apt-get install -y --no-install-recommends gh && rm -rf /var/lib/apt/lists/*
ENV GH_DASH_VERSION=4.23.2
ENV GH_DASH_SHA256_AMD64=fed6b0ae90ce2c32ac029c2ce891cd2ad1a1cdd9a12d21fb14ed25d18dae658b
ENV GH_DASH_SHA256_ARM64=19037ce8ef2997f29ccba96c8309b47554a4f13bed2492c3997aeef2fdbaa136
/bin/sh -c set -eu; arch="$(dpkg --print-architecture)"; case "${arch}" in amd64) GHARCH=amd64; WANT_SHA="${GH_DASH_SHA256_AMD64}" ;; arm64) GHARCH=arm64; WANT_SHA="${GH_DASH_SHA256_ARM64}" ;; *) echo "unsupported arch ${arch}" >&2; exit 1 ;; esac; curl -fsSL "https://github.com/dlvhdr/gh-dash/releases/download/v${GH_DASH_VERSION}/gh-dash_v${GH_DASH_VERSION}_linux-${GHARCH}" -o /tmp/gh-dash; GOT_SHA="$(sha256sum /tmp/gh-dash | awk '{print $1}')"; if [ -z "${WANT_SHA}" ]; then echo "WARN: GH_DASH_SHA256_${arch} value empty — got ${GOT_SHA}. Pin it before next build." >&2; elif [ "${GOT_SHA}" != "${WANT_SHA}" ]; then echo "ERROR: gh-dash sha256 mismatch: got ${GOT_SHA} want ${WANT_SHA}" >&2; exit 1; fi; install -m0755 /tmp/gh-dash /usr/local/bin/gh-dash; rm /tmp/gh-dash
ENV TEA_VERSION=0.14.1
ENV TEA_SHA256_AMD64=3cf7c5d1c20808c9ba2efb9ac125cee10d969daf398e653ea2b33cde201ea317
ENV TEA_SHA256_ARM64=0947b07f15fd2dde1768e0eb8c8619f280f45fb08b8895a11b64f6ba94b13dbf
/bin/sh -c set -eu; arch="$(dpkg --print-architecture)"; case "${arch}" in amd64) TEAARCH=amd64; WANT_SHA="${TEA_SHA256_AMD64}" ;; arm64) TEAARCH=arm64; WANT_SHA="${TEA_SHA256_ARM64}" ;; *) echo "unsupported arch ${arch}" >&2; exit 1 ;; esac; curl -fsSL "https://gitea.com/gitea/tea/releases/download/v${TEA_VERSION}/tea-${TEA_VERSION}-linux-${TEAARCH}" -o /tmp/tea; GOT_SHA="$(sha256sum /tmp/tea | awk '{print $1}')"; if [ -z "${WANT_SHA}" ]; then echo "WARN: TEA_SHA256_${arch} value empty — got ${GOT_SHA}. Pin it before next build." >&2; elif [ "${GOT_SHA}" != "${WANT_SHA}" ]; then echo "ERROR: tea sha256 mismatch: got ${GOT_SHA} want ${WANT_SHA}" >&2; exit 1; fi; install -m0755 /tmp/tea /usr/local/bin/tea; rm /tmp/tea
ENV RUST_VERSION=1.96.0
ENV RUSTUP_HOME=/opt/rustup CARGO_HOME=/opt/cargo
ENV PATH="/opt/cargo/bin:${PATH}"
/bin/sh -c curl -fsSL --proto '=https' --tlsv1.2 https://sh.rustup.rs | bash -s -- -y --no-modify-path --default-toolchain "${RUST_VERSION}" --profile minimal && chmod -R 1777 /opt/cargo && ln -sf /opt/cargo/bin/cargo /usr/local/bin/cargo && ln -sf /opt/cargo/bin/rustc /usr/local/bin/rustc && /usr/local/bin/rustc --version && /usr/local/bin/cargo --version
/bin/sh -c cargo install worktrunk
ENV BUN_INSTALL_SH_SHA256=bab8acfb046aac8c72407bdcce903957665d655d7acaa3e11c7c4616beae68dd
/bin/sh -c set -eu; curl -fsSL https://bun.sh/install -o /tmp/bun-install.sh; GOT_SHA="$(sha256sum /tmp/bun-install.sh | awk '{print $1}')"; if [ -z "${BUN_INSTALL_SH_SHA256}" ]; then echo "WARN: BUN_INSTALL_SH_SHA256 value empty — got ${GOT_SHA}. Pin it." >&2; elif [ "${GOT_SHA}" != "${BUN_INSTALL_SH_SHA256}" ]; then echo "ERROR: bun install-script sha256 mismatch: got ${GOT_SHA} want ${BUN_INSTALL_SH_SHA256}" >&2; exit 1; fi; env BUN_INSTALL=/opt/bun bash /tmp/bun-install.sh; rm /tmp/bun-install.sh; ln -sf /opt/bun/bin/bun /usr/local/bin/bun; ln -sf /opt/bun/bin/bun /usr/local/bin/bunx; ln -sf /opt/bun/bin/bun /usr/local/bin/node
/bin/sh -c install -d /etc/skel.d/.local/bin
COPY file:0e217169c0a5b1b366957554b40ae0473aef4cdba56880261bb60d25ba931a98 in /etc/skel.d/.local/bin/opencode-acp-meridian
COPY file:df84294a9a854d0cf35ffeda93e2077851ba5fd5de18d527e00590be9e9c1342 in /etc/skel.d/.local/bin/claude-acp-direct
COPY file:1322c1632dda26c2f94561b3c867d6889a038ae5e3d471e972c7ed8fc1baae11 in /etc/skel.d/.local/bin/opencode
/bin/sh -c chmod 0755 /etc/skel.d/.local/bin/opencode-acp-meridian /etc/skel.d/.local/bin/claude-acp-direct /etc/skel.d/.local/bin/opencode
ENV MISE_INSTALL_SH_SHA256=f9dab663d963578f0fcae36038ddb1a8444bd3b9676f30ec823cf27370687b05
/bin/sh -c set -eu; curl -fsSL https://mise.run -o /tmp/mise-install.sh; GOT_SHA="$(sha256sum /tmp/mise-install.sh | awk '{print $1}')"; if [ -z "${MISE_INSTALL_SH_SHA256}" ]; then echo "WARN: MISE_INSTALL_SH_SHA256 value empty — got ${GOT_SHA}. Pin it." >&2; elif [ "${GOT_SHA}" != "${MISE_INSTALL_SH_SHA256}" ]; then echo "ERROR: mise install-script sha256 mismatch: got ${GOT_SHA} want ${MISE_INSTALL_SH_SHA256}" >&2; exit 1; fi; env MISE_INSTALL_PATH=/usr/local/bin/mise sh /tmp/mise-install.sh; rm /tmp/mise-install.sh
ENV OPENCODE_VERSION=1.15.0
/bin/sh -c install -d /opt/opencode-bin && curl -fsSL https://opencode.ai/install | env BIN_DIR=/opt/opencode-bin bash -s -- ${OPENCODE_VERSION:+--version "${OPENCODE_VERSION}"} && if [ ! -x /opt/opencode-bin/opencode ]; then FOUND="$(find /root /opt -name opencode -type f -executable 2>/dev/null | head -1)"; [ -n "$FOUND" ] || { echo "ERROR: opencode binary not found post-install" >&2; exit 1; }; cp "$FOUND" /opt/opencode-bin/opencode; fi && chmod 0755 /opt/opencode-bin/opencode && ln -sf /opt/opencode-bin/opencode /usr/local/bin/opencode && /usr/local/bin/opencode --version
ENV BUN_INSTALL=/opt/bun

Labels

Key Value
io.buildah.version 1.43.2
org.opencontainers.image.version 24.04