diff --git a/esd/spack_manager/SpackManager.py b/esd/spack_manager/SpackManager.py
index a7f46c2778eeb874a138a01e2c99ed85f7f12e3d..5d14d1e0a79bacd9a4d72213077130df13a66f2d 100644
--- a/esd/spack_manager/SpackManager.py
+++ b/esd/spack_manager/SpackManager.py
@@ -167,6 +167,16 @@ class SpackManager(ABC):
             return spack_version.stdout.strip().split()[0]
         return None
 
+    @no_spack_env
+    def install_packages(self, jobs: int):
+        # spack install -v --j "$cpu_count" --fresh
+        run_command("bash", "-c",
+                    f'source {self.spack_setup_script} && spack install --env {self.env.env_name} -v --j {jobs} --fresh',
+                    capture_output=True, text=True, check=True,
+                    logger=self.logger,
+                    debug_msg=f"Installing spack packages for {self.env.env_name}",
+                    exception_msg=f"Error installing spack packages for {self.env.env_name}",
+                    exception=SpackInstallPackagesException)
 
     def install_spack(self, spack_version="v0.21.1", spack_repo='https://github.com/spack/spack'):
         try: