diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 59ec4499dc5e23da91f12fd6a09edb1eec14c932..e4fab984b2607b7b391169d9953defc8df24e5e5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -242,7 +242,7 @@ sync-gitlab-spack-instance:
     - read-write
   image: $GITLAB_BUILD_ENV_DOCKER_IMAGE
   variables:
-    SPACK_NFS_ENV: ebrains-runner-build
+    SPACK_NFS_ENV: $CI_COMMIT_BRANCH
     SPACK_PATH: $SPACK_PATH_GITLAB
     SPACK_USER_CACHE_PATH: $SPACK_PATH/spack/.spack
     SPACK_USER_CONFIG_PATH: $SPACK_PATH/spack/.spack
@@ -283,6 +283,9 @@ sync-gitlab-spack-instance:
     - spack env activate $SPACK_NFS_ENV
     - spack install -y -j2 --fresh --test root
     - spack reindex
+    # create kernel spec, so that the environment can be used in gitlab CI jobs
+    - RELEASE_NAME=$(case $CI_COMMIT_BRANCH in experimental_rel) echo ebrains-experimental;; ebrains*) echo ${CI_COMMIT_BRANCH:0:10}.${CI_COMMIT_BRANCH:11};; *) echo $CI_COMMIT_BRANCH;; esac);
+    - . create_JupyterLab_kernel.sh $SPACK_PATH_GITLAB $SPACK_NFS_ENV $RELEASE_NAME /mnt/ebrains_env
   after_script:
     - mkdir spack_logs
     - |
@@ -305,5 +308,5 @@ sync-gitlab-spack-instance:
       - spack_logs
     when: always
   rules:
-    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH && $CI_PROJECT_NAMESPACE =~ /technical-coordination/
+    - if: ($CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH == "experimental_rel" || $CI_COMMIT_BRANCH =~ /^ebrains/) && $CI_PROJECT_NAMESPACE =~ /technical-coordination/
       when: manual
diff --git a/create_JupyterLab_kernel.sh b/create_JupyterLab_kernel.sh
index 4961eaa4f5aa4cedd0d2364aed4382a052e3c035..1b50b11b02619e7a7d590075e2511a984c575083 100644
--- a/create_JupyterLab_kernel.sh
+++ b/create_JupyterLab_kernel.sh
@@ -28,6 +28,8 @@ EOF
 
 # (2) append the necessary env variables for spack env and tools
 cat $INSTALLATION_ROOT/spack/var/spack/environments/$EBRAINS_SPACK_ENV/load_env.sh >> $KERNEL_PATH/bin/env.sh
+# also copy the script so that it can be used independently:
+cp $INSTALLATION_ROOT/spack/var/spack/environments/$EBRAINS_SPACK_ENV/load_env.sh $KERNEL_PATH/bin/
 
 # (3) also add the user's .local locations to allow package installation at runtime,
 # and the location of python modules installed in the base docker Collab image
