diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e9a11c3f3f254357b41d43c9b5d5c1a8eb430bd6..24fda858041a367173bb197ef95683431ae589f1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -254,12 +254,8 @@ build-spack-env-on-runner:
     - git checkout -b ebrains_spack_commit a8d440d3ababcdec20d665ad938ab880cd9b9d17
     - cd ../
     - mkdir $TMP
+    - cp packages.yaml $SPACK_DEV_PATH/etc/spack/packages.yaml
     - |
-      cat <<EOF > $SPACK_DEV_PATH/etc/spack/packages.yaml
-      packages:
-        all:
-          target: [x86_64]
-      EOF
       cat <<EOF > $SPACK_DEV_PATH/etc/spack/defaults/upstreams.yaml
       upstreams:
         ebrains-gitlab-spack-instance:
@@ -284,7 +280,7 @@ build-spack-env-on-runner:
   timeout: 1 day
   artifacts:
     paths:
-      - .spack-tmp/spack/spack-stage
+      - .spack-tmp/root/spack-stage
     when: on_failure
 
 
@@ -309,11 +305,7 @@ sync-gitlab-spack-instance:
         cd $SPACK_PATH
         git checkout -b ebrains_spack_commit a8d440d3ababcdec20d665ad938ab880cd9b9d17
         cd ../
-        cat <<EOF > $SPACK_PATH/etc/spack/packages.yaml
-      packages:
-        all:
-          target: [x86_64]
-      EOF
+        cp $CI_PROJECT_DIR/packages.yaml $SPACK_PATH/etc/spack/packages.yaml
       fi
     - . $SPACK_PATH/share/spack/setup-env.sh
     # - spack bootstrap untrust github-actions
diff --git a/packages.yaml b/packages.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..96017412328b57843eb222ac1d8db60a51b2086e
--- /dev/null
+++ b/packages.yaml
@@ -0,0 +1,6 @@
+packages:
+    all:
+        target: [x86_64]
+        compiler: [gcc@10.3.0]
+    python:
+        version: [3.8.11]
diff --git a/packages/hxtorch/package.py b/packages/hxtorch/package.py
index 9c41c3890a6ef2e77eeaa674ef941024d15933e5..c1b2fff901e646c41505cc56347f328c70f17879 100644
--- a/packages/hxtorch/package.py
+++ b/packages/hxtorch/package.py
@@ -13,10 +13,10 @@ class Hxtorch(WafPackage):
     # This repo provides a waf binary used for the build below
     git      = "https://github.com/electronicvisions/pynn-brainscales.git"
 
-    version('3.0-a1', branch='waf')
+    version('4.0-a1', branch='waf')
 
     # PPU compiler dependencies
-    depends_on('oppulance@2.0:')
+    depends_on('oppulance@4.0:')
 
     # host software dependencies
     depends_on('bitsery', type=('build', 'link', 'run'))
diff --git a/packages/nest/package.py b/packages/nest/package.py
index 333cf7842ea77dfb324a2c0d77d371066b44c582..244535e2ed2ed3c74367e902f2baf6d49086b62c 100644
--- a/packages/nest/package.py
+++ b/packages/nest/package.py
@@ -185,3 +185,8 @@ class Nest(CMakePackage):
     # this should happen automatically for packages extending Python...
     def setup_run_environment(self, env):
         env.prepend_path('PYTHONPATH', self.prefix.lib64.join('python3.8/site-packages'))
+
+    def install_test(self):
+        # test inspired by py-numpy spack package
+        with working_dir('spack-test', create=True):
+            python('-c', 'from pprint import pprint; import nest; pprint(nest.get())')
diff --git a/packages/oppulance/package.py b/packages/oppulance/package.py
index ef48961d0fda077e6c28a25a37fb59d0169ae501..eb4a89bc3f86824ef4913387468e19fc8488c567 100644
--- a/packages/oppulance/package.py
+++ b/packages/oppulance/package.py
@@ -21,8 +21,8 @@ class Oppulance(Package):
 
     releases = [
         {
-            'version': '3.0-a1',
-            'tag': 'ebrains-3.0-a1'
+            'version': '4.0-a1',
+            'tag': 'ebrains-4.0-a1'
         },
     ]
 
