diff --git a/bin/yashchiki b/bin/yashchiki
index 003661c1e5dd4405a34fce0ee1d30f1161d8f41c..fd6f377d86a699a98eede00919b825951f052b1d 100644
--- a/bin/yashchiki
+++ b/bin/yashchiki
@@ -4,6 +4,7 @@ import argparse
 import os
 import pathlib
 import subprocess
+import shutil
 import tempfile
 import textwrap
 import yaml
@@ -232,6 +233,12 @@ with tempfile.TemporaryDirectory(prefix="spack-", dir=env["TMPDIR"]) \
             as spack_config_file:
         spack_config_file.write(yaml.dump(spack_config))
 
+    spack_packages = pathlib.Path("share", "yashchiki", "styles", args.style, "packages.yaml")
+    if spack_packages.exists():
+        shutil.copy(
+            spack_packages,
+            temporary_directory_spack_config.joinpath("packages.yaml"))
+
     env = env | {"JOB_TMP_SPACK": temporary_directory_spack}
 
     # make job temp folder writable for all users (i.e., spack)
diff --git a/share/yashchiki/styles/asic/config.yaml b/share/yashchiki/styles/asic/config.yaml
index ef427c02efa44d5ce37480f16496e74400b32c83..357aadf8bca49717ea9ce91356daed760c79281a 100644
--- a/share/yashchiki/styles/asic/config.yaml
+++ b/share/yashchiki/styles/asic/config.yaml
@@ -1,5 +1,6 @@
-docker_base_image: "centos:7"
-dependency_python: "3.8.3"
+docker_base_image: "rockylinux:8"
+# ECM: it's 3.9.18 really, but that's not yet in the current spack; fix when ready
+dependency_python: "3.9.16"
 spack_gcc:
   build: false
-  version: "4.8.5"
+  version: "8.5.0"
diff --git a/share/yashchiki/styles/asic/create_recipe.sh b/share/yashchiki/styles/asic/create_recipe.sh
index 7a28db7c0a442b6f9ffcf3420217227c1d245bd5..ea6b5e694da4a2f850e100e62aa043e06ac91003 100755
--- a/share/yashchiki/styles/asic/create_recipe.sh
+++ b/share/yashchiki/styles/asic/create_recipe.sh
@@ -65,40 +65,45 @@ From: ${DOCKER_BASE_IMAGE}
     # ECM: enable strict mode to fail when packages are not found (or other installation problems appear)
     echo "skip_missing_names_on_install=0" >> /etc/yum.conf
 
-    # Apparently, upon building the CentOS docker images it has been decided that
-    # (for space-saving reasons) exactly one locale (en_US.utf8) is installed.
-    # We don't care about the little extra space and user experience benefits from
-    # some more locales.
-    sed -i '/^override_install_langs/d' /etc/yum.conf
-    yum reinstall -y glibc-common
+    yum -y upgrade 
 
-    # EPEL is needed for fuse-sshfs and jq
-    yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
+    # install additional locales
+    yum install -y "glibc-langpack-*"
 
-    # certificates of the base image are outdated -> manually install ca-certificates
-    yum install -y ca-certificates
+    # EPEL is needed for fuse-sshfs and jq
+    dnf -y install dnf-plugins-core  # needed for `dnf config-manager`
+    dnf config-manager --set-enabled powertools  # powertools is needed by epel-release
+    dnf -y install epel-release
 
     yum -y install \
+        apr \
+        apr-devel \
         apr-util \
+        apr-util-devel \
         autoconf \
         automake \
         bc \
+        binutils-devel \
         bison \
         bzip2 \
         chrpath \
-        compat-db47 \
         compat-libtiff3 \
+        compat-openssl10 \
         cups-client \
         diffstat \
         dos2unix \
         ed \
+        elfutils-libelf \
         environment-modules \
+        expat-devel \
         file \
         flex \
         fontconfig \
         freetype \
+        freetype-devel \
         gcc \
         gcc-c++ \
+        gcc-gfortran \
         gdb \
         git \
         glib2-devel \
