diff --git a/containers/debian/base.Dockerfile b/containers/debian/base.Dockerfile
index 7f36424151636790841535971b9c40309e107ab6..d19f9a9994732184bf4c23de159e1fc264fea4e6 100644
--- a/containers/debian/base.Dockerfile
+++ b/containers/debian/base.Dockerfile
@@ -17,13 +17,13 @@ ENV CLICOLOR_FORCE=1                                                    \
 
 ## Install additional packages. Remove the auto-cleanup functionality
 ## for docker, as we're using the new buildkit cache instead.
-RUN --mount=type=cache,target=/var/cache/apt,sharing=locked             \
-    --mount=type=cache,target=/var/lib/apt/lists,sharing=locked         \
-    rm -f /etc/apt/apt.conf.d/docker-clean                              \
- && ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime          \
- && echo "US/Eastern" > /etc/timezone                                   \
- && apt-get -yqq update                                                 \
- && apt-get -yqq install --no-install-recommends                        \
+RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
+    --mount=type=cache,target=/var/lib/apt/lists,sharing=locked <<EOF
+rm -f /etc/apt/apt.conf.d/docker-clean
+ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
+echo "US/Eastern" > /etc/timezone
+apt-get -yqq update
+apt-get -yqq install --no-install-recommends                            \
         bc                                                              \
         bzip2                                                           \
         ca-certificates                                                 \
@@ -53,50 +53,40 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked             \
         time                                                            \
         unzip                                                           \
         vim-nox                                                         \
-        wget                                                            \
- && apt-get -yqq autoremove                                             \
- && localedef -i en_US -f UTF-8 en_US.UTF-8
+        wget
+apt-get -yqq autoremove
+localedef -i en_US -f UTF-8 en_US.UTF-8
+EOF
 
 # Install updated compilers, with support for multiple base images
 ## Ubuntu: latest gcc from toolchain ppa, latest stable clang
 ## Debian: default gcc with distribution, latest stable clang
