diff --git a/spack.yaml b/spack.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..79a50ce88aaf27dc7191813bb7dc648cb8827455
--- /dev/null
+++ b/spack.yaml
@@ -0,0 +1,65 @@
+spack:
+  view: false
+  concretization: separately
+
+  # would need gcc@6:
+  #config:
+  #  concretizer: clingo
+
+  definitions:
+  - compiler-pkgs:
+    - 'gcc@10.3.0 os=centos7'
+  - pkgs:
+    # start ultra-simple...
+    #- libsigsegv
+    # start simple...
+    #- gawk
+    #- m4
+    # interesing but still quite plain software
+    #- nest +gsl
+    #- arbor
+    # BrainScaleS
+    - visionary-dls-core ^py-astroid@2.4.2 ^py-setuptools-scm+toml ^python@3.8.9
+  - compilers:
+    - '%gcc@10.3.0'
+#    - '%gcc@4.8.5'
+  - oses:
+    - os=centos7
+
+  specs:
+  - matrix:
+    - [$pkgs]
+    - [$compilers]
+    - [$oses]
+
+  mirrors:
+    #mirror: s3://spack-public/mirror
+    #cloud_gitlab: https://mirror.spack.io
+    local_something: /builds/emuller/brainscales-spack-test/local_mirror
+    # build_cache/ gets added
+    hacky_cache: https://brainscales-r.kip.uni-heidelberg.de:7443/nmpi/tmp
+
+  gitlab-ci:
+    bootstrap:
+      - name: compiler-pkgs
+        compiler-agnostic: true
+
+    mappings:
+      - match:
+        - os=centos7
+        runner-attributes:
+          tags:
+            - docker-runner
+          image: docker-registry.ebrains.eu/clb-jupyter-image/base
+    # needed as the spack command isn't globally available
+    before_script:
+      - git clone ${SPACK_REPO}
+      - pushd spack && git checkout ${SPACK_CHECKOUT_VERSION} && git log -n 1 && popd
+      - . "./spack/share/spack/setup-env.sh"
+    # for default (env activate + ci rebuild) remove it
+    script:
+      - env
+      - spack env activate --without-view .
+      - spack -d ci rebuild
+    enable-artifacts-buildcache: True
+    rebuild-index: False