diff --git a/doc/contributing.xml b/doc/contributing-to-documentation.xml
similarity index 100%
rename from doc/contributing.xml
rename to doc/contributing-to-documentation.xml
diff --git a/doc/doc-support/parameters.xml b/doc/doc-support/parameters.xml
index bc13e2b70dec..e4b33e66ee4d 100644
--- a/doc/doc-support/parameters.xml
+++ b/doc/doc-support/parameters.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/doc/languages-frameworks/emscripten.section.md b/doc/languages-frameworks/emscripten.section.md
index 24c49ec1409c..80e1094809ad 100644
--- a/doc/languages-frameworks/emscripten.section.md
+++ b/doc/languages-frameworks/emscripten.section.md
@@ -1,4 +1,4 @@
-# User's Guide to Emscripten in Nixpkgs
+# Emscripten
[Emscripten](https://github.com/kripken/emscripten): An LLVM-to-JavaScript Compiler
diff --git a/doc/languages-frameworks/haskell.section.md b/doc/languages-frameworks/haskell.section.md
index 48d22831cd9b..1e677450aa19 100644
--- a/doc/languages-frameworks/haskell.section.md
+++ b/doc/languages-frameworks/haskell.section.md
@@ -3,7 +3,7 @@ title: User's Guide for Haskell in Nixpkgs
author: Peter Simons
date: 2015-06-01
---
-# User's Guide to the Haskell Infrastructure
+# Haskell
## How to install Haskell packages
diff --git a/doc/languages-frameworks/idris.section.md b/doc/languages-frameworks/idris.section.md
index e88015f08e3f..8d7962d7fb9b 100644
--- a/doc/languages-frameworks/idris.section.md
+++ b/doc/languages-frameworks/idris.section.md
@@ -1,4 +1,4 @@
-# Idris packages
+# Idris
## Installing Idris
diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml
index cd0b48adb14a..86076085799e 100644
--- a/doc/languages-frameworks/index.xml
+++ b/doc/languages-frameworks/index.xml
@@ -1,7 +1,7 @@
- Support for specific programming languages and frameworks
+ Languages and frameworks
The standard build environment makes it easy to build typical Autotools-based packages with very little code. Any other kind of package can be accomodated by overriding the appropriate phases of stdenv. However, there are specialised functions in Nixpkgs to easily build packages for other programming languages, such as Perl or Haskell. These are described in this chapter.
diff --git a/doc/languages-frameworks/node.section.md b/doc/languages-frameworks/node.section.md
index c6dce04c7b8b..4dc95fc1dd98 100644
--- a/doc/languages-frameworks/node.section.md
+++ b/doc/languages-frameworks/node.section.md
@@ -1,5 +1,5 @@
-Node.js packages
-================
+Node.js
+=======
The `pkgs/development/node-packages` folder contains a generated collection of
[NPM packages](https://npmjs.com/) that can be installed with the Nix package
manager.
diff --git a/doc/languages-frameworks/r.section.md b/doc/languages-frameworks/r.section.md
index c8f02bd14780..d4e1617779ce 100644
--- a/doc/languages-frameworks/r.section.md
+++ b/doc/languages-frameworks/r.section.md
@@ -1,5 +1,5 @@
-R packages
-==========
+R
+=
## Installation
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index 83b7b159bd63..31f1abd197b5 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -4,7 +4,7 @@ author: Matthias Beyer
date: 2017-03-05
---
-# User's Guide to the Rust Infrastructure
+# Rust
To install the rust compiler and cargo put
diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md
index 537e7b93e523..05a23d26cf2f 100644
--- a/doc/languages-frameworks/vim.section.md
+++ b/doc/languages-frameworks/vim.section.md
@@ -3,7 +3,7 @@ title: User's Guide for Vim in Nixpkgs
author: Marc Weber
date: 2016-06-25
---
-# User's Guide to Vim Plugins/Addons/Bundles/Scripts in Nixpkgs
+# Vim
Both Neovim and Vim can be configured to include your favorite plugins
and additional libraries.
diff --git a/doc/manual.xml b/doc/manual.xml
index ab845e1a1086..7015e18d1e97 100644
--- a/doc/manual.xml
+++ b/doc/manual.xml
@@ -6,20 +6,32 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ Using Nixpkgs
+
+
+
+
+
+ Standard environment
+
+
+
+
+
+
+
+ Languages, frameworks and packages
+
+
+
+
+
+ Contributing to Nixpkgs
+
+
+
+
+
+
diff --git a/doc/platform-notes.xml b/doc/platform-notes.xml
index d8d7692fc9a7..5a266fdc0eea 100644
--- a/doc/platform-notes.xml
+++ b/doc/platform-notes.xml
@@ -1,6 +1,6 @@
+ xml:id="chap-platform-notes">
Platform NotesDarwin (macOS)
diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml
index 5a14684f9b1e..c6fb62567815 100644
--- a/doc/reviewing-contributions.xml
+++ b/doc/reviewing-contributions.xml
@@ -2,7 +2,7 @@
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
- xml:id="sec-reviewing-contributions">
+ xml:id="chap-reviewing-contributions">
Reviewing contributions