diff --git a/doc/functions.xml b/doc/functions.xml
index 7fd30cabf16b..5378b59abcb2 100644
--- a/doc/functions.xml
+++ b/doc/functions.xml
@@ -127,7 +127,7 @@ in ...
lib.makeOverridable
- The function lib.makeOverridable is used make the result
+ The function lib.makeOverridable is used to make the result
of a function easily customizable. This utility only makes sense for functions
that accept an argument set and return an attribute set.
diff --git a/doc/haskell-users-guide.xml b/doc/haskell-users-guide.xml
index 2f3b1eabb11d..2e9fd4b4ca0e 100644
--- a/doc/haskell-users-guide.xml
+++ b/doc/haskell-users-guide.xml
@@ -11,14 +11,13 @@
registered on
Hackage, but
strangely enough normal Nix package lookups don't seem to discover
- any of them:
+ any of them, except for the default version of ghc, cabal-install, and stack:
-$ nix-env -qa cabal-install
-error: selector ‘cabal-install’ matches no derivations
-
-$ nix-env -i ghc
-error: selector ‘ghc’ matches no derivations
+$ nix-env -i alex
+error: selector ‘alex’ matches no derivations
+$ nix-env -qa ghc
+ghc-7.10.2
The Haskell package set is not registered in the top-level namespace
diff --git a/doc/language-support.xml b/doc/language-support.xml
index a969111ed77c..48b9209b0ad0 100644
--- a/doc/language-support.xml
+++ b/doc/language-support.xml
@@ -981,6 +981,72 @@ stdenv.mkDerivation {
+Qt
+
+The information in this section applies to Qt 5.5 and later.
+
+Qt is an application development toolkit for C++. Although it is
+not a distinct programming language, there are special considerations
+for packaging Qt-based programs and libraries. A small set of tools
+and conventions has grown out of these considerations.
+
+Libraries
+
+Packages that provide libraries should be listed in
+qt5LibsFun so that the library is built with each
+Qt version. A set of packages is provided for each version of Qt; for
+example, qt5Libs always provides libraries built
+with the latest version, qt55Libs provides
+libraries built with Qt 5.5, and so on. To avoid version conflicts, no
+top-level attributes are created for these packages.
+
+
+
+Programs
+
+Application packages do not need to be built with every Qt
+version. To ensure consistency between the package's dependencies,
+call the package with qt5Libs.callPackage instead
+of the usual callPackage. An older version may be
+selected in case of incompatibility. For example, to build with Qt
+5.5, call the package with
+qt55Libs.callPackage.
+
+Several environment variables must be set at runtime for Qt
+applications to function correctly, including:
+
+
+ QT_PLUGIN_PATH
+ QML_IMPORT_PATH
+ QML2_IMPORT_PATH
+ XDG_DATA_DIRS
+
+
+To ensure that these are set correctly, the program must be wrapped by
+invoking wrapQtProgram program
+during installation (for example, during
+fixupPhase). wrapQtProgram
+accepts the same options as makeWrapper.
+
+
+
+
+KDE
+
+Many of the considerations above also apply to KDE packages,
+especially the need to set the correct environment variables at
+runtime. To ensure that this is done, invoke wrapKDEProgram
+program during
+installation. wrapKDEProgram also generates a
+ksycoca database so that required data and services
+can be found. Like its Qt counterpart,
+wrapKDEProgram accepts the same options as
+makeWrapper.
+
+
+
+
+