diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml
index 954ba5dd1e6409cf235d0e9cd5278bbe84231464..2c8d215d9c0e1109fe3a70b8bf7482b902126e28 100644
--- a/.github/workflows/build-push.yml
+++ b/.github/workflows/build-push.yml
@@ -135,13 +135,18 @@ jobs:
           echo "version=${SPACK_VERSION}" | tee -a $GITHUB_OUTPUT
           echo "cherrypicks=${SPACK_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT
           echo "cherrypicks_files=${SPACK_CHERRYPICKS_FILES//$'\n'/ }" | tee -a $GITHUB_OUTPUT
-      - name: Load eic-spack version and cherry-picks
+      - name: Load key4hep-spack version
+        id: key4hep-spack
+        run: |
+          source key4hep-spack.sh
+          echo "orgrepo=${KEY4HEPSPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT
+          echo "version=${KEY4HEPSPACK_VERSION}" | tee -a $GITHUB_OUTPUT
+      - name: Load eic-spack version
         id: eic-spack
         run: |
           source eic-spack.sh
           echo "orgrepo=${EICSPACK_ORGREPO}" | tee -a $GITHUB_OUTPUT
           echo "version=${EICSPACK_VERSION}" | tee -a $GITHUB_OUTPUT
-          echo "cherrypicks=${EICSPACK_CHERRYPICKS//$'\n'/ }" | tee -a $GITHUB_OUTPUT
       - name: Load secrets into mirrors.yaml
         id: mirrors
         run: |
@@ -210,9 +215,12 @@ jobs:
             SPACK_VERSION=${{ steps.spack.outputs.version }}
             SPACK_CHERRYPICKS=${{ steps.spack.outputs.cherrypicks }}
             SPACK_CHERRYPICKS_FILES=${{ steps.spack.outputs.cherrypicks_files }}
+            KEY4HEPSPACK_ORGREPO=${{ steps.eic-spack.outputs.orgrepo }}
+            KEY4HEPSPACK_VERSION=${{ steps.eic-spack.outputs.version }}
             EICSPACK_ORGREPO=${{ steps.eic-spack.outputs.orgrepo }}
             EICSPACK_VERSION=${{ steps.eic-spack.outputs.version }}
-            EICSPACK_CHERRYPICKS=${{ steps.eic-spack.outputs.cherrypicks }}
+            KEY4HEPSPACK_ORGREPO=${{ steps.key4hep-spack.outputs.orgrepo }}
+            KEY4HEPSPACK_VERSION=${{ steps.key4hep-spack.outputs.version }}
             S3_ACCESS_KEY=${{ secrets.S3_ACCESS_KEY }}
             S3_SECRET_KEY=${{ secrets.S3_SECRET_KEY }}
             jobs=${{ env.JOBS }}
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1f064cab0e7e3f334963c1d712f15924abc98127..f29f384e54d185007eb561b705b87887443e8136 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -312,6 +312,7 @@ jug_dev:
     - if [ "${BUILD_TYPE}" == "default" ] ; then IF_BUILD_DEFAULT=1 ; fi
     - apk add envsubst git
     - source spack.sh ; 
+      source key4hep-spack.sh ;
       source eic-spack.sh ;
       export SPACK_VERSION ;
       cat mirrors.yaml.in | envsubst > mirrors.yaml
@@ -358,9 +359,10 @@ jug_dev:
                    --build-arg SPACK_VERSION=${SPACK_VERSION}
                    --build-arg SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS}"
                    --build-arg SPACK_CHERRYPICKS_FILES="${SPACK_CHERRYPICKS_FILES}"
+                   --build-arg KEY4HEPSPACK_ORGREPO=${KEY4HEPSPACK_ORGREPO}
+                   --build-arg KEY4HEPSPACK_VERSION=${KEY4HEPSPACK_VERSION}
                    --build-arg EICSPACK_ORGREPO=${EICSPACK_ORGREPO}
                    --build-arg EICSPACK_VERSION=${EICSPACK_VERSION}
-                   --build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}"
                    --build-arg S3_ACCESS_KEY=${S3_ACCESS_KEY}
                    --build-arg S3_SECRET_KEY=${S3_SECRET_KEY}
                    --build-arg JUG_VERSION=${EXPORT_TAG}-${BUILD_TYPE}-$(git rev-parse HEAD)
diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile
index e6f1b2612681786192ca68bb0021f13e0f5cf9e7..222a40d08162e7fc392f226dd478b38051081ea6 100644
--- a/containers/jug/dev.Dockerfile
+++ b/containers/jug/dev.Dockerfile
@@ -106,15 +106,11 @@ EOF
 ENV EICSPACK_ROOT=${SPACK_ROOT}/var/spack/repos/eic-spack
 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 <<EOF
 set -e
 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
 
diff --git a/eic-spack.sh b/eic-spack.sh
index b46d33c9b8e43ec6561c0deaf6d2b08e9d4a7b8f..02b36574aec81c990af3b0734012167c2e175657 100644
--- a/eic-spack.sh
+++ b/eic-spack.sh
@@ -4,10 +4,3 @@ EICSPACK_ORGREPO="eic/eic-spack"
 ## EIC spack commit hash or github version, e.g. v0.19.7
 ## note: nightly builds could use a branch e.g. releases/v0.19
 EICSPACK_VERSION="157326983623a834661bc4bdbb9061bd256f8d1b"
-
-## Space-separated list of eic-spack cherry-picks
-read -r -d '' EICSPACK_CHERRYPICKS <<- \
---- || true
----
-## Ref: https://github.com/eic/eic-spack/commit/[hash]
-## [hash]: [description]
diff --git a/key4hep-spack.sh b/key4hep-spack.sh
new file mode 100644
index 0000000000000000000000000000000000000000..90f2a1a31127327c3e69a795958471457964a5e8
--- /dev/null
+++ b/key4hep-spack.sh
@@ -0,0 +1,6 @@
+## Key4HEP spack organization and repository, e.g. key4hep/key4hep-spack
+KEY4HEPSPACK_ORGREPO="key4hep/key4hep-spack"
+
+## Key4HEP spack commit hash or github version, e.g. v0.19.7
+## note: nightly builds could use a branch e.g. releases/v0.19
+KEY4HEPSPACK_VERSION="ce50d74dba7c665157cbef63cd5c9cc4d7758f72"