Install dotslash and difftastic from pre-built binaries
Ranger has no binary releases, so it stays as cargo install.
Assisted-by: Claude Opus 4.6 via pi
diff --git a/assets/Dockerfile b/assets/Dockerfile
index e883bfb..d499662 100644
--- a/assets/Dockerfile
+++ b/assets/Dockerfile
@@ -14,6 +14,24 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& ln -sf /usr/bin/fdfind /usr/bin/fd
+ARG DOTSLASH_VERSION=0.5.8
+RUN case "${TARGETARCH}" in \
+ amd64) DS_ARCH="x86_64" ;; \
+ arm64) DS_ARCH="aarch64" ;; \
+ *) echo "unsupported architecture: ${TARGETARCH}" && exit 1 ;; \
+ esac && \
+ curl -fsSL "https://github.com/facebook/dotslash/releases/download/v${DOTSLASH_VERSION}/dotslash-linux-musl.${DS_ARCH}.tar.gz" \
+ | tar xz -C /usr/local/bin dotslash
+
+ARG DIFFTASTIC_VERSION=0.68.0
+RUN case "${TARGETARCH}" in \
+ amd64) DFT_TARGET="x86_64-unknown-linux-musl" ;; \
+ arm64) DFT_TARGET="aarch64-unknown-linux-gnu" ;; \
+ *) echo "unsupported architecture: ${TARGETARCH}" && exit 1 ;; \
+ esac && \
+ curl -fsSL "https://github.com/Wilfred/difftastic/releases/download/${DIFFTASTIC_VERSION}/difft-${DFT_TARGET}.tar.gz" \
+ | tar xz -C /usr/local/bin difft
+
ARG JJ_VERSION=0.39.0
RUN case "${TARGETARCH}" in \
amd64) JJ_ARCH="x86_64" ;; \
@@ -27,7 +45,6 @@ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --de
ENV PATH="/root/.cargo/bin:${PATH}"
RUN cargo install --git https://github.com/kejadlen/ranger.git --locked
-RUN cargo install difftastic --locked
RUN jj config set --user user.name "ramekin" && \
jj config set --user user.email "ramekin@example.com"