-RUN --mount=type=cache,target=/var/cache/apt,sharing=locked             \
-    --mount=type=cache,target=/var/lib/apt/lists,sharing=locked         \
-    . /etc/os-release                                                   \
- && mkdir -p /etc/apt/source.list.d                                     \
- && if [ "${ID}" = "ubuntu" ] ; then                                    \
-      echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/ppa/ubuntu/ \
-            ${VERSION_CODENAME} main"                                   \
-      > /etc/apt/source.list.d/ubuntu-toolchain.list                    \
-   && if [ "${VERSION_ID}" = "20.04" ] ; then GCC="-10" CLANG="-12" ; fi\
-   && if [ "${VERSION_ID}" = "22.04" ] ; then GCC="-12" CLANG="-14" ; fi\
-   && curl -s https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -\
-   && echo "deb http://apt.llvm.org/${VERSION_CODENAME}                 \
-            llvm-toolchain-${VERSION_CODENAME}${CLANG} main"            \
-      > /etc/apt/source.list.d/llvm.list                                \
-   && apt-get -yqq update                                               \
-   && apt-get -yqq install                                              \
-          gcc${GCC} g++${GCC} gfortran${GCC}                            \
-   && apt-get -yqq install                                              \
-          clang${CLANG} clang-tidy${CLANG} clang-format${CLANG}         \
-          iwyu                                                          \
-   && update-alternatives --install /usr/bin/gcc gcc                    \
-                                    /usr/bin/gcc${GCC} 100              \
-   && update-alternatives --install /usr/bin/g++ g++                    \
-                                    /usr/bin/g++${GCC} 100              \
-   && update-alternatives --install /usr/bin/gfortran gfortran          \
-                                    /usr/bin/gfortran${GCC} 100         \
-   && update-alternatives --install /usr/bin/clang clang                \
-                                    /usr/bin/clang${CLANG} 100          \
-   && update-alternatives --install /usr/bin/clang++ clang++            \
-                                    /usr/bin/clang++${CLANG} 100        \
- ; else                                                                 \
-      apt-get -yqq update                                               \
-   && apt-get -yqq install                                              \
-          gcc g++ gfortran                                              \
-          clang clang-tidy clang-format                                 \
-          iwyu                                                          \
- ; fi                                                                   \
- && apt-get -yqq autoremove                                             \
- && gcc --version                                                       \
- && clang --version
+RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
+    --mount=type=cache,target=/var/lib/apt/lists,sharing=locked <<EOF
+. /etc/os-release
+mkdir -p /etc/apt/source.list.d
+if [ "${ID}" = "ubuntu" ] ; then
+  echo "deb http://ppa.launchpad.net/ubuntu-toolchain-r/ppa/ubuntu/${VERSION_CODENAME} main" > /etc/apt/source.list.d/ubuntu-toolchain.list
+  if [ "${VERSION_ID}" = "20.04" ] ; then GCC="-10" CLANG="-12" ; fi
+  if [ "${VERSION_ID}" = "22.04" ] ; then GCC="-12" CLANG="-14" ; fi
+  curl -s https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
+  echo "deb http://apt.llvm.org/${VERSION_CODENAME} llvm-toolchain-${VERSION_CODENAME}${CLANG} main" > /etc/apt/source.list.d/llvm.list
+  apt-get -yqq update
+  apt-get -yqq install gcc${GCC} g++${GCC} gfortran${GCC}
+  apt-get -yqq install clang${CLANG} clang-tidy${CLANG} clang-format${CLANG}
+  apt-get -yqq install iwyu
+  update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc${GCC} 100
+  update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++${GCC} 100
+  update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran${GCC} 100
+  update-alternatives --install /usr/bin/clang clang /usr/bin/clang${CLANG} 100
+  update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++${CLANG} 100
+else
+  apt-get -yqq update
+  apt-get -yqq install gcc g++ gfortran
+  apt-get -yqq install clang clang-tidy clang-format
+  apt-get -yqq install iwyu
+fi
+apt-get -yqq autoremove
+gcc --version
+clang --version
+EOF
diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile
index 649fbbd62a928100be099c4dbca1c67374b80276..2f4a13dac17883f21442374a7f84b5a8ef4a7bdb 100644
--- a/containers/jug/dev.Dockerfile
+++ b/containers/jug/dev.Dockerfile
@@ -12,15 +12,16 @@ ARG TARGETPLATFORM
 
 ## install some extra spack dependencies
 RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=${TARGETPLATFORM} \
-    --mount=type=cache,target=/var/lib/apt/lists,sharing=locked,id=${TARGETPLATFORM} \
-    rm -f /etc/apt/apt.conf.d/docker-clean                              \
- && apt-get -yqq update                                                 \
- && apt-get -yqq install --no-install-recommends                        \
+    --mount=type=cache,target=/var/lib/apt/lists,sharing=locked,id=${TARGETPLATFORM} <<EOF
+rm -f /etc/apt/apt.conf.d/docker-clean
+apt-get -yqq update
+apt-get -yqq install --no-install-recommends                            \
         python3                                                         \
         python3-dev                                                     \
         python3-distutils                                               \
         python3-boto3                                                   \
         python-is-python3
+EOF
 
 ## Setup spack
 ENV SPACK_ROOT=/opt/spack
@@ -28,66 +29,61 @@ ARG SPACK_ORGREPO="spack/spack"
 ARG SPACK_VERSION="releases/v0.20"
 ARG SPACK_CHERRYPICKS=""
 ADD https://api.github.com/repos/${SPACK_ORGREPO}/commits/${SPACK_VERSION} /tmp/spack.json
