diff --git a/develop.cfg b/develop.cfg
index c05bec25152a3697a12ecb9a91b99e33422b04a5..40bd10aa0e2846152a12010f8c5ee123d60b95f9 100644
--- a/develop.cfg
+++ b/develop.cfg
@@ -25,14 +25,14 @@ verbose = true
 newest = false
 
 [sources]
-bob.extension = git git@gitlab.idiap.ch:bob/bob.extension
-bob.blitz = git git@gitlab.idiap.ch:bob/bob.blitz
-bob.core = git git@gitlab.idiap.ch:bob/bob.core
-bob.io.base = git git@gitlab.idiap.ch:bob/bob.io.base
-bob.sp = git git@gitlab.idiap.ch:bob/bob.sp
-bob.math = git git@gitlab.idiap.ch:bob/bob.math
-bob.learn.activation = git git@gitlab.idiap.ch:bob/bob.learn.activation
-bob.learn.linear = git git@gitlab.idiap.ch:bob/bob.learn.linear
+bob.extension = git https://gitlab.idiap.ch/bob/bob.extension
+bob.blitz = git https://gitlab.idiap.ch/bob/bob.blitz
+bob.core = git https://gitlab.idiap.ch/bob/bob.core
+bob.io.base = git https://gitlab.idiap.ch/bob/bob.io.base
+bob.sp = git https://gitlab.idiap.ch/bob/bob.sp
+bob.math = git https://gitlab.idiap.ch/bob/bob.math
+bob.learn.activation = git https://gitlab.idiap.ch/bob/bob.learn.activation
+bob.learn.linear = git https://gitlab.idiap.ch/bob/bob.learn.linear
 
 [scripts]
 recipe = bob.buildout:scripts
diff --git a/doc/conf.py b/doc/conf.py
index e545a995b9a8e110af49dff059f2808387930819..ae503321b55e9743d36db318dc935a285ace2512 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -30,9 +30,29 @@ extensions = [
 import sphinx
 if sphinx.__version__ >= "1.4.1":
     extensions.append('sphinx.ext.imgmath')
+    imgmath_image_format = 'svg'
 else:
     extensions.append('sphinx.ext.pngmath')
 
+# Be picky about warnings
+nitpicky = True
+
+# Ignores stuff we can't easily resolve on other project's sphinx manuals
+nitpick_ignore = []
+
+# Allows the user to override warnings from a separate file
+if os.path.exists('nitpick-exceptions.txt'):
+    for line in open('nitpick-exceptions.txt'):
+        if line.strip() == "" or line.startswith("#"):
+            continue
+        dtype, target = line.split(None, 1)
+        target = target.strip()
+        try: # python 2.x
+            target = unicode(target)
+        except NameError:
+            pass
+        nitpick_ignore.append((dtype, target))
+
 # Always includes todos
 todo_include_todos = True
 
@@ -216,8 +236,13 @@ autodoc_default_flags = [
   ]
 
 # For inter-documentation mapping:
-from bob.extension.utils import link_documentation
-intersphinx_mapping = link_documentation()
+from bob.extension.utils import link_documentation, load_requirements
+sphinx_requirements = "extra-intersphinx.txt"
+if os.path.exists(sphinx_requirements):
+    intersphinx_mapping = link_documentation(additional_packages=load_requirements(sphinx_requirements))
+else:
+    intersphinx_mapping = link_documentation()
+
 
 # We want to remove all private (i.e. _. or __.__) members
 # that are not in the list of accepted functions