diff --git a/.gitignore b/.gitignore
index 8d35cb3277ff6eb0d637147c09e95934604a431c..9266bb6183571e66a620d16be1f7a07ce3efe499 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,6 @@
 __pycache__
 *.pyc
+*.err
+*.out
+.spack-env/
+spack.lock
diff --git a/site-config/.gitignore b/site-config/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..e70257b10ce35d1ce8d671b948acd385dc617a00
--- /dev/null
+++ b/site-config/.gitignore
@@ -0,0 +1,7 @@
+# exclude all files to allow sites to add own configs
+*/
+
+# un-exclude the configs tracked in this repository
+!g100
+!jurecadc
+!jusuf
diff --git a/site-config/README.md b/site-config/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..46d8ae711839c00cb905c5b70ecc627ccb06bfac
--- /dev/null
+++ b/site-config/README.md
@@ -0,0 +1,21 @@
+# Site specific config for Spack
+
+Usually the machine name is available in an environment variable like
+`$SYSTEMNAME`, `$HPC_SYSTEM` or equivalent to load local base configuration.
+The environment base `spack.yaml` then includes all files in the specific
+folder:
+
+```yaml
+spack:
+  include:
+  - site-config/$SYSTEMNAME
+```
+
+You can check the overlay is working by
+```bash
+spack env activate .
+spack config blame config
+```
+
+Some system specific entries should be governed by the site-specific
+envrionment config.
diff --git a/site-config/jurecadc/compilers.yaml b/site-config/jurecadc/compilers.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..69485034782d471a353dad0e6fd9768e9a23936f
--- /dev/null
+++ b/site-config/jurecadc/compilers.yaml
@@ -0,0 +1,27 @@
+compilers:
+- compiler:
+    spec: gcc@11.3.0
+    paths:
+      cc: /p/software/jurecadc/stages/2023/software/GCCcore/11.3.0/bin/gcc
+      cxx: /p/software/jurecadc/stages/2023/software/GCCcore/11.3.0/bin/g++
+      f77: /p/software/jurecadc/stages/2023/software/GCCcore/11.3.0/bin/gfortran
+      fc: /p/software/jurecadc/stages/2023/software/GCCcore/11.3.0/bin/gfortran
+    flags: {}
+    operating_system: rocky8
+    target: x86_64
+    modules: []
+    environment: {}
+    extra_rpaths: []
+- compiler:
+    spec: gcc@8.5.0
+    paths:
+      cc: /usr/bin/gcc
+      cxx: /usr/bin/g++
+      f77: null
+      fc: null
+    flags: {}
+    operating_system: rocky8
+    target: x86_64
+    modules: []
+    environment: {}
+    extra_rpaths: []
diff --git a/site-config/jurecadc/config.yaml b/site-config/jurecadc/config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9dd3b0b0fc3d377809a5833bcb3142d4c418b285
--- /dev/null
+++ b/site-config/jurecadc/config.yaml
@@ -0,0 +1,10 @@
+config:
+  build_stage:
+  - $USERSOFTWARE/spack/user-cache/$user/spack-stage
+  - $tempdir/$user/spack-stage
+  source_cache: $USERSOFTWARE/spack/source-cache
+  test_stage: $USERSOFTWARE/spack/user-cache/$user/test
+  misc_cache: $USERSOFTWARE/spack/user-cache/$user/cache
+  install_tree:
+    root: $USERSOFTWARE/install
+  db_lock_timeout: 10
diff --git a/site-config/jurecadc/packages.yaml b/site-config/jurecadc/packages.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c5f285aa75a09d7905cccc1545bdd55b29970c30
--- /dev/null
+++ b/site-config/jurecadc/packages.yaml
@@ -0,0 +1,115 @@
+# `spack external find` with
+# Currently Loaded Modules:
+#   1) Stages/2023 (S)   2) GCCcore/.11.3.0 (H)   3) zlib/.1.2.12 (H)   4) binutils/.2.38 (H)   5) StdEnv/2023   6) spack/0.19.2
+packages:
+  findutils:
+    externals:
+    - spec: findutils@4.6.0
+      prefix: /usr
+  groff:
+    externals:
+    - spec: groff@1.22.3
+      prefix: /usr
+  flex:
+    externals:
+    - spec: flex@2.6.1+lex
+      prefix: /usr
+  diffutils:
+    externals:
+    - spec: diffutils@3.6
+      prefix: /usr
+  git:
+    externals:
+    - spec: git@2.31.1~tcltk
+      prefix: /usr
+  m4:
+    externals:
+    - spec: m4@1.4.18
+      prefix: /usr
+  texinfo:
+    externals:
+    - spec: texinfo@6.5
+      prefix: /usr
+  subversion:
+    externals:
+    - spec: subversion@1.10.2
+      prefix: /usr
+  libtool:
+    externals:
+    - spec: libtool@2.4.6
+      prefix: /usr
+  binutils:
+    externals:
+    - spec: binutils@2.38
+      prefix: /p/software/jurecadc/stages/2023/software/binutils/2.38-GCCcore-11.3.0
+    - spec: binutils@2.30.117
+      prefix: /usr
+  openssl:
+    externals:
+    - spec: openssl@1.1.1k
+      prefix: /usr
+  pkgconf:
+    externals:
+    - spec: pkgconf@1.4.2
+      prefix: /usr
+  automake:
+    externals:
+    - spec: automake@1.16.1
+      prefix: /usr
+  tar:
+    externals:
+    - spec: tar@1.30
+      prefix: /usr
+  gmake:
+    externals:
+    - spec: gmake@4.2.1
+      prefix: /usr
+  openssh:
+    externals:
+    - spec: openssh@8.0p1
+      prefix: /usr
+  curl:
+    externals:
+    - spec: curl@7.61.1+gssapi+ldap+nghttp2
+      prefix: /usr
+  git-lfs:
+    externals:
+    - spec: git-lfs@2.13.3
+      prefix: /usr
+  gawk:
+    externals:
+    - spec: gawk@4.2.1
+      prefix: /usr
+  coreutils:
+    externals:
+    - spec: coreutils@8.30
+      prefix: /usr
+  bison:
+    externals:
+    - spec: bison@3.0.4
+      prefix: /usr
+  autoconf:
+    externals:
+    - spec: autoconf@2.69
+      prefix: /usr
+#  packages:
+#    all:
+#      compiler: [gcc@11.2.0]
+#    python:
+#      buildable: False
+#      version: [3.9.6]
+#      externals:
+#        - spec: "python@3.9.6%gcc@11.2.0 arch=linux-rocky8-zen2"
+#          prefix: /p/software/jurecadc/stages/2022/software/Python/3.9.6-GCCcore-11.2.0/
+#    openssl:
+#      buildable: False
+#      version: [1.1.1k]
+#      externals:
+#        - spec: openssl@1.1.1k
+#          prefix: /p/software/jurecadc/stages/2022/software/OpenSSL/1.1/
+#    mpi:
+#      buildable: False
+#    openmpi:
+#      externals:
+#        - spec: "openmpi@4.1.2%gcc@11.2.0 arch=linux-rocky8-zen2"
+#          prefix: /p/software/jurecadc/stages/2022/software/OpenMPI/4.1.2-GCC-11.2.0/
diff --git a/spack.yaml b/spack.yaml
index 1a29f7fb40fea94d87eacdbee78c837740d167ef..ef408623eb624236582cf8759213a62449466400 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -1,4 +1,6 @@
 spack:
+  include:
+    - site-config/$SYSTEMNAME
   specs:
     # Notebook
     - py-ipycanvas