-RUN git clone --filter=tree:0 https://github.com/${SPACK_ORGREPO}.git ${SPACK_ROOT}     \
- && git -C ${SPACK_ROOT} checkout ${SPACK_VERSION}                      \
- && if [ -n "${SPACK_CHERRYPICKS}" ] ; then                             \
-      SPACK_CHERRYPICKS=$(                                              \
-        git -C ${SPACK_ROOT} rev-list --topo-order ${SPACK_CHERRYPICKS} \
-        | grep -m $(echo ${SPACK_CHERRYPICKS} | wc -w)                  \
-               "${SPACK_CHERRYPICKS}"                                   \
-        | tac                                                           \
-      ) ;                                                               \
-      git -C ${SPACK_ROOT} cherry-pick -n ${SPACK_CHERRYPICKS} ;        \
-    fi                                                                  \
- && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash                \
-          /usr/bin/docker-shell                                         \
- && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash                \
-          /usr/bin/interactive-shell                                    \
- && ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash                \
-          /usr/bin/spack-env
+RUN <<EOF
+git clone --filter=tree:0 https://github.com/${SPACK_ORGREPO}.git ${SPACK_ROOT}
+git -C ${SPACK_ROOT} checkout ${SPACK_VERSION}
+if [ -n "${SPACK_CHERRYPICKS}" ] ; then
+  SPACK_CHERRYPICKS=$(git -C ${SPACK_ROOT} rev-list --topo-order ${SPACK_CHERRYPICKS} | grep -m $(echo ${SPACK_CHERRYPICKS} | wc -w)  "${SPACK_CHERRYPICKS}" | tac)
+  git -C ${SPACK_ROOT} cherry-pick -n ${SPACK_CHERRYPICKS}
+fi
+ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash /usr/bin/docker-shell
+ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash /usr/bin/interactive-shell
+ln -s $SPACK_ROOT/share/spack/docker/entrypoint.bash /usr/bin/spack-env
+EOF
 
 SHELL ["docker-shell"]
 
 ## Setup build configuration
 ARG jobs=64
-RUN declare -A target=(                                                 \
-      ["linux/amd64"]="x86_64_v2"                                       \
-      ["linux/arm64"]="aarch64"                                         \
-    )                                                                   \
- && target=${target[${TARGETPLATFORM}]}                                 \
- && spack config --scope site add "packages:all:require:[target=${target}]" \
- && spack config --scope site add "packages:all:target:[${target}]"     \
- && spack config blame packages                                         \
- && spack config --scope user add "config:suppress_gpg_warnings:true"   \
- && spack config --scope user add "config:build_jobs:${jobs}"           \
- && spack config --scope user add "config:db_lock_timeout:${jobs}00"    \
- && spack config --scope user add "config:source_cache:/var/cache/spack" \
- && spack config --scope user add "config:install_tree:root:/opt/software" \
- && spack config --scope user add "config:ccache:true"                  \
- && spack config blame config                                           \
- && spack compiler find --scope site                                    \
- && spack config blame compilers
+RUN <<EOF
+declare -A target=(["linux/amd64"]="x86_64_v2" ["linux/arm64"]="aarch64")
+target=${target[${TARGETPLATFORM}]}
+spack config --scope site add "packages:all:require:[target=${target}]"
+spack config --scope site add "packages:all:target:[${target}]"
+spack config blame packages
+spack config --scope user add "config:suppress_gpg_warnings:true"
+spack config --scope user add "config:build_jobs:${jobs}"
+spack config --scope user add "config:db_lock_timeout:${jobs}00"
+spack config --scope user add "config:source_cache:/var/cache/spack"
+spack config --scope user add "config:install_tree:root:/opt/software"
+spack config --scope user add "config:ccache:true"
+spack config blame config
+spack compiler find --scope site
+spack config blame compilers
+EOF
 
 ## Setup local buildcache mirrors
-RUN --mount=type=cache,target=/var/cache/spack                          \
-    spack mirror add local /var/cache/spack/mirror/${SPACK_VERSION}     \
- && spack buildcache update-index local                                 \
- && spack mirror list
+RUN --mount=type=cache,target=/var/cache/spack <<EOF
+spack mirror add local /var/cache/spack/mirror/${SPACK_VERSION}
+spack buildcache update-index local
+spack mirror list
+EOF
 
 ## Setup eics3 buildcache mirrors
 ## - this always adds the read-only mirror to the container
 ## - the write-enabled mirror is provided later as a secret mount
 ARG S3_ACCESS_KEY=""
 ARG S3_SECRET_KEY=""
