devbox-argcache-verify (6ed12a8a77c179c176f05597306aa08c80037d9c40bc9029db9d700eadcbbb3b)

Published 2026-07-06 10:32:10 +02:00 by L0GYKAL

Installation

docker pull forge.tala.family/l0gykal/devbox-argcache-verify:6ed12a8a77c179c176f05597306aa08c80037d9c40bc9029db9d700eadcbbb3b
sha256:7120a6dcb567a3b7d5d74505e8bca1b988e067b09f114ae3d7d1dcfec0484781

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:ea0b11760f900d8070b79adf0ecce26a9901a9d9e97048640a13baeb160626f7 in /etc/skel.d/.local/bin/opencode-acp-meridian
COPY file:7f21e9e6300e84b8cfc7b9492aa086ab2207a99577f7ceab802f127b4bb39325 in /etc/skel.d/.local/bin/claude-acp-direct
/bin/sh -c chmod 0755 /etc/skel.d/.local/bin/opencode-acp-meridian /etc/skel.d/.local/bin/claude-acp-direct
ENV MISE_INSTALL_SH_SHA256=37c89443cb28ebd1c3cb7721aebda09e495a940b455c472ff6d9440d4b1767ab
/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
ENV PATH="${BUN_INSTALL}/bin:${PATH}"
/bin/sh -c /opt/bun/bin/bun install -g @mariozechner/pi-web-ui && ln -sf /opt/bun/bin/pi-web-ui /usr/local/bin/pi-web-ui 2>/dev/null || true && /opt/bun/bin/pi-web-ui --version 2>&1 | head -1 || true
ENV CARAPACE_VERSION=1.4.0
/bin/sh -c curl -fsSL "https://github.com/carapace-sh/carapace-bin/releases/download/v${CARAPACE_VERSION}/carapace-bin_${CARAPACE_VERSION}_linux_amd64.tar.gz" -o /tmp/carapace.tgz && tar -C /tmp -xzf /tmp/carapace.tgz carapace && install -m0755 /tmp/carapace /usr/local/bin/carapace && rm -f /tmp/carapace.tgz /tmp/carapace
ENV ATUIN_VERSION=18.6.1
/bin/sh -c curl -fsSL "https://github.com/atuinsh/atuin/releases/download/v${ATUIN_VERSION}/atuin-x86_64-unknown-linux-gnu.tar.gz" -o /tmp/atuin.tgz && tar -C /tmp -xzf /tmp/atuin.tgz && install -m0755 /tmp/atuin-*linux-gnu/atuin /usr/local/bin/atuin && rm -rf /tmp/atuin.tgz /tmp/atuin-*linux-gnu
ENV JUST_VERSION=1.40.0
/bin/sh -c curl -fsSL "https://github.com/casey/just/releases/download/${JUST_VERSION}/just-${JUST_VERSION}-x86_64-unknown-linux-musl.tar.gz" -o /tmp/just.tgz && tar -C /tmp -xzf /tmp/just.tgz just && install -m0755 /tmp/just /usr/local/bin/just && rm -f /tmp/just.tgz /tmp/just
ENV CRANE_VERSION=0.20.2
/bin/sh -c curl -fsSL "https://github.com/google/go-containerregistry/releases/download/v${CRANE_VERSION}/go-containerregistry_Linux_x86_64.tar.gz" -o /tmp/crane.tgz && tar -C /tmp -xzf /tmp/crane.tgz crane && install -m0755 /tmp/crane /usr/local/bin/crane && rm -f /tmp/crane.tgz /tmp/crane
/bin/sh -c curl -fsSL https://starship.rs/install.sh | sh -s -- --yes --bin-dir /usr/local/bin
ENV MUTAGEN_VERSION=0.18.1
/bin/sh -c install -d "/etc/skel.d/.mutagen/agents/${MUTAGEN_VERSION}" /tmp/mutagen-extract && curl -fsSL "https://github.com/mutagen-io/mutagen/releases/download/v${MUTAGEN_VERSION}/mutagen_linux_amd64_v${MUTAGEN_VERSION}.tar.gz" -o /tmp/mutagen.tgz && tar -C /tmp/mutagen-extract -xzf /tmp/mutagen.tgz mutagen-agents.tar.gz && tar -C /tmp/mutagen-extract -xzf /tmp/mutagen-extract/mutagen-agents.tar.gz linux_amd64 && install -m0755 /tmp/mutagen-extract/linux_amd64 "/etc/skel.d/.mutagen/agents/${MUTAGEN_VERSION}/linux_amd64" && rm -rf /tmp/mutagen.tgz /tmp/mutagen-extract && chmod -R 0755 /etc/skel.d/.mutagen
COPY file:fa6d970c05ef322a738e612fc8aa6d42d67281009326d8f44362bf7b4de524eb in /usr/local/bin/osc52-copy
/bin/sh -c chmod 0755 /usr/local/bin/osc52-copy && ln -sf osc52-copy /usr/local/bin/xsel && ln -sf osc52-copy /usr/local/bin/xclip && ln -sf osc52-copy /usr/local/bin/wl-copy
ENV MATTPOCOCK_SKILLS_COMMIT=main
ENV KARPATHY_SKILLS_COMMIT=main
ENV VISUAL_EXPLAINER_COMMIT=8f1d0e3
/bin/sh -c mkdir -p /opt/skills && git clone https://github.com/mattpocock/skills /opt/skills/mattpocock && (cd /opt/skills/mattpocock && git checkout "${MATTPOCOCK_SKILLS_COMMIT}") && git clone https://github.com/forrestchang/andrej-karpathy-skills /opt/skills/karpathy && (cd /opt/skills/karpathy && git checkout "${KARPATHY_SKILLS_COMMIT}") && git clone https://github.com/nicobailon/visual-explainer /opt/skills/visual-explainer-src && (cd /opt/skills/visual-explainer-src && git checkout "${VISUAL_EXPLAINER_COMMIT}") && cp -r /opt/skills/visual-explainer-src/plugins/visual-explainer /opt/skills/visual-explainer && rm -rf /opt/skills/visual-explainer-src && rm -rf /opt/skills/*/.git
ENV DEV_UID=1000
ENV DEV_GID=1000
COPY file:41b9e3a0d908ded3f66ccc7b634eb69e449cce3b9ea11bcb057464b7464603da in /etc/sudoers.d/dev
/bin/sh -c set -eu; if existing=$(getent passwd ${DEV_UID}); then existing_user=$(echo "$existing" | cut -d: -f1); if [ "$existing_user" != "ubuntu" ]; then echo "ERROR: uid ${DEV_UID} held by '$existing_user', expected 'ubuntu' or empty" >&2; exit 1; fi; userdel -r "$existing_user"; fi; if getent group ubuntu >/dev/null; then groupdel ubuntu; fi; groupadd -g ${DEV_GID} dev; useradd -m -u ${DEV_UID} -g ${DEV_GID} -s /bin/zsh dev; usermod -p '*' dev; chmod 0440 /etc/sudoers.d/dev; visudo -cf /etc/sudoers.d/dev
/bin/sh -c chown dev:dev /opt/opencode-bin/opencode
/bin/sh -c mkdir -p /var/run/sshd /home/dev/.ssh && sed -ri -e 's/^#?PasswordAuthentication\s+.*/PasswordAuthentication no/' -e 's/^#?PermitRootLogin\s+.*/PermitRootLogin no/' -e 's/^#?ChallengeResponseAuthentication\s+.*/ChallengeResponseAuthentication no/' -e 's/^#?KbdInteractiveAuthentication\s+.*/KbdInteractiveAuthentication no/' -e 's/^#?UsePAM\s+.*/UsePAM no/' /etc/ssh/sshd_config && echo "AllowUsers dev" >> /etc/ssh/sshd_config && echo "AcceptEnv COLORTERM TERM_PROGRAM TERM_PROGRAM_VERSION" >> /etc/ssh/sshd_config && chown -R dev:dev /home/dev/.ssh && chmod 0700 /home/dev/.ssh
/bin/sh -c install -d /etc/skel.d/.config/opencode && install -d /etc/skel.d/.local/share/opencode && install -d /etc/skel.d/.claude && install -d /etc/skel.d/.cache
COPY file:c66469cd7a275b5a13f9384726f71afe9220db0759641f9d67d87bdc39ccc689 in /etc/skel.d/.config/opencode/opencode.json
COPY file:24dda1c3448047e69a6fa37a84ad438d657511f239b8c9c5bc3b3527e922f548 in /etc/skel.d/.config/opencode/package.json
/bin/sh -c install -d /usr/local/share/opencode-plugins
COPY file:361135de6057bb8053c7f62c2e5b072a3103a4d6bbdded4942776c6eac88d243 in /usr/local/share/opencode-plugins/wellbeing.ts
/bin/sh -c chmod 0644 /usr/local/share/opencode-plugins/wellbeing.ts
COPY file:237c239c46c636ce3fec67edbcdc6963ad475ce91d724832de6619e6dede2968 in /usr/local/share/opencode-plugins/session-budget-handoff.ts
/bin/sh -c chmod 0644 /usr/local/share/opencode-plugins/session-budget-handoff.ts
/bin/sh -c install -d /usr/local/share/devcontainer
COPY file:27089db780acca08f063c843659c0813a217330990a4671545c03b738e7a9221 in /usr/local/share/devcontainer/HANDOFF.md
/bin/sh -c chmod 0644 /usr/local/share/devcontainer/HANDOFF.md
/bin/sh -c install -d /etc/skel.d/.config/meridian && cd /etc/skel.d/.config/meridian && echo '{}' > package.json && /opt/bun/bin/bun add @rynfar/meridian-plugin-opencode-scrub @rynfar/meridian-plugin-pi-scrub
COPY file:28c2c7fc754c4b8e53259d881c1bfa578a23179197c153b47228cca485df4fd3 in /etc/skel.d/.config/meridian/plugins.json
/bin/sh -c chmod 0644 /etc/skel.d/.config/meridian/plugins.json
/bin/sh -c cd /etc/skel.d/.config/opencode && /opt/bun/bin/bun install --no-summary && chmod 0644 opencode.json package.json
ENV MATTPOCOCK_SKILLS_REF=main
/bin/sh -c curl -fsSL "https://codeload.github.com/mattpocock/skills/tar.gz/${MATTPOCOCK_SKILLS_REF}" | tar -xz -C /tmp && install -d /etc/skel.d/.claude/skills && install -d /etc/skel.d/.config/opencode/skills && cp -r /tmp/skills-*/skills/. /etc/skel.d/.claude/skills/ && cp -r /tmp/skills-*/skills/. /etc/skel.d/.config/opencode/skills/ && rm -rf /tmp/skills-* && find /etc/skel.d/.claude/skills /etc/skel.d/.config/opencode/skills -type f -exec chmod 0644 {} \; && find /etc/skel.d/.claude/skills /etc/skel.d/.config/opencode/skills -type d -exec chmod 0755 {} \;
/bin/sh -c install -d /usr/local/share/opencode-skills
COPY dir:2bd11f30f5eb725edab3ced05986d471452d9254d16f8c13ac17729bbeced999 in /usr/local/share/opencode-skills
/bin/sh -c set -eu; for tree in /etc/skel.d/.claude/skills /etc/skel.d/.config/opencode/skills; do install -d "$tree/engineering" "$tree/in-progress" "$tree/productivity"; for s in ask-matt codebase-design domain-modeling grill-with-docs implement setup-matt-pocock-skills to-issues to-prd triage; do rm -rf "$tree/engineering/$s"; cp -r "/usr/local/share/opencode-skills/$s" "$tree/engineering/$s"; done; rm -rf "$tree/in-progress/review"; cp -r /usr/local/share/opencode-skills/review "$tree/in-progress/review"; rm -rf "$tree/productivity/handoff"; cp -r /usr/local/share/opencode-skills/handoff "$tree/productivity/handoff"; done; find /usr/local/share/opencode-skills -type f -exec chmod 0644 {} \; ; find /usr/local/share/opencode-skills -type d -exec chmod 0755 {} \; ; find /etc/skel.d/.claude/skills /etc/skel.d/.config/opencode/skills -type f -exec chmod 0644 {} \; ; find /etc/skel.d/.claude/skills /etc/skel.d/.config/opencode/skills -type d -exec chmod 0755 {} \;
COPY file:3551afec307d9078ea1f59420f94b5a98ebe2576c99337e9648526ee33756386 in /etc/skel.d/.zshrc
/bin/sh -c SHELL=/bin/zsh HOME=/etc/skel.d wt config shell install -y
COPY file:25c1136b77e0efd4ce84894615a71c6662251fde6ecaf6f5760579c2efb162ca in /etc/skel.d/.bunfig.toml
/bin/sh -c chmod 0644 /etc/skel.d/.bunfig.toml
COPY file:f66c4f293c728605f944eeca1f3ff6fc40db5c81c6456717733c0e0e2cbe8c80 in /usr/local/bin/opencodecl
/bin/sh -c chmod 0755 /usr/local/bin/opencodecl
COPY file:1139f0e867dea563bda220dba89bb9db7a5d27bf2c9d99e68581567c3e3e02b4 in /etc/skel.d/.zshenv
COPY file:3a5cf51a681a76f6b66770631e5b149cd1b1d1877440c5b9a86eddd51d306241 in /etc/ssh/ssh_known_hosts
/bin/sh -c chmod 0644 /etc/ssh/ssh_known_hosts
COPY file:b133aaceedd7aece2a2e57a9a2492a23959f19ffb51a693f221183f2a333004f in /etc/skel.d/.config/starship.toml
/bin/sh -c install -d /etc/skel.d/.config && chmod 0644 /etc/skel.d/.config/starship.toml
COPY file:b759a8150eb638820a488abc117042ba2eff85a51bc84e7d92153fedcf2a3cd9 in /etc/skel.d/.tmux.conf
/bin/sh -c chmod 0644 /etc/skel.d/.tmux.conf
ENV TPM_COMMIT=99469c4a9b1ccf77fade25842dc7bafbc8ce9946
/bin/sh -c install -d /etc/skel.d/.tmux/plugins && git clone --quiet https://github.com/tmux-plugins/tpm /etc/skel.d/.tmux/plugins/tpm && git -C /etc/skel.d/.tmux/plugins/tpm checkout --quiet "${TPM_COMMIT}" && git clone --quiet https://github.com/tmux-plugins/tmux-sensible /etc/skel.d/.tmux/plugins/tmux-sensible && git clone --quiet https://github.com/tmux-plugins/tmux-resurrect /etc/skel.d/.tmux/plugins/tmux-resurrect && git clone --quiet https://github.com/tmux-plugins/tmux-continuum /etc/skel.d/.tmux/plugins/tmux-continuum && find /etc/skel.d/.tmux -name .git -type d -exec rm -rf {} +
/bin/sh -c /usr/local/bin/mise use -g herdr || /usr/local/bin/mise use -g github:ogulcancelik/herdr && install -m0755 "$(/usr/local/bin/mise which herdr)" /usr/local/bin/herdr && /usr/local/bin/herdr --version
/bin/sh -c set -eu; HERDR_SETUP=/tmp/herdr-setup; install -d "${HERDR_SETUP}/.config/opencode"; HOME="${HERDR_SETUP}" /usr/local/bin/herdr integration install opencode; install -d /etc/skel.d/.config/opencode/plugins; install -m 0644 "${HERDR_SETUP}/.config/opencode/plugins/herdr-agent-state.js" /etc/skel.d/.config/opencode/plugins/herdr-agent-state.js; rm -rf "${HERDR_SETUP}"
COPY file:a35ca230238ae7a373a382160a27039f1faa5e9fc939656a1731a2f951bb62cd in /usr/local/bin/devcontainer-entrypoint
COPY file:a6007cec6f3b60eb96fc75735683842a7ffc8c46b062e10accff93a91dba931d in /usr/local/bin/devcontainer-resync-tools
/bin/sh -c chmod 0755 /usr/local/bin/devcontainer-entrypoint /usr/local/bin/devcontainer-resync-tools && chown root:root /usr/local/bin/devcontainer-entrypoint /usr/local/bin/devcontainer-resync-tools
/bin/sh -c chmod 0755 /usr/local/bin/osc52-copy && ln -sf osc52-copy /usr/local/bin/xsel && ln -sf osc52-copy /usr/local/bin/xclip && ln -sf osc52-copy /usr/local/bin/wl-copy && ln -sf osc52-copy /usr/local/bin/wl-paste
ENV KITTYLITTER_VERSION=0.3.2
ENV KITTYLITTER_SHA256_AMD64=62c6268d878f2d21c16bdfc75fb71132d30e589255ddf868f7b8b60def2c8be6
ENV KITTYLITTER_SHA256_ARM64=3bd532ec79695887fe822098d11fa2d33628504d2c27bc9ea9912f6f88615f7b
/bin/sh -c set -eu; /opt/bun/bin/bun install -g kittylitter@${KITTYLITTER_VERSION} --ignore-scripts; arch="$(dpkg --print-architecture)"; case "${arch}" in amd64) target="x86_64-unknown-linux-gnu"; WANT_SHA="${KITTYLITTER_SHA256_AMD64}" ;; arm64) target="aarch64-unknown-linux-gnu"; WANT_SHA="${KITTYLITTER_SHA256_ARM64}" ;; *) echo "ERROR: unsupported arch '${arch}' for kittylitter" >&2; exit 1 ;; esac; curl -fsSL "https://github.com/dnakov/litter/releases/download/v${KITTYLITTER_VERSION}/kittylitter-${target}.tar.xz" -o /tmp/kittylitter.tar.xz; GOT_SHA="$(sha256sum /tmp/kittylitter.tar.xz | awk '{print $1}')"; if [ "${GOT_SHA}" != "${WANT_SHA}" ]; then echo "ERROR: kittylitter sha256 mismatch: got ${GOT_SHA} want ${WANT_SHA}" >&2; exit 1; fi; tar -xJf /tmp/kittylitter.tar.xz --strip-components=1 -C /usr/local/bin "kittylitter-${target}/kittylitter"; chmod 0755 /usr/local/bin/kittylitter; rm /tmp/kittylitter.tar.xz; /usr/local/bin/kittylitter --version 2>&1 | head -1 || true
COPY file:3822efece4e4e34bd5f41412384fee2139e87954b71ef321078d646665fe8197 in /usr/local/bin/opencodecl-serve
/bin/sh -c chmod 0755 /usr/local/bin/opencodecl-serve
/bin/sh -c install -d /usr/local/share/devcontainer
COPY file:5670004b3c4a63bb91594c66b731e3cbe854afb76c069aa8129153fded810d29 in /usr/local/share/devcontainer/host.toml.template
/bin/sh -c chmod 0644 /usr/local/share/devcontainer/host.toml.template
EXPOSE 22 7681
ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/devcontainer-entrypoint"]

Labels

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