@@ -108,18 +113,24 @@ From: ${DOCKER_BASE_IMAGE}
         gpm-libs \
         ksh \
         less \
+        libffi-devel \
         libfontenc \
         libgcc \
         libgfortran \
+        libgcrypt-devel \
         libICE \
         libjpeg-turbo \
         libmng \
+        libnsl \
+        libnsl.i686 \
         libpng12 \
+        libpng15 \
         libSM \
         libstdc++-devel \
         libstdc++-static \
         libstdc++.i686 \
         libtool \
+        libtool-ltdl-devel \
         libuuid-devel \
         libX11-devel \
         libXau-devel \
@@ -132,6 +143,7 @@ From: ${DOCKER_BASE_IMAGE}
         libXft \
         libXi \
         libxkbfile \
+        libxml2-devel \
         libXmu \
         libXp \
         libXpm \
@@ -140,11 +152,14 @@ From: ${DOCKER_BASE_IMAGE}
         libXScrnSaver \
         libXt \
         libXtst \
+        libyaml-devel \
         lsof \
         m4 \
         mailx \
         make \
         mesa-dri-drivers \
+        mesa-libGL \
+        mesa-libGLU \
         motif \
         ncurses-devel \
         net-tools \
@@ -152,15 +167,20 @@ From: ${DOCKER_BASE_IMAGE}
         openssh \
         openssl-devel \
         patch \
-        pax \
+        patchelf \
         perl \
         perl-libintl \
         perl-Text-Unidecode \
         pixman \
         psmisc \
-        python3 \
-        python3-pip \
-        python3-setuptools \
+        pulseaudio-libs \
+        pulseaudio-libs-glib2 \
+        python2 \
+        python2-devel \
+        python39 \
+        python39-devel \
+        python39-pip \
+        python39-setuptools \
         qemu-guest-agent \
         redhat-lsb \
         rsync \
@@ -170,7 +190,6 @@ From: ${DOCKER_BASE_IMAGE}
         spax \
         fuse-sshfs \
         strace \
-        sysvinit-tools \
         tar \
         tcl \
         tcsh \
@@ -201,25 +220,6 @@ From: ${DOCKER_BASE_IMAGE}
     # gtest is F9's C++ test framework of choice
     yum -y install gtest-devel
 
-    # ECM: people (YS) just need pylint, etc. (upgrade to spack if more is needed)
-    # JJK: nose is needed as a python test runner. We want to replace it by pytest
-    # in the future
-    wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh
-    bash Miniconda3-py38_4.8.3-Linux-x86_64.sh -b -p /opt/conda
-    ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh
-    /opt/conda/bin/conda install -y pylint pycodestyle nose pytest pyyaml
-
-    # YS: teststand dependencies (no python in spack yet)
-    /opt/conda/bin/conda install -y numpy matplotlib
-
-    # PS: needed for notebook package below
-    /opt/conda/bin/conda install -c conda-forge -y importlib_metadata
-
-    # PD: jupyter notebook and ipython for more comfort
-    /opt/conda/bin/conda install -c conda-forge -y notebook
-    /opt/conda/bin/conda install -c conda-forge -y nb_conda_kernels
-    /opt/conda/bin/conda install -c conda-forge -y jupyter_contrib_nbextensions
-
     # ECM: and now some abspacking
     yum -y install ccache sudo parallel
 
@@ -229,6 +229,8 @@ From: ${DOCKER_BASE_IMAGE}
     # ECM: save some more space
     yum clean all
 
+    alternatives --set python /usr/bin/python3.9
+
     # create a fingerprint by which we can identify the container from within
     cat /proc/sys/kernel/random/uuid > /opt/fingerprint
 
@@ -268,17 +270,8 @@ From: ${DOCKER_BASE_IMAGE}
     MODULESHOME=/usr/share/Modules
     export MODULESHOME
 
