diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile
index b50c89d407a025b30f68f6a6be5991cf1ba35b09..be3894801ff0564828a20a876596b58aa11a7b36 100755
--- a/.ci/Jenkinsfile
+++ b/.ci/Jenkinsfile
@@ -36,6 +36,7 @@ pipeline {
 			environment {
 				DOCKER_BASE_IMAGE = "debian:bullseye"
 				DEPENDENCY_PYTHON = "python@3.8.2"
+				YASHCHIKI_CACHES_ROOT = "${HOME}"
 				YASHCHIKI_SPACK_PATH = "${env.WORKSPACE}/spack"
 				YASHCHIKI_IMAGE_NAME = "singularity_visionary_temp.img"
 				YASHCHIKI_SANDBOXES = "sandboxes"
diff --git a/.ci/Jenkinsfile_asic b/.ci/Jenkinsfile_asic
index d1f254377d1044e5b11e19c71bf7912142ec6239..8ad25a5c854e74bd408c776a77fe4285c355aac4 100755
--- a/.ci/Jenkinsfile_asic
+++ b/.ci/Jenkinsfile_asic
@@ -38,6 +38,7 @@ pipeline {
 				DOCKER_BASE_IMAGE = "centos:7"
 				// versions from system packages
 				DEPENDENCY_PYTHON = "python@3.8.3"
+				YASHCHIKI_CACHES_ROOT = "${HOME}"
 				YASHCHIKI_SPACK_PATH = "${env.WORKSPACE}/spack"
 				YASHCHIKI_IMAGE_NAME = "singularity_asic_temp.img"
 				YASHCHIKI_SANDBOXES = "sandboxes"
diff --git a/.ci/commons.sh b/.ci/commons.sh
index 49cd13c078b4346cae009ad70f5a207a0036e012..03b52dda711a4f405de7aa23c97840d0b984dd4a 100755
--- a/.ci/commons.sh
+++ b/.ci/commons.sh
@@ -98,8 +98,8 @@ export BUILD_CACHE_NAME
 # should be maintained inside the container!
 # --obreitwi, 17-06-20 12:53:20
 
-BASE_BUILD_CACHE_OUTSIDE="$(get_host_env HOME)/build_caches"
-BASE_BUILD_CACHE_FAILED_OUTSIDE="$(get_host_env HOME)/build_caches/failed"
+BASE_BUILD_CACHE_OUTSIDE="$(get_host_env YASHCHIKI_CACHES_ROOT)/build_caches"
+BASE_BUILD_CACHE_FAILED_OUTSIDE="$(get_host_env YASHCHIKI_CACHES_ROOT)/build_caches/failed"
 BUILD_CACHE_OUTSIDE="${BASE_BUILD_CACHE_OUTSIDE}/${BUILD_CACHE_NAME}"
 export BASE_BUILD_CACHE_OUTSIDE
 export BASE_BUILD_CACHE_FAILED_OUTSIDE
@@ -112,11 +112,11 @@ export BASE_BUILD_CACHE_INSIDE
 export BUILD_CACHE_INSIDE
 export BUILD_CACHE_LOCK
 
-SOURCE_CACHE_DIR="$(get_host_env HOME)/download_cache"
+SOURCE_CACHE_DIR="$(get_host_env YASHCHIKI_CACHES_ROOT)/download_cache"
 export SOURCE_CACHE_DIR
 
 PRESERVED_PACKAGES_INSIDE="/opt/preserved_packages"
-PRESERVED_PACKAGES_OUTSIDE="$(get_host_env HOME)/preserved_packages"
+PRESERVED_PACKAGES_OUTSIDE="$(get_host_env YASHCHIKI_CACHES_ROOT)/preserved_packages"
 export PRESERVED_PACKAGES_INSIDE
 export PRESERVED_PACKAGES_OUTSIDE
 
diff --git a/.ci/fetch.sh b/.ci/fetch.sh
index 5e9c6ca5ff80857f81ad18fb8fa2c62046063d5b..a8e725be500d243045539ca0b1b55676d7e655ac 100755
--- a/.ci/fetch.sh
+++ b/.ci/fetch.sh
@@ -7,8 +7,6 @@ SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")"
 source "${SOURCE_DIR}/commons.sh"
 
 # hard-link source cache into spack folder to avoid duplication.
-# https://github.com/spack/spack/pull/12940 introduced a new format for the
-# cache, so we switch from $HOME/download_cache to $HOME/source_cache
 mkdir -p "${YASHCHIKI_SPACK_PATH}/var/spack/cache/"
 find "${SOURCE_CACHE_DIR}" -mindepth 1 -maxdepth 1 -print0 \
     | xargs -r -n 1 "-I{}" -0 cp -vrl '{}' "${YASHCHIKI_SPACK_PATH}/var/spack/cache/"
diff --git a/.ci/visionary_create_recipe.sh b/.ci/visionary_create_recipe.sh
index 9e7f6233919749c11ef8c61cd29cc2353168ba50..b7e9f6a35908197a7f79bb65e882eb1f43d4a0ab 100755
--- a/.ci/visionary_create_recipe.sh
+++ b/.ci/visionary_create_recipe.sh
@@ -23,7 +23,7 @@ From: ${DOCKER_BASE_IMAGE}
     mount --no-mtab --bind "${YASHCHIKI_SPACK_PATH}" "\${SINGULARITY_ROOTFS}/opt/spack"
     # bind-mount ccache
     mkdir \${SINGULARITY_ROOTFS}/opt/ccache
-    mount --no-mtab --bind "${HOME}/spack_ccache" "\${SINGULARITY_ROOTFS}/opt/ccache"
+    mount --no-mtab --bind "${YASHCHIKI_CACHES_ROOT}/spack_ccache" "\${SINGULARITY_ROOTFS}/opt/ccache"
     # bind-mount build_cache
     mkdir -p "\${SINGULARITY_ROOTFS}${BUILD_CACHE_INSIDE}"
     # create buildcache directory if it does not exist