diff --git a/packages/py-elephant/package.py b/packages/py-elephant/package.py
index 984b0a92b986bb2dc0a6d52412db4d72fef9503a..ded03723a95c7230903030e02165689b328119f0 100644
--- a/packages/py-elephant/package.py
+++ b/packages/py-elephant/package.py
@@ -17,6 +17,7 @@ class PyElephant(PythonPackage):
     # list of GitHub accounts to notify when the package is updated.
     maintainers = ['Moritz-Alexander-Kern']
 
+    version('0.11.2', sha256='f8759fff0bbb136ae4ffc8d1eacadeea8ba56610d705c3bf207de87ada3ba240')
     version('0.11.1', sha256='d604a202583440fdf9d95d42cef50a410bd74fcaaa1a925b139435f27ab012ef')
     version('0.11.0', sha256='7b547964dbd196361edc922db2c5a7c0c886ef1effcca6c6dc7adb06f966a3be')
     version('0.10.0', sha256='7e69a113475e4db01b3563328953c037d37f1597d9f2edf0d51fb65e9aebf096')
diff --git a/packages/py-snudda/package.py b/packages/py-snudda/package.py
index 9f741f99bf1d201e311c55c07450712d750a57f3..2a295fbb983a9a576d447c3bdc03f15ec4207aa1 100644
--- a/packages/py-snudda/package.py
+++ b/packages/py-snudda/package.py
@@ -7,7 +7,7 @@ class PySnudda(Package):
 
     maintainers = ['hjorth','akarmas']
     
-    version('1.2.9', 'f4ea2e70dc877e0c60d358229e9d3b74', expand=False)
+    version('1.3.1', '1460fb79ad7fc08097d5f729c4a72388', expand=False)
     
     depends_on('python@3.8:', type=('build','run'))
     depends_on('py-pip', type='build')
diff --git a/packages/pynn-brainscales/package.py b/packages/pynn-brainscales/package.py
index cc99a98d197e51a493cfc8e55b95939a8e1e9a11..8cf61c80a2ef938f561711141428fb1b8b19b72b 100644
--- a/packages/pynn-brainscales/package.py
+++ b/packages/pynn-brainscales/package.py
@@ -11,10 +11,10 @@ class PynnBrainscales(WafPackage):
     homepage = "https://github.com/electronicvisions/pynn-brainscales"
     git      = "https://github.com/electronicvisions/pynn-brainscales.git"
 
-    version('3.0-a1', branch='waf')
+    version('4.0-a1', branch='waf')
 
     # PPU compiler dependencies
-    depends_on('oppulance@2.0:')
+    depends_on('oppulance@4.0:')
 
     # host software dependencies
     depends_on('bitsery', type=('build', 'link', 'run'))
diff --git a/spack.yaml b/spack.yaml
index c7ee3647924adce9fa1a7bfdd3c7a7e856c5b01b..aff6de997ff8c46976385a6dd362776aa2e1de6e 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -30,8 +30,8 @@ spack:
     - py-pyaescrypt
     - py-formencode
     - tvb-framework ^binutils+ld+gold
-    - pynn-brainscales@3.0-a1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
-    - hxtorch@3.0-a1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
+    - pynn-brainscales@4.0-a1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
+    - hxtorch@4.0-a1 ^log4cxx@0.10.0 ^googletest@1.11.0:+gmock
     - py-neo
     - py-hdmf
     - py-pynwb
@@ -60,7 +60,7 @@ spack:
     - py-lfpy@2.2.6
     - py-elephant
     - py-frites
-    #- py-snudda
+    - py-snudda
     - biobb-common
     - biobb-gromacs
     - apbs
@@ -69,8 +69,3 @@ spack:
     # demo for codejam12
     #- funniest1022
   concretization: together
-  packages:
-    all:
-      compiler: [gcc@10.3.0]
-    python:
-      version: [3.8.11]