-RUN --mount=type=cache,target=/var/cache/spack                          \
-    if [ -n "${S3_ACCESS_KEY}" ] ; then                                 \
-    spack mirror add --scope site                                       \
+RUN --mount=type=cache,target=/var/cache/spack <<EOF
+if [ -n "${S3_ACCESS_KEY}" ] ; then
+  spack mirror add --scope site                                         \
       --s3-endpoint-url https://eics3.sdcc.bnl.gov:9000                 \
       --s3-access-key-id "${S3_ACCESS_KEY}"                             \
       --s3-access-key-secret "${S3_SECRET_KEY}"                         \
-      eics3 s3://eictest/EPIC/spack/${SPACK_VERSION}                    \
-    ; fi                                                                \
- && spack mirror list
+      eics3 s3://eictest/EPIC/spack/${SPACK_VERSION}
+fi
+spack mirror list
+EOF
 
 ## Setup eic-spack
 ENV EICSPACK_ROOT=${SPACK_ROOT}/var/spack/repos/eic-spack
@@ -95,21 +91,25 @@ ARG EICSPACK_ORGREPO="eic/eic-spack"
 ARG EICSPACK_VERSION="$SPACK_VERSION"
 ARG EICSPACK_CHERRYPICKS=""
 ADD https://api.github.com/repos/${EICSPACK_ORGREPO}/commits/${EICSPACK_VERSION} /tmp/eic-spack.json
-RUN git clone --filter=tree:0 https://github.com/${EICSPACK_ORGREPO}.git ${EICSPACK_ROOT} \
- && git -C ${EICSPACK_ROOT} checkout ${EICSPACK_VERSION}                \
- && if [ -n "${EICSPACK_CHERRYPICKS}" ] ; then                          \
-      git -C ${EICSPACK_ROOT} cherry-pick -n ${EICSPACK_CHERRYPICKS} ;  \
-    fi                                                                  \
- && spack repo add --scope site "${EICSPACK_ROOT}"
+RUN <<EOF
+git clone --filter=tree:0 https://github.com/${EICSPACK_ORGREPO}.git ${EICSPACK_ROOT}
+git -C ${EICSPACK_ROOT} checkout ${EICSPACK_VERSION}
+if [ -n "${EICSPACK_CHERRYPICKS}" ] ; then
+  git -C ${EICSPACK_ROOT} cherry-pick -n ${EICSPACK_CHERRYPICKS}
+fi
+spack repo add --scope site "${EICSPACK_ROOT}"
+EOF
 
 ## Setup key4hep-spack
 ENV KEY4HEPSPACK_ROOT=${SPACK_ROOT}/var/spack/repos/key4hep-spack
 ARG KEY4HEPSPACK_ORGREPO="key4hep/key4hep-spack"
 ARG KEY4HEPSPACK_VERSION="main"
 ADD https://api.github.com/repos/${KEY4HEPSPACK_ORGREPO}/commits/${KEY4HEPSPACK_VERSION} /tmp/key4hep-spack.json
-RUN git clone --filter=tree:0 https://github.com/${KEY4HEPSPACK_ORGREPO}.git ${KEY4HEPSPACK_ROOT} \
- && git -C ${KEY4HEPSPACK_ROOT} checkout ${KEY4HEPSPACK_VERSION}        \
- && spack repo add --scope site "${KEY4HEPSPACK_ROOT}"
+RUN <<EOF
+git clone --filter=tree:0 https://github.com/${KEY4HEPSPACK_ORGREPO}.git ${KEY4HEPSPACK_ROOT}
+git -C ${KEY4HEPSPACK_ROOT} checkout ${KEY4HEPSPACK_VERSION}
+spack repo add --scope site "${KEY4HEPSPACK_ROOT}"
+EOF
 
 ## ========================================================================================
 ## STAGE1: builder
@@ -128,25 +128,26 @@ ENV SPACK_ENV=/opt/spack-environment/${ENV}
 RUN --mount=type=cache,target=/ccache,id=${TARGETPLATFORM}              \
     --mount=type=cache,target=/var/cache/spack                          \
     --mount=type=secret,id=mirrors,target=/opt/spack/etc/spack/mirrors.yaml \
