diff --git a/ci/install_compilers.sh b/ci/install_compilers.sh
index 75d576efc7587b27cf1be38b8a24c9918f28c3c3..09c4b53b18b4c0af41383222217c79e4bf5f9206 100755
--- a/ci/install_compilers.sh
+++ b/ci/install_compilers.sh
@@ -73,6 +73,13 @@ for c in  "core_compilers" "compilers"; do
     fi
 done
 
+export target=$(jq -Mrc '
+.stack.targets
+ | to_entries
+ | .[]
+ | select(.key == env.environment)
+ | .value' ${STACK_CONFIG})
+
 compilers_specs=$(jq -Mr '
 .stack
  | .system_arch as $arch
@@ -89,14 +96,15 @@ system_compiler=$(jq -Mrc '
 ' ${STACK_CONFIG})
 
 core_compilers=$(jq -Mrc '.stack
+ | .system_arch as $arch
  | .system_compiler + .core_compilers
- | map("\(.compiler)@\(.version)")
+ | map("\(.compiler)@\(.version) \($arch)")
 ' ${STACK_CONFIG})
 
 compilers=$(jq -Mrc '.stack
  | .compilers
  | map(select(.constraint == null))
- | map("\(.compiler)@\(.version)")
+ | map("\(.compiler)@\(.version) target=\(env.target)")
 ' ${STACK_CONFIG})
 
 echo "definitions:" > ${SPACK_SYSTEM_CONFIG_PATH}/compiler_definitions.yaml
@@ -123,7 +131,7 @@ jq -Mrc '
  | .system_arch as $arch
  | .compilers
  | to_entries
- | map(" - compiler_\(.key): [\(.value.compiler)@\(.value.version)]")
+ | map(" - compiler_\(.key): [\(.value.compiler)@\(.value.version) target=\(env.target)]")
  | .[]
 '  ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/compiler_definitions.yaml
 
diff --git a/ci/setup_spack.sh b/ci/setup_spack.sh
index ba9fa947575c7aaff7cb412dd108d6c37cb83b9d..1f1e2457bc944d365065c8fce1dea4285cb66b93 100755
--- a/ci/setup_spack.sh
+++ b/ci/setup_spack.sh
@@ -84,3 +84,19 @@ spack/bin/spack buildcache keys \
 #spack/bin/spack buildcache update-index /buildcache
 
 cp ${STACK_CONFIG_PATH}/packages_${environment}.yaml ${SPACK_SYSTEM_CONFIG_PATH}/packages_env.yaml
+
+echo "packages:" > ${SPACK_SYSTEM_CONFIG_PATH}/packages_system.yaml
+export system_compiler=$(jq -Mrc '
+.stack
+ | .system_arch as $arch
+ | .system_compiler
+ | to_entries
+ | .[].value
+ | "\(.compiler)@\(.version) \($arch)"
+' ${STACK_CONFIG})
+
+jq -Mrc '
+.stack.system_packages
+ | map("  \(.):\n    require:\n    - spec: \"%\(env.system_compiler)\"")
+ | .[]
+' ${STACK_CONFIG} >> ${SPACK_SYSTEM_CONFIG_PATH}/packages_system.yaml
diff --git a/stacks/pinot-noir/config.json b/stacks/pinot-noir/config.json
index 37dbbe3f935e8d08f06f1f7aa075eab396ca33a1..644aa7dad028e831178e7a06370a934ed4a06660 100644
--- a/stacks/pinot-noir/config.json
+++ b/stacks/pinot-noir/config.json
@@ -22,6 +22,13 @@
                 "version": "11.4.1"
             }
         },
+        "targets": {
+            "helvetios": "skylake_avx512",
+            "izar": "cascadelake",
+            "jed": "icelake",
+            "kuma_l40s": "zen4",
+            "kuma_h100": "zen4"
+        },
         "compilers": {
             "gcc_stable": {
                 "compiler": "gcc",
@@ -45,7 +52,32 @@
                 "version": "4.2.0",
                 "constraint": "env['environment'] in ['jed']"
             }
-
-        }
+        },
+        "system_packages": [
+            "autoconf",
+            "automake",
+            "autotools",
+            "ca-certificates-mozilla",
+            "cmake",
+            "diffutils",
+            "expat",
+            "findutils",
+            "freetype",
+            "gettext",
+            "glibc",
+            "gmake",
+            "gnuplot",
+            "libevent",
+            "m4",
+            "ncurses",
+            "openssl",
+            "pcre",
+            "perl",
+            "pkgconf",
+            "readline",
+            "sqlite",
+            "texinfo",
+            "zlib-ng"
+        ]
     }
 }
diff --git a/stacks/pinot-noir/spack.yaml b/stacks/pinot-noir/spack.yaml
index d22afafaa77f0275dae3806769dbc1907391553a..b691dabf42267e4d334cac369faf12d2b7cb2e2e 100644
--- a/stacks/pinot-noir/spack.yaml
+++ b/stacks/pinot-noir/spack.yaml
@@ -2,7 +2,7 @@ spack:
   include:
       - compiler_definitions.yaml
       - packages_env.yaml
-
+      - packages_system.yaml
   definitions:
     # -------------------------------------------------------------------------
     # PE definition