diff --git a/docs/releases.rst b/docs/releases.rst
index a076a59..4a80b14 100644
--- a/docs/releases.rst
+++ b/docs/releases.rst
@@ -2,6 +2,15 @@
Release history
===============
+----------------------------
+Current version (unreleased)
+----------------------------
+
+^^^^^^^^^^^^^
+Minor Updates
+^^^^^^^^^^^^^
+
+* Added `Spack `_` configuration file to ``tools/spack`` directory. See `#191 _` for more information.
---------------------
APBS 3.4.1 (Apr 2022)
diff --git a/docs/using/tools.rst b/docs/using/tools.rst
index 5fb9973..bef030e 100644
--- a/docs/using/tools.rst
+++ b/docs/using/tools.rst
@@ -49,6 +49,14 @@ benchmark
Benchmark file I/O for reading/writing scalar data.
Found in :file:`tools/mesh`
+^^^^^
+spack
+^^^^^
+
+`Spack `_` configuration files for APBS, PROPKA, and PDB2PQR.
+See `#191 _` for more information.
+Found in :file:`tools/spack`
+
^^^^^^^^^^^^
uhbd_asc2bin
^^^^^^^^^^^^
diff --git a/tools/spack/README.md b/tools/spack/README.md
new file mode 100644
index 0000000..3ab7067
--- /dev/null
+++ b/tools/spack/README.md
@@ -0,0 +1,3 @@
+# Spack configuration files
+
+This directory contains [Spack](https://spack.io/) configuration files for APBS, PROPKA, and PDB2PQR provided by [Stefan Richter](https://github.com/StefanGIT).
diff --git a/tools/spack/packages/apbs/package.py b/tools/spack/packages/apbs/package.py
new file mode 100644
index 0000000..288b92f
--- /dev/null
+++ b/tools/spack/packages/apbs/package.py
@@ -0,0 +1,46 @@
+# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class Apbs(CMakePackage):
+ """
+ APBS (Adaptive Poisson-Boltzmann Solver) solves the equations of continuum electrostatics
+ for large biomolecular assemblages. This software was designed "from the ground up"
+ using modern design principles to ensure its ability to interface with other computational
+ packages and evolve as methods and applications change over time. The APBS code is
+ accompanied by extensive documentation for both users and programmers and is supported
+ by a variety of utilities for preparing calculations and analyzing results.
+ Finally, the free, open-source APBS license ensures its accessibility to the entire
+ biomedical community.
+ """
+
+ # Homepage and Github URL.
+ homepage = "https://www.poissonboltzmann.org/"
+ url = "https://github.com/Electrostatics/apbs/archive/refs/tags/v3.4.0.tar.gz"
+
+ # List of GitHub accounts to notify when the package is updated.
+ maintainers = ['thielblz', 'richtesn']
+
+ # SHA256 checksum.
+ version('3.4.0', sha256='572ff606974119430020ec948c78e171d8525fb0e67a56dad937a897cac67461')
+
+ # Dependencies.
+ depends_on('cmake@3.19', type='build')
+ depends_on('python@3.8:3.10', type=('build', 'run'))
+ depends_on('blas', type=('build', 'run'))
+ depends_on('suite-sparse', type=('build', 'run'))
+ depends_on('maloc', type=('build', 'run'))
+
+ def cmake_args(self):
+ # Min and max Python versions need to be set as variables to pass tests.
+ # See tests/CMakeLists.txt lines 6-14.
+ args = [
+ '-DPYTHON_MIN_VERSION=3.8',
+ '-DPYTHON_MAX_VERSION=3.10',
+ ]
+ return args
diff --git a/tools/spack/packages/py-pdb2pqr/package.py b/tools/spack/packages/py-pdb2pqr/package.py
new file mode 100644
index 0000000..4890e39
--- /dev/null
+++ b/tools/spack/packages/py-pdb2pqr/package.py
@@ -0,0 +1,34 @@
+# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class PyPdb2pqr(PythonPackage):
+ """
+ PDB2PQR - determining titration states,
+ adding missing atoms, and assigning
+ charges/radii to biomolecules.
+ """
+
+ # Url for the package's homepage.
+ homepage = "http://www.poissonboltzmann.org/"
+ pypi = "pdb2pqr/pdb2pqr-3.5.2.tar.gz"
+
+ # List of GitHub accounts to
+ # notify when the package is updated.
+ maintainers = ['richtesn', 'thielblz']
+
+ version('3.5.2', sha256='9d145ff3797a563ce818f9d2488413ac339f66c58230670c2455b2572cccd957')
+
+ depends_on('python@3.8:', type=('build','run'))
+ depends_on('py-docutils@:0.18', type=('build','run'))
+ depends_on('py-mmcif-pdbx@1.1.2:', type=('build','run'))
+ depends_on('py-numpy', type=('build','run'))
+ depends_on('py-propka@3.2:', type=('build','run'))
+ depends_on('py-requests', type=('build','run'))
+ depends_on('py-setuptools', type=('build','run'))
+
diff --git a/tools/spack/packages/py-propka/package.py b/tools/spack/packages/py-propka/package.py
new file mode 100644
index 0000000..7074a15
--- /dev/null
+++ b/tools/spack/packages/py-propka/package.py
@@ -0,0 +1,32 @@
+
+# Copyright 2013-2022 Lawrence Livermore National Security, LLC and other
+# Spack Project Developers. See the top-level COPYRIGHT file for details.
+#
+# SPDX-License-Identifier: (Apache-2.0 OR MIT)
+
+
+from spack import *
+
+
+class PyPropka(PythonPackage):
+ """
+ PROPKA predicts the pKa values of ionizable
+ groups in proteins (version 3.0) and protein-ligand
+ complexes (version 3.1 and later) based on the 3D
+ structure.
+ For proteins without ligands both version should
+ produce the same result.
+ """
+
+ # Url for the package's homepage.
+ homepage = "http://propka.org/"
+ pypi = "propka/propka-3.4.0.tar.gz"
+
+ # List of GitHub accounts to
+ # notify when the package is updated.
+ maintainers = ['richtesn', 'thielblz']
+
+ version('3.4.0', sha256='f19c2e145faa7eab000ce056a9058b8a30adba6970705047bb4fb7ba7570b020')
+
+ depends_on('py-setuptools', type=('build','run'))
+