-    source $SPACK_ROOT/share/spack/setup-env.sh                         \
- && export CCACHE_DIR=/ccache                                           \
- && spack buildcache update-index local                                 \
- && spack buildcache update-index eics3rw                               \
- && spack env activate --dir ${SPACK_ENV}                               \
- && spack add juggler@git.${JUGGLER_VERSION}                            \
- && spack add eicrecon@git.${EICRECON_VERSION}                          \
- && make --jobs ${jobs} --keep-going --directory /opt/spack-environment \
-    SPACK_ENV=${SPACK_ENV}                                              \
-    BUILDCACHE_MIRROR="local eics3rw"                                   \
- && ccache --show-stats                                                 \
- && ccache --zero-stats
+    <<EOF
+source $SPACK_ROOT/share/spack/setup-env.sh
+export CCACHE_DIR=/ccache
+spack buildcache update-index local
+spack buildcache update-index eics3rw
+spack env activate --dir ${SPACK_ENV}
+spack add juggler@git.${JUGGLER_VERSION}
+spack add eicrecon@git.${EICRECON_VERSION}
+make --jobs ${jobs} --keep-going --directory /opt/spack-environment SPACK_ENV=${SPACK_ENV} BUILDCACHE_MIRROR="local eics3rw"
+ccache --show-stats
+ccache --zero-stats
+EOF
 
 ## Create view at /usr/local
-RUN --mount=type=cache,target=/var/cache/spack                          \
-    source $SPACK_ROOT/share/spack/setup-env.sh                         \
- && spack env activate --dir ${SPACK_ENV}                               \
- && rm -r /usr/local                                                    \
- && spack env view enable /usr/local
+RUN --mount=type=cache,target=/var/cache/spack <<EOF
+source $SPACK_ROOT/share/spack/setup-env.sh
+spack env activate --dir ${SPACK_ENV}
+rm -r /usr/local
+spack env view enable /usr/local
+EOF
 
 ## Optional, nuke the buildcache after install, before (re)caching
 ## This is useful when going to completely different containers,
@@ -156,10 +157,8 @@ RUN --mount=type=cache,target=/var/cache/spack,sharing=locked           \
     [ -z "${CACHE_NUKE}" ]                                              \
     || rm -rf /var/cache/spack/mirror/${SPACK_VERSION}/build_cache/*
 
-## Including some small fixes
-RUN echo "Grabbing environment info"                                    \
- && spack env activate --sh --dir ${SPACK_ENV}                          \
-    > /etc/profile.d/z10_spack_environment.sh
+## Store environment
+RUN spack env activate --sh --dir ${SPACK_ENV} > /etc/profile.d/z10_spack_environment.sh
 
 ## make sure we have the entrypoints setup correctly
 ENTRYPOINT []
@@ -182,15 +181,17 @@ RUN git -C $SPACK_ROOT gc --prune=all --aggressive
 ## See
 #https://askubuntu.com/questions/1034313/ubuntu-18-4-libqt5core-so-5-cannot-open-shared-object-file-no-such-file-or-dir
 ## and links therin for more info
-RUN if [ -f /usr/local/lib/libQt5Core.so ] ; then                       \
-      strip --remove-section=.note.ABI-tag /usr/local/lib/libQt5Core.so;\
-    fi
+RUN <<EOF
+if [ -f /usr/local/lib/libQt5Core.so ] ; then
+  strip --remove-section=.note.ABI-tag /usr/local/lib/libQt5Core.so
+fi
+EOF
 
-RUN spack debug report                                                  \
-      | sed "s/^/ - /" | sed "s/\* \*\*//" | sed "s/\*\*//"             \
-    >> /etc/jug_info                                                    \
- && spack find --no-groups --long --variants | sed "s/^/ - /" >> /etc/jug_info \
- && spack graph --dot --installed > /opt/spack-environment/env.dot
+RUN <<EOF
+spack debug report | sed "s/^/ - /" | sed "s/\* \*\*//" | sed "s/\*\*//" >> /etc/jug_info
+spack find --no-groups --long --variants | sed "s/^/ - /" >> /etc/jug_info
+spack graph --dot --installed > /opt/spack-environment/env.dot
+EOF
 
 
 COPY eic-shell /usr/local/bin/eic-shell