-    # CentOS 7 does not support C.UTF-8; unset everything if encountered.
-    if [ "\${LANG}" = "C.UTF-8" ]; then
-        LANG=C
-        export LANG
-        unset LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC LC_TIME LC_MESSAGES LC_ALL
-    fi
-
-    # python now from conda... and gopath/bin (gocryptfs)
-    PATH=/opt/conda/bin:/opt/go/gopath/bin:\${PATH}
-    # ensure conda sees a clean env
-    unset PYTHONHOME
+    # gopath/bin (gocryptfs)
+    PATH=/opt/go/gopath/bin:\${PATH}
 EOF
 
 # create appenvs for all views...
@@ -292,9 +285,7 @@ cat <<EOF
     export VISIONARY_ENV=${name_view}
     SVF=/opt/spack_views/\${VISIONARY_ENV}
     export PATH=\${SVF}/bin\${PATH:+:}\${PATH}
-    # there is no python in asic app for now
-    #export PYTHONHOME=\${SVF}
-    #export SPACK_PYTHON_BINARY=\${SVF}/bin/python
+    export PYTHONPATH=\${SVF}/lib/python3.9/site-packages/:\${SVF}/lib64/python3.9/site-packages/\${PYTHONPATH:+:}\${PYTHONPATH}
     export MANPATH=\${SVF}/man:\${SVF}/share/man\${MANPATH:+:}\${MANPATH}
     export LIBRARY_PATH=\${SVF}/lib:\${SVF}/lib64\${LIBRARY_PATH:+:}\${LIBRARY_PATH}
     export LD_LIBRARY_PATH=\${SVF}/lib:\${SVF}/lib64\${LD_LIBRARY_PATH:+:}\${LD_LIBRARY_PATH}
@@ -316,4 +307,10 @@ for view in "${spack_views[@]}"; do
         generate_appenv "${view}" "${view}"
         [[ "${view}" =~ ^visionary- ]] && generate_appenv "${view#visionary-}" "${view}"
     ) >> "${YASHCHIKI_RECIPE_PATH}"
+
+    if [ "${view}" = "visionary-asic" ];then
+cat <<EOF >>"${YASHCHIKI_RECIPE_PATH}"
+    export IVERILOG_VPI_MODULE_PATH=\${SVF}/lib/myhdl/share
+EOF
+    fi
 done
