diff --git a/etc/spack/defaults/config.yaml b/etc/spack/defaults/config.yaml
index ef9d2881734894b1019c2955b308e2a42136f7e3..e4914e3fa32c1318f6cd93588b2277848cdea35a 100644
--- a/etc/spack/defaults/config.yaml
+++ b/etc/spack/defaults/config.yaml
@@ -21,7 +21,7 @@ config:
 
   # Locations where templates should be found
   template_dirs:
-    - $spack/templates
+    - $spack/share/spack/templates
 
 
   # default directory layout
diff --git a/lib/spack/docs/module_file_support.rst b/lib/spack/docs/module_file_support.rst
index 6b874fbe97a007adabb9da6c46a6337a38a5fa6b..d7ef18f2900989f983b87092297e4d0519e63237 100644
--- a/lib/spack/docs/module_file_support.rst
+++ b/lib/spack/docs/module_file_support.rst
@@ -290,15 +290,15 @@ installation of a package. The table below summarizes the essential
 information associated with the different file formats
 that can be generated by Spack:
 
-  +-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
-  |                             | **Hook name**      |  **Default root directory**   | **Default template file**        | **Compatible tools** |
-  +=============================+====================+===============================+==================================+======================+
-  |  **Dotkit**                 | ``dotkit``         |  share/spack/dotkit           | templates/modules/modulefile.dk  | DotKit               |
-  +-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
-  |  **TCL - Non-Hierarchical** | ``tcl``            |  share/spack/modules          | templates/modules/modulefile.tcl | Env. Modules/LMod    |
-  +-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
-  |  **Lua - Hierarchical**     | ``lmod``           |  share/spack/lmod             | templates/modules/modulefile.lua | LMod                 |
-  +-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
+  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
+  |                             | **Hook name**      |  **Default root directory**   | **Default template file**                    | **Compatible tools** |
+  +=============================+====================+===============================+==============================================+======================+
+  |  **Dotkit**                 | ``dotkit``         |  share/spack/dotkit           | share/spack/templates/modules/modulefile.dk  | DotKit               |
+  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
+  |  **TCL - Non-Hierarchical** | ``tcl``            |  share/spack/modules          | share/spack/templates/modules/modulefile.tcl | Env. Modules/LMod    |
+  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
+  |  **Lua - Hierarchical**     | ``lmod``           |  share/spack/lmod             | share/spack/templates/modules/modulefile.lua | LMod                 |
+  +-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
 
 
 Spack ships with sensible defaults for the generation of module files, but
diff --git a/lib/spack/docs/tutorial_modules.rst b/lib/spack/docs/tutorial_modules.rst
index 21e1e5e886ff3c39d2a3a398e33d61f5a8c80481..7ed60c934f6ec621f0253f1332cab9e362d9d1c0 100644
--- a/lib/spack/docs/tutorial_modules.rst
+++ b/lib/spack/docs/tutorial_modules.rst
@@ -1385,11 +1385,12 @@ Module file templates
 ^^^^^^^^^^^^^^^^^^^^^
 
 The templates that Spack uses to generate module files are stored in the
-``templates/module`` directory, and they all share the same common structure.
-Usually, they start with a header that identifies the type of
-module being generated. In the case of hierarchical module files it's:
+``share/spack/templates/module`` directory within the Spack prefix, and
+they all share the same common structure.  Usually, they start with a
+header that identifies the type of module being generated. In the case of
+hierarchical module files it's:
 
-.. literalinclude:: ../../../templates/modules/modulefile.lua
+.. literalinclude:: ../../../share/spack/templates/modules/modulefile.lua
   :language: jinja
   :lines: 1-6
 
@@ -1403,7 +1404,7 @@ that can be overridden or extended by users, if need be.
 , delimited by ``{% ... %}``,
 are also permitted in the template language:
 
-.. literalinclude:: ../../../templates/modules/modulefile.lua
+.. literalinclude:: ../../../share/spack/templates/modules/modulefile.lua
   :language: jinja
   :lines: 73-88
 
diff --git a/lib/spack/spack/test/data/config.yaml b/lib/spack/spack/test/data/config.yaml
index ab925f4f6b7f39e1cc132d6ef6efee113fdff17c..2fcd10ad97c0c693bd02a80215f9205108dfad58 100644
--- a/lib/spack/spack/test/data/config.yaml
+++ b/lib/spack/spack/test/data/config.yaml
@@ -1,7 +1,7 @@
 config:
   install_tree: $spack/opt/spack
   template_dirs:
-  - $spack/templates
+  - $spack/share/spack/templates
   - $spack/lib/spack/spack/test/data/templates
   - $spack/lib/spack/spack/test/data/templates_again
   build_stage:
diff --git a/templates/modules/modulefile.dk b/share/spack/templates/modules/modulefile.dk
similarity index 100%
rename from templates/modules/modulefile.dk
rename to share/spack/templates/modules/modulefile.dk
diff --git a/templates/modules/modulefile.lua b/share/spack/templates/modules/modulefile.lua
similarity index 100%
rename from templates/modules/modulefile.lua
rename to share/spack/templates/modules/modulefile.lua
diff --git a/templates/modules/modulefile.tcl b/share/spack/templates/modules/modulefile.tcl
similarity index 100%
rename from templates/modules/modulefile.tcl
rename to share/spack/templates/modules/modulefile.tcl
diff --git a/templates/reports/cdash/Build.xml b/share/spack/templates/reports/cdash/Build.xml
similarity index 100%
rename from templates/reports/cdash/Build.xml
rename to share/spack/templates/reports/cdash/Build.xml
diff --git a/templates/reports/cdash/Configure.xml b/share/spack/templates/reports/cdash/Configure.xml
similarity index 100%
rename from templates/reports/cdash/Configure.xml
rename to share/spack/templates/reports/cdash/Configure.xml
diff --git a/templates/reports/cdash/Site.xml b/share/spack/templates/reports/cdash/Site.xml
similarity index 100%
rename from templates/reports/cdash/Site.xml
rename to share/spack/templates/reports/cdash/Site.xml
diff --git a/templates/reports/cdash/Update.xml b/share/spack/templates/reports/cdash/Update.xml
similarity index 100%
rename from templates/reports/cdash/Update.xml
rename to share/spack/templates/reports/cdash/Update.xml
diff --git a/templates/reports/junit.xml b/share/spack/templates/reports/junit.xml
similarity index 100%
rename from templates/reports/junit.xml
rename to share/spack/templates/reports/junit.xml