diff --git a/packages/biobb-analysis/package.py b/packages/biobb-analysis/package.py
index bc47a809d5f135e96c286018061403feb846daa4..f67ab8af6a80a6871d94b8a477ba74b3abff1d4c 100644
--- a/packages/biobb-analysis/package.py
+++ b/packages/biobb-analysis/package.py
@@ -7,12 +7,14 @@ class BiobbAnalysis(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_analysis"
     git = 'https://github.com/bioexcel/biobb_analysis.git'
+    url = 'https://github.com/bioexcel/biobb_analysis/archive/refs/tags/v4.0.1.tar.gz'
 
     # Set the gitlab accounts of this package maintainers
     maintainers = ['dbeltran']
 
     # Versions
-    version('4.0.1', branch='master')
+    version('master', branch='master')
+    version('4.0.1', sha256='3d7190d0cae6af42b2e7c0ecf073930a609b699ef311e8b74afc1634958e09b0')
 
     # Dependencies
     depends_on('python@3.8:', type=('build', 'run'))
diff --git a/packages/biobb-chemistry/package.py b/packages/biobb-chemistry/package.py
index 47286633d74b9cf036141a1963d49b2e346215d7..13a412de3751d649a0fa7b941e7e4756468b7818 100644
--- a/packages/biobb-chemistry/package.py
+++ b/packages/biobb-chemistry/package.py
@@ -7,12 +7,14 @@ class BiobbChemistry(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_chemistry"
     git = 'https://github.com/bioexcel/biobb_chemistry.git'
+    url = 'https://github.com/bioexcel/biobb_chemistry/archive/refs/tags/v4.0.0.tar.gz'
 
     # Set the gitlab accounts of this package maintainers
     maintainers = ['dbeltran']
 
     # Versions
-    version('4.0.0', branch='master')
+    version('master', branch='master')
+    version('4.0.0', sha256='40f65b4a93dff24e19995265e41fd6821f5ac2f35199d938f1d00fa035883e64')
 
     # Dependencies
     depends_on('python@3.8:', type=('build', 'run'))
diff --git a/packages/biobb-common/package.py b/packages/biobb-common/package.py
index 10e8cc1965177b637c38fa11ca325d6bed38ee13..ae3ffc96dc544716100cdbe7fc544f4b55471768 100644
--- a/packages/biobb-common/package.py
+++ b/packages/biobb-common/package.py
@@ -6,12 +6,14 @@ class BiobbCommon(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_common"
     git = 'https://github.com/bioexcel/biobb_common.git'
+    url = 'https://github.com/bioexcel/biobb_common/archive/refs/tags/v4.0.0.tar.gz'
 
     # Set the gitlab accounts of this package maintainers
     maintainers = ['dbeltran']
 
     # Versions
-    version('4.0.0', branch='master')
+    version('master', branch='master')
+    version('4.0.0', sha256='fff990dce42ded2af3d587567dbf5321b1498f12f24d04d62003f9869d6eb8fe')
 
     # Dependencies
     depends_on('py-setuptools')
diff --git a/packages/biobb-gromacs/package.py b/packages/biobb-gromacs/package.py
index a682254412421657c5fe39adebd7412cdadf7245..df73ead5f4a41bdb2f5804e4221303b859ab01ce 100644
--- a/packages/biobb-gromacs/package.py
+++ b/packages/biobb-gromacs/package.py
@@ -7,9 +7,11 @@ class BiobbGromacs(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_gromacs"
     git = 'https://github.com/bioexcel/biobb_gromacs.git'
+    url = 'https://github.com/bioexcel/biobb_gromacs/archive/refs/tags/v4.0.0.tar.gz'
 
     # Versions
-    version('4.0.0', branch='master')
+    version('master', branch='master')
+    version('4.0.0', sha256='87f9079ec8b72ff43cd1b388a06fee5b1f64bb4080ffab110941f3c6d155ef0b')
 
     # Dependencies
     depends_on('python@3.8:', type=('build', 'run'))
@@ -18,7 +20,7 @@ class BiobbGromacs(PythonPackage):
 
     # Patching to enable python 3.10 (not official, might not be stable)
     def patch(self):
-        filter_file("    python_requires='>=3.7,<3.10',", "    python_requires='>=3.7,<3.11',", "setup.py")
+        filter_file("    python_requires='>=3.7,<=3.10',", "    python_requires='>=3.7,<3.11',", "setup.py")
 
     # Test
     @run_after('install')
diff --git a/packages/biobb-io/package.py b/packages/biobb-io/package.py
index 6d8e4b07d0f236bfdc74e5b0d331edf2994bd219..9db963fe644627012869b87a58ea6330e94c21a4 100644
--- a/packages/biobb-io/package.py
+++ b/packages/biobb-io/package.py
@@ -7,9 +7,11 @@ class BiobbIo(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_io"
     git = 'https://github.com/bioexcel/biobb_io.git'
+    url = 'https://github.com/bioexcel/biobb_io/archive/refs/tags/v4.0.0.tar.gz'
 
     # Versions
-    version('4.0.0', branch='master')
+    version('master', branch='master')
+    version('4.0.0', sha256='600a30f14b1a0e21f57775ba1be695e1595f5702237415fe90d7c531b5a0408a')
 
     # Dependencies
     depends_on('biobb-common')
diff --git a/packages/biobb-model/package.py b/packages/biobb-model/package.py
index 012732d6ec89cd4c598f774852d6746054854be3..fe0596149829a5f310d4bcddd5168b7bfbc0fb0e 100644
--- a/packages/biobb-model/package.py
+++ b/packages/biobb-model/package.py
@@ -7,9 +7,11 @@ class BiobbModel(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_model"
     git = 'https://github.com/bioexcel/biobb_model.git'
+    url = 'https://github.com/bioexcel/biobb_model/archive/refs/tags/v4.0.0.tar.gz'
 
     # Versions
-    version('4.0.0', branch='master')
+    version('master', branch='master')
+    version('4.0.0', sha256='92387725b7ccd3f40d18c1d3e30a6169ca4204ba498ac72e25c9e701b1a89d91')
 
     # Dependencies
     depends_on('python@3.8:', type=('build', 'run'))
@@ -18,7 +20,7 @@ class BiobbModel(PythonPackage):
 
     # Patching to enable python 3.10 (not official, might not be stable)
     def patch(self):
-        filter_file("    python_requires='>=3.7,<3.10',", "    python_requires='>=3.7,<3.11',", "setup.py")
+        filter_file("    python_requires='>=3.7,<=3.10',", "    python_requires='>=3.7,<3.11',", "setup.py")
         filter_file(
             "'Programming Language :: Python :: 3.9'",
             "'Programming Language :: Python :: 3.9',\r\n        "
diff --git a/packages/biobb-structure-checking/package.py b/packages/biobb-structure-checking/package.py
index ab0862579ff1d1ba03c3207a649eb58a99037edb..2daf9757af7d5e3e3ef296a83761b22761497684 100644
--- a/packages/biobb-structure-checking/package.py
+++ b/packages/biobb-structure-checking/package.py
@@ -8,9 +8,11 @@ class BiobbStructureChecking(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_structure_checking"
     git = 'https://github.com/bioexcel/biobb_structure_checking.git'
+    url = 'https://github.com/bioexcel/biobb_structure_checking/archive/refs/tags/v3.12.1.tar.gz'
 
     # Versions
-    version('3.12.1', branch='master')
+    version('master', branch='master')
+    version('3.12.1', sha256='ef3e6fe5f7763e534c91fac00bf873c3d88bcca18be7a63c63608dceb36f3d40')
 
     # Dependencies
     depends_on('py-setuptools')
diff --git a/packages/biobb-structure-utils/package.py b/packages/biobb-structure-utils/package.py
index 9987467d22d8ce62e65d183a09e36827e85b0c5a..529a043d629a0888f920e0ff67f5df34930bfd6e 100644
--- a/packages/biobb-structure-utils/package.py
+++ b/packages/biobb-structure-utils/package.py
@@ -7,9 +7,11 @@ class BiobbStructureUtils(PythonPackage):
     # Homepage and download url
     homepage = "https://github.com/bioexcel/biobb_structure_utils"
     git = 'https://github.com/bioexcel/biobb_structure_utils.git'
+    url = 'https://github.com/bioexcel/biobb_structure_utils/archive/refs/tags/v4.0.0.tar.gz'
 
     # Versions
-    version('4.0.0', branch='master')
+    version('master', branch='master')
+    version('4.0.0', sha256='f328eee2166631e1cc514118eb41187620c358c8024431ce2a0b0e4547692c47')
 
     # Dependencies
     depends_on('python@3.8:', type=('build', 'run'))
@@ -18,7 +20,7 @@ class BiobbStructureUtils(PythonPackage):
 
     # Patching to enable python 3.10 (not official, might not be stable)
     def patch(self):
-        filter_file("    python_requires='>=3.7,<3.10',", "    python_requires='>=3.7,<3.11',", "setup.py")
+        filter_file("    python_requires='>=3.7,<=3.10',", "    python_requires='>=3.7,<3.11',", "setup.py")
         filter_file(
             "'Programming Language :: Python :: 3.9'",
             "'Programming Language :: Python :: 3.9',\r\n        "