@@ -204,15 +205,14 @@ COPY singularity.d /.singularity.d
 ## Add minio client into /usr/local/bin
 ADD --chmod=0755 https://dl.min.io/client/mc/release/linux-amd64/mc /usr/local/bin/mc-amd64
 ADD --chmod=0755 https://dl.min.io/client/mc/release/linux-arm64/mc /usr/local/bin/mc-arm64
-RUN declare -A target=(                                                 \
-      ["linux/amd64"]="amd64"                                           \
-      ["linux/arm64"]="arm64"                                           \
-    )                                                                   \
- && mv /usr/local/bin/mc-${target[${TARGETPLATFORM}]} /usr/local/bin/mc \
- && unset target[${TARGETPLATFORM}]                                     \
- && for t in ${target[*]} ; do                                          \
-      rm /usr/local/bin/mc-${t} ;                                       \
-    done
+RUN <<EOF
+declare -A target=(["linux/amd64"]="amd64" ["linux/arm64"]="arm64")
+mv /usr/local/bin/mc-${target[${TARGETPLATFORM}]} /usr/local/bin/mc
+unset target[${TARGETPLATFORM}]
+for t in ${target[*]} ; do
+  rm /usr/local/bin/mc-${t}
+done
+EOF
 
 ## ========================================================================================
 ## STAGE 3
@@ -236,27 +236,33 @@ COPY --from=staging /etc/eic-env.sh /etc/eic-env.sh
 COPY --from=staging /.singularity.d /.singularity.d
 
 ## ensure /usr/local link is pointing to the right view
-RUN rm -rf /usr/local                                                   \
- && PREFIX_PATH=$(realpath $(ls /usr/._local/ | tail -n1))              \
- && echo "Found spack true prefix path to be $PREFIX_PATH"              \
- && ln -s /usr/._local/${PREFIX_PATH} /usr/local
+RUN <<EOF
+rm -rf /usr/local
+PREFIX_PATH=$(realpath $(ls /usr/._local/ | tail -n1))
+echo "Found spack true prefix path to be $PREFIX_PATH"
+ln -s /usr/._local/${PREFIX_PATH} /usr/local
+EOF
 
 ## set the local spack configuration
 ENV SPACK_DISABLE_LOCAL_CONFIG="true"
-RUN . /opt/spack/share/spack/setup-env.sh                               \
- && spack config --scope site add "config:install_tree:root:~/spack"    \
- && spack config --scope site add "config:source_cache:~/.spack/cache"  \
- && spack config --scope site add "config:binary_index_root:~/.spack"   \
- && spack config --scope site add "config:environments_root:~/.spack/env" \
- && spack config --scope site add "config:suppress_gpg_warnings:true"   \
- && spack config blame config                                           \
- && spack config --scope site add "upstreams:eic-shell:install_tree:/opt/software" \
- && spack config blame upstreams
+RUN <<EOF
+. /opt/spack/share/spack/setup-env.sh
+spack config --scope site add "config:install_tree:root:~/spack"
+spack config --scope site add "config:source_cache:~/.spack/cache"
+spack config --scope site add "config:binary_index_root:~/.spack"
+spack config --scope site add "config:environments_root:~/.spack/env"
+spack config --scope site add "config:suppress_gpg_warnings:true"
+spack config blame config
+spack config --scope site add "upstreams:eic-shell:install_tree:/opt/software"
+spack config blame upstreams
+EOF
 
 ## set the jug_dev version and add the afterburner
 ARG JUG_VERSION=1
-RUN echo "" >> /etc/jug_info                                            \
- && echo " - jug_dev: ${JUG_VERSION}" >> /etc/jug_info
+RUN <<EOF
+echo "" >> /etc/jug_info
+echo " - jug_dev: ${JUG_VERSION}" >> /etc/jug_info
+EOF
 
 ## eicweb shortcut
 ARG EICWEB="https://eicweb.phy.anl.gov/api/v4/projects"
