diff --git a/doc/_templates/config.rst b/doc/_templates/config.rst
new file mode 100644
index 0000000000000000000000000000000000000000..0c315cc0f4b82057692ba2c80ddaa7c0037fe861
--- /dev/null
+++ b/doc/_templates/config.rst
@@ -0,0 +1,38 @@
+{{ fullname | escape | underline}}
+
+.. automodule:: {{ fullname }}
+
+   {% block functions %}
+   {% if functions %}
+   .. rubric:: Functions
+
+   .. autosummary::
+   {% for item in functions %}
+      {{ item }}
+   {%- endfor %}
+   {% endif %}
+   {% endblock %}
+
+   {% block classes %}
+   {% if classes %}
+   .. rubric:: Classes
+
+   .. autosummary::
+   {% for item in classes %}
+      {{ item }}
+   {%- endfor %}
+   {% endif %}
+   {% endblock %}
+
+   {% block exceptions %}
+   {% if exceptions %}
+   .. rubric:: Exceptions
+
+   .. autosummary::
+   {% for item in exceptions %}
+      {{ item }}
+   {%- endfor %}
+   {% endif %}
+   {% endblock %}
+
+.. literalinclude:: ../../../../{{ fullname.replace(".", "/") }}.py
diff --git a/doc/api.rst b/doc/api.rst
index 5142bd593fc77adbd44a2cf4950f8cd5ce8f02aa..d178eb98d36dc76a30bc314b866828de6068730d 100644
--- a/doc/api.rst
+++ b/doc/api.rst
@@ -107,8 +107,8 @@ Models
 
 .. autosummary::
    :toctree: api/configs/models
+   :template: config.rst
 
-   bob.ip.binseg.configs.models
    bob.ip.binseg.configs.models.driu
    bob.ip.binseg.configs.models.driubn
    bob.ip.binseg.configs.models.driubnssl
@@ -127,7 +127,6 @@ Datasets
 .. autosummary::
    :toctree: api/configs/datasets
 
-   bob.ip.binseg.configs.datasets
    bob.ip.binseg.configs.datasets.amdrive
    bob.ip.binseg.configs.datasets.amdrivetest
    bob.ip.binseg.configs.datasets.chasedb1