diff --git a/share/yashchiki/styles/asic/packages.yaml b/share/yashchiki/styles/asic/packages.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1dbc5246718a69b9ceee76de9ca4a03c53885967
--- /dev/null
+++ b/share/yashchiki/styles/asic/packages.yaml
@@ -0,0 +1,229 @@
+# These packages have to be in sync with the packages installed in the base
+# image (defined in `create_recipe.sh`).
+packages:
+  autoconf:
+    buildable: False
+    externals:
+    - spec: autoconf@2.69
+      prefix: /usr
+  automake:
+    buildable: False
+    externals:
+    - spec: automake@1.16.1
+      prefix: /usr
+  bash:
+    buildable: False
+    externals:
+    - spec: bash@4.4.20
+      prefix: /usr
+  binutils:
+    buildable: False
+    externals:
+    - spec: binutils@2.30.120
+      prefix: /usr
+  bison:
+    buildable: False
+    externals:
+    - spec: bison@3.0.4
+      prefix: /usr
+  ccache:
+    buildable: False
+    externals:
+    - spec: ccache@3.7.7
+      prefix: /usr
+  cpio:
+    buildable: False
+    externals:
+    - spec: cpio@2.12
+      prefix: /usr
+  curl:
+    buildable: False
+    externals:
+    - spec: curl@7.61.1+gssapi+nghttp2
+      prefix: /usr
+  diffutils:
+    externals:
+    - spec: diffutils@3.6
+      prefix: /usr
+  flex:
+    buildable: False
+    externals:
+    - spec: flex@2.6.1+lex
+      prefix: /usr
+  gcc:
+    buildable: False
+    externals:
+    - spec: gcc@8.5.0 languages=c,c++,fortran
+      prefix: /usr
+      extra_attributes:
+        compilers:
+          c: /usr/bin/x86_64-redhat-linux-gcc-8
+          cxx: /usr/bin/x86_64-redhat-linux-g++
+          fortran: /usr/bin/gfortran
+  git:
+    buildable: False
+    externals:
+    - spec: git@2.39.1~tcltk
+      prefix: /usr
+  gmake:
+    buildable: False
+    externals:
+    - spec: gmake@4.2.1
+      prefix: /usr
+  krb5:
+    buildable: False
+    externals:
+    - spec: krb5@1.18.2
+      prefix: /usr
+  libtool:
+    buildable: False
+    externals:
+    - spec: libtool@2.4.6
+      prefix: /usr
+  ncurses:
+    buildable: False
+    externals:
+    - spec: ncurses@6.1.20180224+termlib abi=6
+      prefix: /usr
+  openssh:
+    buildable: False
+    externals:
+    - spec: openssh@8.0p1
+      prefix: /usr
+  openssl:
+    buildable: False
+    externals:
+    - spec: openssl@1.1.1k
+      prefix: /usr
+  pkgconf:
+    buildable: False
+    externals:
+    - spec: pkgconf@1.4.2
+      prefix: /usr
+  pkg-config:
+    buildable: False
+    externals:
+    - spec: pkgconf@1.4.2
+      prefix: /usr
+  python:
+    buildable: False
+    externals:
+    - spec: python@3.9.16+bz2+crypt+ctypes+dbm+lzma+nis+pyexpat+pythoncmd+readline+sqlite3+ssl~tkinter+uuid+zlib
+      prefix: /usr
+  xz:
+    buildable: False
+    externals:
+    - spec: xz@5.2.4
+      prefix: /usr
+  gawk:
+    buildable: False
+    externals:
+    - spec: gawk@4.2.1
+      prefix: /usr
+  libgcrypt:
+    buildable: False
+    externals:
+    - spec: libgcrypt@1.8.5
+      prefix: /usr
+  libxml2:
+    buildable: False
+    externals:
+    - spec: libxml2@2.9.7
+      prefix: /usr
+  freetype:
+    buildable: False
+    externals:
+    - spec: freetype@2.9.1
+      prefix: /usr
+  perl:
+    buildable: False
+    externals:
+    - spec: perl@5.26.3
+      prefix: /usr
+  libpng:
+    buildable: False
+    externals:
+    - spec: libpng@1.6.34
+      prefix: /usr
+  libyaml:
+    buildable: False
+    externals:
+    - spec: libyaml@0.1.7
+      prefix: /usr
+  zlib:
+    buildable: False
+    externals:
+    - spec: zlib@1.2.11
+      prefix: /usr
+  zstd:
+    buildable: False
+    externals:
+    - spec: zstd@1.4.4
+      prefix: /usr
+  readline:
+    buildable: False
+    externals:
+    - spec: readline@7.0
+      prefix: /usr
+  jpeg:
+    buildable: False
+    externals:
+    - spec: libjpeg-turbo@1.5.3
+      prefix: /usr
+  libffi:
+    buildable: False
+    externals:
+    - spec: libffi@3.1
+      prefix: /usr
+  libjpeg:
+    buildable: False
+  gettext:
+    buildable: False
+    externals:
+    - spec: gettext@0.19.8.1
+      prefix: /usr
+  bzip2:
+    buildable: False
+    externals:
+    - spec: bzip2@1.0.6
+      prefix: /usr
+  m4:
+    buildable: False
+    externals:
+    - spec: m4@1.4.18
+      prefix: /usr
+  valgrind:
+    buildable: False
+    externals:
+    - spec: valgrind@3.19.0
+      prefix: /usr
+  sed:
+    buildable: False
+    externals:
+    - spec: sed@4.5
+      prefix: /usr
+  libedit:
+    buildable: False
+    externals:
+    - spec: libedit@3.1
+      prefix: /usr
+  apr:
+    buildable: False
+    externals:
+    - spec: apr@1.6.3
+      prefix: /usr
+  apr-util:
+    buildable: False
+    externals:
+    - spec: apr-util@1.6.1
+      prefix: /usr
+  expat:
+    buildable: False
+    externals:
+    - spec: expat@2.2.5
+      prefix: /usr
+  pcre:
+    buildable: False
+    externals:
+    - spec: pcre@8.42
+      prefix: /usr