@@ -271,25 +277,17 @@ ADD ${EICWEB}/458/repository/tree?ref=${BENCHMARK_COM_VERSION} /tmp/485.json
 ADD ${EICWEB}/399/repository/tree?ref=${BENCHMARK_DET_VERSION} /tmp/399.json
 ADD ${EICWEB}/408/repository/tree?ref=${BENCHMARK_REC_VERSION} /tmp/408.json 
 ADD ${EICWEB}/400/repository/tree?ref=${BENCHMARK_PHY_VERSION} /tmp/400.json
-RUN mkdir -p /opt/benchmarks                                                    \
- && cd /opt/benchmarks                                                          \
- && git clone -b ${BENCHMARK_COM_VERSION} --depth 1                             \
-        https://eicweb.phy.anl.gov/EIC/benchmarks/common_bench.git              \
- && mkdir -p /opt/benchmarks                                                    \
- && cd /opt/benchmarks                                                          \
- && git clone -b ${BENCHMARK_DET_VERSION} --depth 1                             \
-        https://eicweb.phy.anl.gov/EIC/benchmarks/detector_benchmarks.git       \
- && ln -sf ../common_bench detector_benchmarks/.local                           \
- && mkdir -p /opt/benchmarks                                                    \
- && cd /opt/benchmarks                                                          \
- && git clone -b ${BENCHMARK_REC_VERSION} --depth 1                             \
-        https://eicweb.phy.anl.gov/EIC/benchmarks/reconstruction_benchmarks.git \
- && ln -sf ../common_bench reconstruction_benchmarks/.local                     \
- && mkdir -p /opt/benchmarks                                                    \
- && cd /opt/benchmarks                                                          \
- && git clone -b ${BENCHMARK_PHY_VERSION} --depth 1                             \
-        https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks.git        \
- && ln -sf ../common_bench physics_benchmarks/.local
+RUN <<EOF
+mkdir -p /opt/benchmarks
+cd /opt/benchmarks
+git clone -b ${BENCHMARK_COM_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/benchmarks/common_bench.git
+git clone -b ${BENCHMARK_DET_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/benchmarks/detector_benchmarks.git
+ln -sf ../common_bench detector_benchmarks/.local
+git clone -b ${BENCHMARK_REC_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/benchmarks/reconstruction_benchmarks.git
+ln -sf ../common_bench reconstruction_benchmarks/.local
+git clone -b ${BENCHMARK_PHY_VERSION} --depth 1 https://eicweb.phy.anl.gov/EIC/benchmarks/physics_benchmarks.git
+ln -sf ../common_bench physics_benchmarks/.local
+EOF
 
 ## Install campaigns into the container
 ARG CAMPAIGNS_SINGLE_VERSION="main"
@@ -301,22 +299,14 @@ ADD https://api.github.com/repos/eic/simulation_campaign_single/commits/${CAMPAI
 ADD https://api.github.com/repos/eic/simulation_campaign_hepmc3/commits/${CAMPAIGNS_HEPMC3_VERSION} /tmp/simulation_campaign_hepmc3.json
 ADD https://api.github.com/repos/eic/job_submission_condor/commits/${CAMPAIGNS_CONDOR_VERSION} /tmp/job_submission_condor.json
 ADD https://api.github.com/repos/eic/job_submission_slurm/commits/${CAMPAIGNS_SLURM_VERSION} /tmp/job_submission_slurm.json
-RUN mkdir -p /opt/campaigns                                                     \
- && cd /opt/campaigns                                                           \
- && git clone -b ${CAMPAIGNS_SINGLE_VERSION} --depth 1                          \
-        https://github.com/eic/simulation_campaign_single.git single            \
- && mkdir -p /opt/campaigns                                                     \
- && cd /opt/campaigns                                                           \
- && git clone -b ${CAMPAIGNS_HEPMC3_VERSION} --depth 1                          \
-        https://github.com/eic/simulation_campaign_hepmc3.git hepmc3            \
- && mkdir -p /opt/campaigns                                                     \
- && cd /opt/campaigns                                                           \
- && git clone -b ${CAMPAIGNS_CONDOR_VERSION} --depth 1                          \
-        https://github.com/eic/job_submission_condor.git condor                 \
- && mkdir -p /opt/campaigns                                                     \
- && cd /opt/campaigns                                                           \
- && git clone -b ${CAMPAIGNS_SLURM_VERSION} --depth 1                           \
-        https://github.com/eic/job_submission_slurm.git slurm
+RUN <<EOF
+mkdir -p /opt/campaigns
+cd /opt/campaigns
+git clone -b ${CAMPAIGNS_SINGLE_VERSION} --depth 1 https://github.com/eic/simulation_campaign_single.git single
+git clone -b ${CAMPAIGNS_HEPMC3_VERSION} --depth 1 https://github.com/eic/simulation_campaign_hepmc3.git hepmc3
+git clone -b ${CAMPAIGNS_CONDOR_VERSION} --depth 1 https://github.com/eic/job_submission_condor.git condor
+git clone -b ${CAMPAIGNS_SLURM_VERSION} --depth 1 https://github.com/eic/job_submission_slurm.git slurm
+EOF
 
 ## make sure we have the entrypoints setup correctly
 ENTRYPOINT ["/usr/local/sbin/entrypoint.sh"]
@@ -327,8 +317,7 @@ SHELL ["/usr/local/bin/eic-shell"]
 
 ## eic-news
 COPY --chmod=0755 eic-news /usr/local/bin/eic-news
-RUN echo "test -f $HOME/.eic-news && source /usr/local/bin/eic-news"            \
-    > /etc/profile.d/z13_eic-news.sh 
+RUN echo "test -f $HOME/.eic-news && source /usr/local/bin/eic-news" > /etc/profile.d/z13_eic-news.sh 
 
 ## Hotfix for misbehaving OSG nodes
 RUN mkdir /hadoop
diff --git a/containers/jug/xl.Dockerfile b/containers/jug/xl.Dockerfile
index bbe6d3b8c8672aa99a5590ea6cf6d03c7c101a57..0ae17fb9318407f9aafacc2503491bda8d4eb356 100644
--- a/containers/jug/xl.Dockerfile
+++ b/containers/jug/xl.Dockerfile
@@ -17,8 +17,7 @@ ARG jobs=8
 ## the date
 ARG JUG_VERSION=1
 
-RUN cd /tmp                                                                     \
- && echo " - jug_xl: ${JUG_VERSION}" >> /etc/jug_info
+RUN echo " - jug_xl: ${JUG_VERSION}" >> /etc/jug_info
 
 ## also install detector/ip geometries into opt
 ARG NIGHTLY=''
@@ -31,11 +30,11 @@ ADD https://api.github.com/repos/eic/ip6 /tmp/ip6.json
 ADD https://api.github.com/repos/eic/epic /tmp/epic.json
 COPY setup_detectors.py /tmp
 COPY --from=detectors detectors.yaml /tmp
-RUN --mount=type=cache,target=/ccache/,sharing=locked,id=${TARGETPLATFORM}      \
-    cd /tmp                                                                     \
- && export CCACHE_DIR=/ccache                                                   \
- && [ "z$NIGHTLY" = "z1" ] && NIGHTLY_FLAG="--nightly" || NIGHTLY_FLAG=""       \
- && /tmp/setup_detectors.py --prefix /opt/detector --config /tmp/detectors.yaml \
-                         $NIGHTLY_FLAG                                          \
- && ccache --show-stats                                                         \
- && rm /tmp/setup_detectors.py
+RUN --mount=type=cache,target=/ccache/,sharing=locked,id=${TARGETPLATFORM} <<EOF
+cd /tmp
+export CCACHE_DIR=/ccache
+[ "z$NIGHTLY" = "z1" ] && NIGHTLY_FLAG="--nightly" || NIGHTLY_FLAG=""
+/tmp/setup_detectors.py --prefix /opt/detector --config /tmp/detectors.yaml $NIGHTLY_FLAG
+ccache --show-stats
+rm /tmp/setup_detectors.py
+EOF