summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/cross-compilation.xml12
-rw-r--r--doc/languages-frameworks/texlive.xml4
-rw-r--r--doc/multiple-output.xml10
-rw-r--r--doc/package-notes.xml4
-rw-r--r--doc/release-notes.xml16
-rw-r--r--doc/reviewing-contributions.xml20
-rw-r--r--doc/stdenv.xml14
-rw-r--r--doc/submitting-changes.xml30
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--nixos/doc/manual/Makefile2
-rw-r--r--nixos/doc/manual/configuration/linux-kernel.xml11
-rw-r--r--nixos/doc/manual/configuration/modularity.xml2
-rw-r--r--nixos/doc/manual/development/assertions.xml4
-rw-r--r--nixos/doc/manual/development/option-types.xml12
-rw-r--r--nixos/doc/manual/development/writing-documentation.xml8
-rw-r--r--nixos/doc/manual/installation/upgrading.xml2
-rw-r--r--nixos/doc/manual/manual.xml2
-rw-r--r--nixos/doc/manual/options-to-docbook.xsl2
-rw-r--r--nixos/modules/i18n/input-method/default.xml8
-rw-r--r--nixos/modules/installer/cd-dvd/iso-image.nix2
-rw-r--r--[-rwxr-xr-x]nixos/modules/installer/tools/nixos-generate-config.pl2
-rw-r--r--nixos/modules/programs/zsh/oh-my-zsh.xml8
-rw-r--r--nixos/modules/security/acme.xml6
-rw-r--r--nixos/modules/services/databases/foundationdb.xml18
-rw-r--r--nixos/modules/services/databases/postgresql.xml6
-rw-r--r--nixos/modules/services/editors/emacs.xml24
-rw-r--r--nixos/modules/services/misc/gitlab.xml6
-rw-r--r--nixos/modules/services/misc/taskserver/doc.xml8
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.xml4
-rw-r--r--nixos/modules/services/networking/bird.nix1
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.xml8
-rw-r--r--nixos/modules/services/networking/networkmanager.nix29
-rw-r--r--nixos/modules/services/web-apps/matomo-doc.xml8
-rw-r--r--nixos/modules/services/web-servers/nginx/vhost-options.nix2
-rw-r--r--nixos/modules/services/x11/display-managers/auto.nix14
-rw-r--r--nixos/modules/services/x11/display-managers/default.nix21
-rw-r--r--nixos/modules/tasks/network-interfaces-scripted.nix7
-rw-r--r--nixos/release.nix2
-rw-r--r--nixos/tests/flatpak.nix2
-rw-r--r--pkgs/applications/altcoins/ethabi.nix5
-rw-r--r--pkgs/applications/altcoins/ethrun.nix5
-rw-r--r--pkgs/applications/audio/axoloti/dfu-util.nix2
-rw-r--r--pkgs/applications/audio/axoloti/libusb1.nix6
-rw-r--r--pkgs/applications/audio/distrho/default.nix1
-rw-r--r--pkgs/applications/audio/lastfmsubmitd/default.nix3
-rw-r--r--pkgs/applications/audio/pianobar/default.nix8
-rw-r--r--pkgs/applications/audio/pulseeffects/default.nix4
-rw-r--r--pkgs/applications/editors/flpsed/default.nix2
-rw-r--r--pkgs/applications/graphics/grafx2/default.nix2
-rw-r--r--pkgs/applications/graphics/k3d/default.nix9
-rw-r--r--pkgs/applications/graphics/krita/default.nix6
-rw-r--r--pkgs/applications/graphics/qcomicbook/default.nix43
-rw-r--r--pkgs/applications/misc/golden-cheetah/default.nix7
-rw-r--r--pkgs/applications/misc/goldendict/default.nix8
-rw-r--r--pkgs/applications/misc/gphoto2/gphotofs.nix10
-rw-r--r--pkgs/applications/misc/gxneur/default.nix5
-rw-r--r--pkgs/applications/misc/krename/default.nix1
-rw-r--r--pkgs/applications/misc/mop/default.nix5
-rw-r--r--pkgs/applications/misc/nut/default.nix7
-rw-r--r--pkgs/applications/misc/orpie/default.nix2
-rw-r--r--pkgs/applications/misc/pdf-quench/default.nix1
-rw-r--r--pkgs/applications/misc/pdfshuffler/default.nix2
-rw-r--r--pkgs/applications/misc/pinfo/default.nix1
-rw-r--r--pkgs/applications/misc/posterazor/default.nix7
-rw-r--r--pkgs/applications/misc/terminal-notifier/default.nix4
-rw-r--r--pkgs/applications/misc/timewarrior/default.nix2
-rw-r--r--pkgs/applications/misc/wordnet/default.nix5
-rw-r--r--pkgs/applications/misc/xautoclick/default.nix7
-rw-r--r--pkgs/applications/misc/xchm/default.nix5
-rw-r--r--pkgs/applications/misc/xpdf/default.nix10
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/sup/default.nix2
-rw-r--r--pkgs/applications/office/keepnote/default.nix2
-rw-r--r--pkgs/applications/science/logic/jonprl/default.nix2
-rw-r--r--pkgs/applications/science/math/jags/default.nix10
-rw-r--r--pkgs/applications/science/math/symmetrica/default.nix2
-rw-r--r--pkgs/applications/science/programming/plm/default.nix2
-rw-r--r--pkgs/applications/version-management/tkcvs/default.nix2
-rw-r--r--pkgs/applications/video/uvccapture/default.nix3
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix2
-rw-r--r--pkgs/applications/window-managers/larswm/default.nix2
-rw-r--r--pkgs/data/icons/numix-cursor-theme/default.nix2
-rw-r--r--pkgs/desktops/deepin/deepin-gettext-tools/default.nix46
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch12
-rw-r--r--pkgs/desktops/gnome-3/misc/geary/default.nix4
-rw-r--r--pkgs/development/compilers/glslang/default.nix20
-rw-r--r--pkgs/development/compilers/orc/default.nix4
-rw-r--r--pkgs/development/interpreters/qnial/default.nix2
-rw-r--r--pkgs/development/libraries/LASzip/default.nix4
-rw-r--r--pkgs/development/libraries/audio/jamomacore/default.nix2
-rw-r--r--pkgs/development/libraries/bwidget/default.nix2
-rw-r--r--pkgs/development/libraries/clipper/default.nix2
-rw-r--r--pkgs/development/libraries/gtkimageview/default.nix2
-rw-r--r--pkgs/development/libraries/libircclient/default.nix4
-rw-r--r--pkgs/development/libraries/qt-3/default.nix54
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix4
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix4
-rw-r--r--pkgs/development/mobile/androidenv/androidndk-pkgs.nix2
-rw-r--r--pkgs/development/mobile/androidenv/default.nix4
-rw-r--r--pkgs/development/python-modules/dependency-injector/default.nix23
-rw-r--r--pkgs/development/tools/backblaze-b2/default.nix15
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile2
-rw-r--r--pkgs/development/tools/misc/travis/Gemfile.lock22
-rw-r--r--pkgs/development/tools/misc/travis/gemset.nix40
-rw-r--r--pkgs/development/tools/packet/default.nix16
-rw-r--r--pkgs/development/tools/packet/deps.nix84
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix10
-rw-r--r--pkgs/development/tools/vulkan-validation-layers/default.nix4
-rw-r--r--pkgs/games/instead/default.nix4
-rw-r--r--pkgs/os-specific/linux/psmisc/default.nix4
-rw-r--r--pkgs/servers/dns/powerdns/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix6
-rw-r--r--pkgs/servers/home-assistant/default.nix4
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/search/elasticsearch/plugins.nix12
-rw-r--r--pkgs/tools/graphics/vulkan-tools/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-tree/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix2
122 files changed, 614 insertions, 399 deletions
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index a7b43aeec23f..3b90596bcc2c 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -30,7 +30,7 @@
  <section xml:id="sec-cross-packaging">
   <title>Packaging in a cross-friendly manner</title>
 
-  <section>
+  <section xml:id="sec-cross-platform-parameters">
    <title>Platform parameters</title>
 
    <para>
@@ -219,7 +219,7 @@
    </variablelist>
   </section>
 
-  <section>
+  <section xml:id="sec-cross-specifying-dependencies">
    <title>Specifying Dependencies</title>
 
    <para>
@@ -304,7 +304,7 @@
    </note>
   </section>
 
-  <section>
+  <section xml:id="sec-cross-cookbook">
    <title>Cross packaging cookbook</title>
 
    <para>
@@ -317,7 +317,7 @@
    </para>
 
    <qandaset>
-    <qandaentry>
+    <qandaentry xml:id="cross-qa-build-c-program-in-build-environment">
      <question>
       <para>
        What if my package's build system needs to build a C program to be run
@@ -331,7 +331,7 @@
       </para>
      </answer>
     </qandaentry>
-    <qandaentry>
+    <qandaentry xml:id="cross-qa-fails-to-find-ar">
      <question>
       <para>
        My package fails to find <command>ar</command>.
@@ -347,7 +347,7 @@
       </para>
      </answer>
     </qandaentry>
-    <qandaentry>
+    <qandaentry xml:id="cross-testsuite-runs-host-code">
      <question>
       <para>
        My package's testsuite needs to run host platform code.
diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml
index af0b07166e3e..e42d0a811111 100644
--- a/doc/languages-frameworks/texlive.xml
+++ b/doc/languages-frameworks/texlive.xml
@@ -8,7 +8,7 @@
   under attribute <varname>texlive</varname>.
  </para>
 
- <section>
+ <section xml:id="sec-language-texlive-users-guide">
   <title>User's guide</title>
 
   <itemizedlist>
@@ -68,7 +68,7 @@ nix-repl> texlive.collection-&lt;TAB>
   </itemizedlist>
  </section>
 
- <section>
+ <section xml:id="sec-language-texlive-known-problems">
   <title>Known problems</title>
 
   <itemizedlist>
diff --git a/doc/multiple-output.xml b/doc/multiple-output.xml
index 981b4b966cdf..e96e84bfe72f 100644
--- a/doc/multiple-output.xml
+++ b/doc/multiple-output.xml
@@ -6,7 +6,7 @@
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-multiple-output">
  <title>Multiple-output packages</title>
- <section>
+ <section xml:id="sec-multiple-outputs-introduction">
   <title>Introduction</title>
 
   <para>
@@ -38,7 +38,7 @@
    </para>
   </note>
  </section>
- <section>
+ <section xml:id="sec-multiple-outputs-installing">
   <title>Installing a split package</title>
 
   <para>
@@ -84,7 +84,7 @@
    </listitem>
   </itemizedlist>
  </section>
- <section>
+ <section xml:id="sec-multiple-outputs-using-split-packages">
   <title>Using a split package</title>
 
   <para>
@@ -102,7 +102,7 @@
    also added. (See <xref linkend="multiple-output-file-type-groups" />.)
   </para>
  </section>
- <section>
+ <section xml:id="sec-multiple-outputs-">
   <title>Writing a split derivation</title>
 
   <para>
@@ -283,7 +283,7 @@
    </variablelist>
   </section>
 
-  <section>
+  <section xml:id="sec-multiple-outputs-caveats">
    <title>Common caveats</title>
 
    <itemizedlist>
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index 8c7c63c8c8d7..c2aef8937b06 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -181,7 +181,7 @@ $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
  </section>
 <!--============================================================-->
 <!--
-<section>
+<section xml:id="sec-package-notes-gnome">
   <title>Gnome</title>
   <para>* Expression is auto-generated</para>
   <para>* How to update</para>
@@ -189,7 +189,7 @@ $ cat $(PRINT_PATH=1 nix-prefetch-url $i | tail -n 1) \
 -->
 <!--============================================================-->
 <!--
-<section>
+<section xml:id="sec-package-notes-gcc">
   <title>GCC</title>
   <para>…</para>
 </section>
diff --git a/doc/release-notes.xml b/doc/release-notes.xml
index 6dae6ae5620e..8d9b1813010a 100644
--- a/doc/release-notes.xml
+++ b/doc/release-notes.xml
@@ -2,7 +2,7 @@
 <article xmlns="http://docbook.org/ns/docbook"
          xmlns:xlink="http://www.w3.org/1999/xlink">
  <title>Nixpkgs Release Notes</title>
- <section>
+ <section xml:id="release-notes-0.14">
   <title>Release 0.14 (June 4, 2012)</title>
 
   <para>
@@ -17,7 +17,7 @@
    packages by numerous contributors. For details, see the commit logs.
   </para>
  </section>
- <section>
+ <section xml:id="release-notes-0.13">
   <title>Release 0.13 (February 5, 2010)</title>
 
   <para>
@@ -51,7 +51,7 @@
    </itemizedlist>
   </para>
  </section>
- <section>
+ <section xml:id="release-notes-0.12">
   <title>Release 0.12 (April 24, 2009)</title>
 
   <para>
@@ -145,7 +145,7 @@
    <literal>nix-dev</literal> mailing list.
   </para>
  </section>
- <section>
+ <section xml:id="release-notes-0.11">
   <title>Release 0.11 (September 11, 2007)</title>
 
   <para>
@@ -344,7 +344,7 @@ export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</prog
    Bravenboer, Michael Raskin, Wouter den Breejen and Yury G. Kudryashov.
   </para>
  </section>
- <section>
+ <section xml:id="release-notes-0.10">
   <title>Release 0.10 (October 12, 2006)</title>
 
   <note>
@@ -547,7 +547,7 @@ stdenv.mkDerivation {
    Bravenboer, Merijn de Jonge, Rob Vermaas and Roy van den Broek.
   </para>
  </section>
- <section>
+ <section xml:id="release-notes-0.9">
   <title>Release 0.9 (January 31, 2006)</title>
 
   <para>
@@ -676,7 +676,7 @@ stdenv.mkDerivation {
    Martin Bravenboer, Rob Vermaas and Roy van den Broek.
   </para>
  </section>
- <section>
+ <section xml:id="release-notes-0.8">
   <title>Release 0.8 (April 11, 2005)</title>
 
   <para>
@@ -700,7 +700,7 @@ stdenv.mkDerivation {
    </itemizedlist>
   </para>
  </section>
- <section>
+ <section xml:id="release-notes-0.7">
   <title>Release 0.7 (March 14, 2005)</title>
 
   <itemizedlist>
diff --git a/doc/reviewing-contributions.xml b/doc/reviewing-contributions.xml
index 6b854e085549..849bb9316c60 100644
--- a/doc/reviewing-contributions.xml
+++ b/doc/reviewing-contributions.xml
@@ -56,7 +56,7 @@
   meant as examples. Their usage is optional and the reviewer is free to adapt
   them to their liking.
  </para>
- <section>
+ <section xml:id="reviewing-contributions-package-updates">
   <title>Package updates</title>
 
   <para>
@@ -208,7 +208,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
    </listitem>
   </itemizedlist>
 
-  <example>
+  <example xml:id="reviewing-contributions-sample-package-update">
    <title>Sample template for a package update review</title>
 <screen>
 ##### Reviewed points
@@ -226,7 +226,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 </screen>
   </example>
  </section>
- <section>
+ <section xml:id="reviewing-contributions-new-packages">
   <title>New packages</title>
 
   <para>
@@ -320,7 +320,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
    </listitem>
   </itemizedlist>
 
-  <example>
+  <example xml:id="reviewing-contributions-sample-new-package">
    <title>Sample template for a new package review</title>
 <screen>
 ##### Reviewed points
@@ -346,7 +346,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 </screen>
   </example>
  </section>
- <section>
+ <section xml:id="reviewing-contributions-module-updates">
   <title>Module updates</title>
 
   <para>
@@ -443,7 +443,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
    </listitem>
   </itemizedlist>
 
-  <example>
+  <example xml:id="reviewing-contributions-sample-module-update">
    <title>Sample template for a module update review</title>
 <screen>
 ##### Reviewed points
@@ -464,7 +464,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 </screen>
   </example>
  </section>
- <section>
+ <section xml:id="reviewing-contributions-new-modules">
   <title>New modules</title>
 
   <para>
@@ -542,7 +542,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
    </listitem>
   </itemizedlist>
 
-  <example>
+  <example xml:id="reviewing-contributions-sample-new-module">
    <title>Sample template for a new module review</title>
 <screen>
 ##### Reviewed points
@@ -564,7 +564,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
 </screen>
   </example>
  </section>
- <section>
+ <section xml:id="reviewing-contributions-other-submissions">
   <title>Other submissions</title>
 
   <para>
@@ -585,7 +585,7 @@ $ nix-shell -p nox --run "nox-review -k pr PRNUMBER"
    pull requests fitting this category.
   </para>
  </section>
- <section>
+ <section xml:id="reviewing-contributions--merging-pull-requests">
   <title>Merging pull-requests</title>
 
   <para>
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index f751cfa5b410..7a0f8f270bad 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -212,7 +212,7 @@ genericBuild
    platforms relative to the new derivation's, and whether they are propagated.
    The platform distinctions are motivated by cross compilation; see
    <xref linkend="chap-cross"/> for exactly what each platform means.
-   <footnote>
+   <footnote xml:id="footnote-stdenv-ignored-build-platform">
     <para>
      The build platform is ignored because it is a mere implementation detail
      of the package satisfying the dependency: As a general programming
@@ -233,7 +233,7 @@ genericBuild
    out only for dependencies whose host platform matches the new derivation's
    build platform–i.e. which run on the platform where the new derivation
    will be built.
-   <footnote>
+   <footnote xml:id="footnote-stdenv-native-dependencies-in-path">
     <para>
      Currently, that means for native builds all dependencies are put on the
      <envar>PATH</envar>. But in the future that may not be the case for sake
@@ -280,7 +280,7 @@ genericBuild
    <link xlink:href="https://en.wikipedia.org/wiki/Natural_deduction">Natural
    Deduction</link> using the inference rules. This probably seems a bit
    obtuse, but so is the bash code that actually implements it!
-   <footnote>
+   <footnote xml:id="footnote-stdenv-find-inputs-location">
     <para>
      The <function>findInputs</function> function, currently residing in
      <filename>pkgs/stdenv/generic/setup.sh</filename>, implements the
@@ -1112,7 +1112,7 @@ passthru = {
        By default, the configure phase applies some special hackery to all
        files called <filename>ltmain.sh</filename> before running the configure
        script in order to improve the purity of Libtool-based packages
-       <footnote>
+       <footnote xml:id="footnote-stdenv-sys-lib-search-path">
         <para>
          It clears the
          <varname>sys_lib_<replaceable>*</replaceable>search_path</varname>
@@ -1151,7 +1151,7 @@ passthru = {
        or a subset to control exactly which platform flags are passed.
        Compilers and other tools should use this to also pass the target
        platform, for example.
-       <footnote>
+       <footnote xml:id="footnote-stdenv-build-time-guessing-impurity">
         <para>
          Eventually these will be passed when in native builds too, to improve
          determinism: build-time guessing, as is done today, is a risk of
@@ -1732,7 +1732,7 @@ set debug-file-directory ~/.nix-profile/lib/debug
        Controls whether the installCheck phase is executed. By default it is
        skipped, but if <varname>doInstallCheck</varname> is set to true, the
        installCheck phase is usually executed. Thus you should set
-       <programlisting>doInstallCheck = true;</programlisting>
+<programlisting>doInstallCheck = true;</programlisting>
        in the derivation to enable install checks. The exception is cross
        compilation. Cross compiled builds never run tests, no matter how
        <varname>doInstallCheck</varname> is set, as the newly-built program
@@ -2213,7 +2213,7 @@ addEnvHooks "$hostOffset" myBashFunction
        <command>clang</command> is to be used. Secondly, this helps packages
        not get confused when cross-compiling, in which case multiple Bintools
        Wrappers may simultaneously be in use.
-       <footnote>
+       <footnote xml:id="footnote-stdenv-per-platform-wrapper">
         <para>
          Each wrapper targets a single platform, so if binaries for multiple
          platforms are needed, the underlying binaries must be wrapped multiple
diff --git a/doc/submitting-changes.xml b/doc/submitting-changes.xml
index 6c6f808f631e..4a6a2c634a58 100644
--- a/doc/submitting-changes.xml
+++ b/doc/submitting-changes.xml
@@ -2,7 +2,7 @@
          xmlns:xlink="http://www.w3.org/1999/xlink"
          xml:id="chap-submitting-changes">
  <title>Submitting changes</title>
- <section>
+ <section xml:id="submitting-changes-making-patches">
   <title>Making patches</title>
 
   <itemizedlist>
@@ -205,7 +205,7 @@ Additional information.
    </listitem>
   </itemizedlist>
  </section>
- <section>
+ <section xml:id="submitting-changes-submitting-changes">
   <title>Submitting changes</title>
 
   <itemizedlist>
@@ -253,7 +253,7 @@ Additional information.
    </listitem>
   </itemizedlist>
  </section>
- <section>
+ <section xml:id="submitting-changes-pull-request-template">
   <title>Pull Request Template</title>
 
   <para>
@@ -269,7 +269,7 @@ Additional information.
    below:
   </para>
 
-  <section>
+  <section xml:id="submitting-changes-tested-with-sandbox">
    <title>Tested using sandboxing</title>
 
    <para>
@@ -322,7 +322,7 @@ Additional information.
    </para>
   </section>
 
-  <section>
+  <section xml:id="submitting-changes-platform-diversity">
    <title>Built on platform(s)</title>
 
    <para>
@@ -334,7 +334,7 @@ Additional information.
    </para>
   </section>
 
-  <section>
+  <section xml:id="submitting-changes-nixos-tests">
    <title>Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)</title>
 
    <para>
@@ -350,7 +350,7 @@ Additional information.
    </para>
   </section>
 
-  <section>
+  <section xml:id="submitting-changes-tested-compilation">
    <title>Tested compilation of all pkgs that depend on this change using <command>nox-review</command></title>
 
    <para>
@@ -373,7 +373,7 @@ Additional information.
    </para>
   </section>
 
-  <section>
+  <section xml:id="submitting-changes-tested-execution">
    <title>Tested execution of all binary files (usually in <filename>./result/bin/</filename>)</title>
 
    <para>
@@ -387,8 +387,8 @@ Additional information.
    </para>
   </section>
 
-  <section>
-   <title>Meets nixpkgs contribution standards</title>
+  <section xml:id="submitting-changes-contribution-standards">
+   <title>Meets Nixpkgs contribution standards</title>
 
    <para>
     The last checkbox is fits
@@ -402,7 +402,7 @@ Additional information.
    </para>
   </section>
  </section>
- <section>
+ <section xml:id="submitting-changes-hotfixing-pull-requests">
   <title>Hotfixing pull requests</title>
 
   <itemizedlist>
@@ -430,7 +430,7 @@ Additional information.
    </listitem>
   </itemizedlist>
  </section>
- <section>
+ <section xml:id="submitting-changes-commit-policy">
   <title>Commit policy</title>
 
   <itemizedlist>
@@ -456,7 +456,7 @@ Additional information.
    </listitem>
   </itemizedlist>
 
-  <section>
+  <section xml:id="submitting-changes-master-branch">
    <title>Master branch</title>
 
    <itemizedlist>
@@ -468,7 +468,7 @@ Additional information.
    </itemizedlist>
   </section>
 
-  <section>
+  <section xml:id="submitting-changes-staging-branch">
    <title>Staging branch</title>
 
    <itemizedlist>
@@ -493,7 +493,7 @@ Additional information.
    </itemizedlist>
   </section>
 
-  <section>
+  <section xml:id="submitting-changes-stable-release-branches">
    <title>Stable release branches</title>
 
    <itemizedlist>
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 1800c6d8f49a..fb6057448bef 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1570,6 +1570,11 @@
     github = "grburst";
     name = "Julius Elias";
   };
+  greydot = {
+    email = "lanablack@amok.cc";
+    github = "greydot";
+    name = "Lana Black";
+  };
   gridaphobe = {
     email = "eric@seidel.io";
     github = "gridaphobe";
diff --git a/nixos/doc/manual/Makefile b/nixos/doc/manual/Makefile
index 5cbbf140869a..2e9adf70c396 100644
--- a/nixos/doc/manual/Makefile
+++ b/nixos/doc/manual/Makefile
@@ -11,7 +11,7 @@ manual-combined.xml: generated *.xml
 
 .PHONY: format
 format:
-	find . -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
+	find ../../ -iname '*.xml' -type f -print0 | xargs -0 -I{} -n1 \
 		xmlformat --config-file "../xmlformat.conf" -i {}
 
 .PHONY: fix-misc-xml
diff --git a/nixos/doc/manual/configuration/linux-kernel.xml b/nixos/doc/manual/configuration/linux-kernel.xml
index f4d697c42dbd..2f766f2b32f7 100644
--- a/nixos/doc/manual/configuration/linux-kernel.xml
+++ b/nixos/doc/manual/configuration/linux-kernel.xml
@@ -66,14 +66,15 @@ nixpkgs.config.packageOverrides = pkgs:
   sets the kernel’s TCP keepalive time to 120 seconds. To see the available
   parameters, run <command>sysctl -a</command>.
  </para>
- <section>
+ <section xml:id="sec-linux-config-customizing">
   <title>Customize your kernel</title>
 
   <para>
    The first step before compiling the kernel is to generate an appropriate
-   <literal>.config</literal> configuration. Either you pass your own config via
-   the <literal>configfile</literal> setting of <literal>linuxManualConfig</literal>:
-  <screen><![CDATA[
+   <literal>.config</literal> configuration. Either you pass your own config
+   via the <literal>configfile</literal> setting of
+   <literal>linuxManualConfig</literal>:
+<screen><![CDATA[
   custom-kernel = super.linuxManualConfig {
     inherit (super) stdenv hostPlatform;
     inherit (linux_4_9) src;
@@ -117,7 +118,7 @@ You can edit the config with this snippet (by default <command>make menuconfig</
   ]]></screen>
   </para>
  </section>
- <section>
+ <section xml:id="sec-linux-config-developing-modules">
   <title>Developing kernel modules</title>
 
   <para>
diff --git a/nixos/doc/manual/configuration/modularity.xml b/nixos/doc/manual/configuration/modularity.xml
index 3ff96f719ec5..298ffd661f67 100644
--- a/nixos/doc/manual/configuration/modularity.xml
+++ b/nixos/doc/manual/configuration/modularity.xml
@@ -74,7 +74,7 @@ The unique option `services.httpd.adminAddr' is defined multiple times, in `/etc
   argument is for: it contains the complete, merged system configuration. That
   is, <varname>config</varname> is the result of combining the configurations
   returned by every module
-  <footnote>
+  <footnote xml:id="footnote-nix-is-lazy">
    <para>
     If you’re wondering how it’s possible that the (indirect)
     <emphasis>result</emphasis> of a function is passed as an
diff --git a/nixos/doc/manual/development/assertions.xml b/nixos/doc/manual/development/assertions.xml
index 17c38ffcc717..32f90cf2e7c4 100644
--- a/nixos/doc/manual/development/assertions.xml
+++ b/nixos/doc/manual/development/assertions.xml
@@ -20,7 +20,7 @@
   NixOS module system.
  </para>
 
- <section>
+ <section xml:id="sec-assertions-warnings">
   <title>Warnings</title>
 
   <para>
@@ -44,7 +44,7 @@
 </programlisting>
  </section>
 
- <section>
+ <section xml:id="sec-assertions-assertions">
   <title>Assertions</title>
 
   <para>
diff --git a/nixos/doc/manual/development/option-types.xml b/nixos/doc/manual/development/option-types.xml
index 47dd09158e91..e6c9eae11a72 100644
--- a/nixos/doc/manual/development/option-types.xml
+++ b/nixos/doc/manual/development/option-types.xml
@@ -11,7 +11,7 @@
   value definitions.
  </para>
 
- <section>
+ <section xml:id="sec-option-types-basic">
   <title>Basic Types</title>
 
   <para>
@@ -196,7 +196,7 @@
   </variablelist>
  </section>
 
- <section>
+ <section xml:id="sec-option-types-value">
   <title>Value Types</title>
 
   <para>
@@ -257,7 +257,7 @@
   </variablelist>
  </section>
 
- <section>
+ <section xml:id="sec-option-types-composed">
   <title>Composed Types</title>
 
   <para>
@@ -483,7 +483,7 @@ config.mod.two = { foo = 2; bar = "two"; };</screen>
   </example>
  </section>
 
- <section>
+ <section xml:id="sec-option-types-extending">
   <title>Extending types</title>
 
   <para>
@@ -543,14 +543,14 @@ nixThings = mkOption {
   </variablelist>
  </section>
 
- <section>
+ <section xml:id="sec-option-types-custom">
   <title>Custom Types</title>
 
   <para>
    Custom types can be created with the <literal>mkOptionType</literal>
    function. As type creation includes some more complex topics such as
    submodule handling, it is recommended to get familiar with
-   <filename 
+   <filename
   xlink:href="https://github.com/NixOS/nixpkgs/blob/master/lib/types.nix">types.nix</filename>
    code before creating a new type.
   </para>
diff --git a/nixos/doc/manual/development/writing-documentation.xml b/nixos/doc/manual/development/writing-documentation.xml
index 8ecdd1c770f2..2183937ad0da 100644
--- a/nixos/doc/manual/development/writing-documentation.xml
+++ b/nixos/doc/manual/development/writing-documentation.xml
@@ -10,7 +10,7 @@
   sources and presenting it in an accessible style would be a worthy
   contribution to the project.
  </para>
- <section>
+ <section xml:id="sec-writing-docs-building-the-manual">
   <title>Building the Manual</title>
 
   <para>
@@ -42,7 +42,7 @@
    <filename>./result/share/doc/nixos/index.html</filename>.
   </para>
  </section>
- <section>
+ <section xml:id="sec-writing-docs-editing-docbook-xml">
   <title>Editing DocBook XML</title>
 
   <para>
@@ -76,7 +76,7 @@
    Issue</link> and someone will handle the conversion to XML for you.
   </para>
  </section>
- <section>
+ <section xml:id="sec-writing-docs-creating-a-topic">
   <title>Creating a Topic</title>
 
   <para>
@@ -128,7 +128,7 @@
    </itemizedlist>
   </para>
  </section>
- <section>
+ <section xml:id="sec-writing-docs-adding-a-topic">
   <title>Adding a Topic to the Book</title>
 
   <para>
diff --git a/nixos/doc/manual/installation/upgrading.xml b/nixos/doc/manual/installation/upgrading.xml
index 20355812ec63..85e5082575d3 100644
--- a/nixos/doc/manual/installation/upgrading.xml
+++ b/nixos/doc/manual/installation/upgrading.xml
@@ -109,7 +109,7 @@ nixos https://nixos.org/channels/nixos-unstable
    so in that case you will not be able to go back to your original channel.
   </para>
  </warning>
- <section>
+ <section xml:id="sec-upgrading-automatic">
   <title>Automatic Upgrades</title>
 
   <para>
diff --git a/nixos/doc/manual/manual.xml b/nixos/doc/manual/manual.xml
index e9338efbc025..a5efde32885c 100644
--- a/nixos/doc/manual/manual.xml
+++ b/nixos/doc/manual/manual.xml
@@ -8,7 +8,7 @@
   <subtitle>Version <xi:include href="./generated/version" parse="text" />
   </subtitle>
  </info>
- <preface>
+ <preface xml:id="preface">
   <title>Preface</title>
   <para>
    This manual describes how to install, use and extend NixOS, a Linux
diff --git a/nixos/doc/manual/options-to-docbook.xsl b/nixos/doc/manual/options-to-docbook.xsl
index 43a69806a2b0..2038b0dff63e 100644
--- a/nixos/doc/manual/options-to-docbook.xsl
+++ b/nixos/doc/manual/options-to-docbook.xsl
@@ -15,7 +15,7 @@
 
 
   <xsl:template match="/expr/list">
-    <appendix>
+    <appendix xml:id="appendix-configuration-options">
       <title>Configuration Options</title>
       <variablelist xml:id="configuration-variable-list">
         <xsl:for-each select="attrs">
diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml
index eb75b7415c9c..524fbbb19e91 100644
--- a/nixos/modules/i18n/input-method/default.xml
+++ b/nixos/modules/i18n/input-method/default.xml
@@ -23,7 +23,7 @@
       bridge.</para></listitem>
 </itemizedlist>
 
-<section><title>IBus</title>
+<section xml:id="module-services-input-methods-ibus"><title>IBus</title>
 
 <para>IBus is an Intelligent Input Bus. It provides full featured and user
   friendly input method user interface.</para>
@@ -82,7 +82,7 @@ ibus.engines = with pkgs.ibus-engines; [ table table-others ];
 </simplesect>
 </section>
 
-<section><title>Fcitx</title>
+<section xml:id="module-services-input-methods-fcitx"><title>Fcitx</title>
 
 <para>Fcitx is an input method framework with extension support. It has three
   built-in Input Method Engine, Pinyin, QuWei and Table-based input
@@ -122,7 +122,7 @@ i18n.inputMethod = {
 </itemizedlist>
 </section>
 
-<section><title>Nabi</title>
+<section xml:id="module-services-input-methods-nabi"><title>Nabi</title>
 
 <para>Nabi is an easy to use Korean X input method. It allows you to enter
   phonetic Korean characters (hangul) and pictographic Korean characters
@@ -136,7 +136,7 @@ i18n.inputMethod = {
 </programlisting>
 </section>
 
-<section><title>Uim</title>
+<section xml:id="module-services-input-methods-uim"><title>Uim</title>
 
 <para>Uim (short for "universal input method") is a multilingual input method
   framework. Applications can use it through so-called bridges.</para>
diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix
index 74fce0d1721d..98712f0759a9 100644
--- a/nixos/modules/installer/cd-dvd/iso-image.nix
+++ b/nixos/modules/installer/cd-dvd/iso-image.nix
@@ -233,7 +233,7 @@ let
             "
     # Make our own efi program, we can't rely on "grub-install" since it seems to
     # probe for devices, even with --skip-fs-probe.
-    ${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/bootx64.efi -p /EFI/boot -O x86_64-efi \
+    ${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/${if targetArch == "x64" then "bootx64" else "bootx32"}.efi -p /EFI/boot -O ${if targetArch == "x64" then "x86_64" else "i386"}-efi \
       $MODULES
     cp ${pkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/
 
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index 04678c919c22..359caad89a72 100755..100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -575,7 +575,7 @@ $bootLoaderConfig
   # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 
   # Configure network proxy if necessary
-  # networking.proxy.default = "http://user:password@proxy:port/";
+  # networking.proxy.default = "http://user:password\@proxy:port/";
   # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
 
   # Select internationalisation properties.
diff --git a/nixos/modules/programs/zsh/oh-my-zsh.xml b/nixos/modules/programs/zsh/oh-my-zsh.xml
index b74da8630ee7..6567d4a42fac 100644
--- a/nixos/modules/programs/zsh/oh-my-zsh.xml
+++ b/nixos/modules/programs/zsh/oh-my-zsh.xml
@@ -10,7 +10,7 @@
 to manage your <link xlink:href="https://www.zsh.org/">ZSH</link> configuration
 including completion scripts for several CLI tools or custom prompt themes.</para>
 
-<section><title>Basic usage</title>
+<section xml:id="module-programs-oh-my-zsh-usage"><title>Basic usage</title>
 <para>The module uses the <literal>oh-my-zsh</literal> package with all available features.  The
 initial setup using Nix expressions is fairly similar to the configuration format
 of <literal>oh-my-zsh</literal>.
@@ -32,7 +32,7 @@ For a detailed explanation of these arguments please refer to the
 configuration and writes it into your <literal>/etc/zshrc</literal>.
 </para></section>
 
-<section><title>Custom additions</title>
+<section xml:id="module-programs-oh-my-zsh-additions"><title>Custom additions</title>
 
 <para>Sometimes third-party or custom scripts such as a modified theme may be needed.
 <literal>oh-my-zsh</literal> provides the
@@ -48,7 +48,7 @@ environment variable for this which points to a directory with additional script
 </programlisting>
 </para></section>
 
-<section><title>Custom environments</title>
+<section xml:id="module-programs-oh-my-zsh-environments"><title>Custom environments</title>
 
 <para>There are several extensions for <literal>oh-my-zsh</literal> packaged in <literal>nixpkgs</literal>.
 One of them is <link xlink:href="https://github.com/spwhitt/nix-zsh-completions">nix-zsh-completions</link>
@@ -77,7 +77,7 @@ as it requires an immutable store path while <literal>custom</literal> shall rem
 will be thrown if both <literal>custom</literal> and <literal>customPkgs</literal> are set.</emphasis>
 </para></section>
 
-<section><title>Package your own customizations</title>
+<section xml:id="module-programs-oh-my-zsh-packaging-customizations"><title>Package your own customizations</title>
 
 <para>If third-party customizations (e.g. new themes) are supposed to be added to <literal>oh-my-zsh</literal>
 there are several pitfalls to keep in mind:</para>
diff --git a/nixos/modules/security/acme.xml b/nixos/modules/security/acme.xml
index 7cdc554989ea..b4cd83f6632c 100644
--- a/nixos/modules/security/acme.xml
+++ b/nixos/modules/security/acme.xml
@@ -11,7 +11,7 @@ retrieval and renewal using the ACME protocol. This is currently only
 implemented by and for Let's Encrypt. The alternative ACME client
 <literal>simp_le</literal> is used under the hood.</para>
 
-<section><title>Prerequisites</title>
+<section xml:id="module-security-acme-prerequisites"><title>Prerequisites</title>
 
 <para>You need to have a running HTTP server for verification. The server must
 have a webroot defined that can serve
@@ -41,7 +41,7 @@ http {
 
 </section>
 
-<section><title>Configuring</title>
+<section xml:id="module-security-acme-configuring"><title>Configuring</title>
 
 <para>To enable ACME certificate retrieval &amp; renewal for a certificate for
 <literal>foo.example.com</literal>, add the following in your
@@ -66,7 +66,7 @@ options for the <link linkend="opt-security.acme.certs">security.acme</link> mod
 
 </section>
 
-<section><title>Using ACME certificates in Nginx</title>
+<section xml:id="module-security-acme-nginx"><title>Using ACME certificates in Nginx</title>
 <para>NixOS supports fetching ACME certificates for you by setting
   <literal><link linkend="opt-services.nginx.virtualHosts._name_.enableACME">enableACME</link> = true;</literal> in a virtualHost config. We
 first create self-signed placeholder certificates in place of the
diff --git a/nixos/modules/services/databases/foundationdb.xml b/nixos/modules/services/databases/foundationdb.xml
index f4090c492764..7883680d46cc 100644
--- a/nixos/modules/services/databases/foundationdb.xml
+++ b/nixos/modules/services/databases/foundationdb.xml
@@ -17,7 +17,7 @@
 <para>FoundationDB (or "FDB") is an open source, distributed, transactional
 key-value store.</para>
 
-<section><title>Configuring and basic setup</title>
+<section xml:id="module-services-foundationdb-configuring"><title>Configuring and basic setup</title>
 
 <para>To enable FoundationDB, add the following to your
 <filename>configuration.nix</filename>:
@@ -133,7 +133,7 @@ corresponding <option>services.foundationdb.logDir</option> as well.</para>
 
 </section>
 
-<section><title>Scaling processes and backup agents</title>
+<section xml:id="module-services-foundationdb-scaling"><title>Scaling processes and backup agents</title>
 
 <para>Scaling the number of server processes is quite easy; simply specify
 <option>services.foundationdb.serverProcesses</option> to be the number of
@@ -151,7 +151,7 @@ available backup processes.</para>
 
 </section>
 
-<section><title>Clustering</title>
+<section xml:id="module-services-foundationdb-clustering"><title>Clustering</title>
 
 <para>FoundationDB on NixOS works similarly to other Linux systems, so this
 section will be brief. Please refer to the full FoundationDB documentation for
@@ -221,7 +221,7 @@ informing all client processes to do the same.</para>
 
 </section>
 
-<section><title>Client connectivity</title>
+<section xml:id="module-services-foundationdb-connectivity"><title>Client connectivity</title>
 
 <para>By default, all clients must use the current
 <command>fdb.cluster</command> file to access a given FoundationDB cluster.
@@ -232,7 +232,7 @@ to a new node in order to connect, if it is not part of the cluster.</para>
 
 </section>
 
-<section><title>Client authorization and TLS</title>
+<section xml:id="module-services-foundationdb-authorization"><title>Client authorization and TLS</title>
 
 <para>By default, any user who can connect to a FoundationDB process with the
 correct cluster configuration can access anything. FoundationDB uses a
@@ -270,7 +270,7 @@ on.</para>
 
 </section>
 
-<section><title>Backups and Disaster Recovery</title>
+<section xml:id="module-services-foundationdb-disaster-recovery"><title>Backups and Disaster Recovery</title>
 
 <para>The usual rules for doing FoundationDB backups apply on NixOS as written
 in the FoundationDB manual. However, one important difference is the security
@@ -316,7 +316,7 @@ $ sudo -u foundationdb fdbbackup status -t default
 
 </section>
 
-<section><title>Known limitations</title>
+<section xml:id="module-services-foundationdb-limitations"><title>Known limitations</title>
 
 <para>The FoundationDB setup for NixOS should currently be considered beta.
 FoundationDB is not new software, but the NixOS compilation and integration has
@@ -333,7 +333,7 @@ only undergone fairly basic testing of all the available functionality.</para>
 
 </section>
 
-<section><title>Options</title>
+<section xml:id="module-services-foundationdb-options"><title>Options</title>
 
 <para>NixOS's FoundationDB module allows you to configure all of the most
 relevant configuration options for <command>fdbmonitor</command>, matching it
@@ -343,7 +343,7 @@ also read the FoundationDB documentation as well.</para>
 
 </section>
 
-<section><title>Full documentation</title>
+<section xml:id="module-services-foundationdb-full-docs"><title>Full documentation</title>
 
 <para>FoundationDB is a complex piece of software, and requires careful
 administration to properly use. Full documentation for administration can be
diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml
index 98a631c0cd32..1aaf33963245 100644
--- a/nixos/modules/services/databases/postgresql.xml
+++ b/nixos/modules/services/databases/postgresql.xml
@@ -17,7 +17,7 @@
 
 <para>PostgreSQL is an advanced, free relational database.<!-- MORE --></para>
 
-<section><title>Configuring</title>
+<section xml:id="module-services-postgres-configuring"><title>Configuring</title>
 
 <para>To enable PostgreSQL, add the following to your
 <filename>configuration.nix</filename>:
@@ -60,14 +60,14 @@ alice=>
 </section>
 
 
-<section><title>Upgrading</title>
+<section xml:id="module-services-postgres-upgrading"><title>Upgrading</title>
 
 <para>FIXME: document dump/upgrade/load cycle.</para>
 
 </section>
 
 
-<section><title>Options</title>
+<section xml:id="module-services-postgres-options"><title>Options</title>
 
   <para>A complete list of options for the PostgreSQL module may be found <link linkend="opt-services.postgresql.enable">here</link>.</para>
 
diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml
index dfab5ce4a79d..631570d6dec2 100644
--- a/nixos/modules/services/editors/emacs.xml
+++ b/nixos/modules/services/editors/emacs.xml
@@ -39,7 +39,7 @@
     starting the Emacs daemon.
   </para>
 
-  <section>
+  <section xml:id="module-services-emacs-installing">
     <title>Installing <application>Emacs</application></title>
 
     <para>
@@ -49,7 +49,7 @@
       can be enabled.
     </para>
 
-    <section>
+    <section xml:id="module-services-emacs-releases">
       <title>The Different Releases of Emacs</title>
 
       <para>
@@ -100,7 +100,7 @@
       </para>
 
     </section>
-    <section>
+    <section xml:id="module-services-emacs-adding-packages">
       <title>Adding Packages to Emacs</title>
       <para>
         Emacs includes an entire ecosystem of functionality beyond
@@ -339,7 +339,7 @@ https://nixos.org/nixpkgs/manual/#sec-modify-via-packageOverrides
       </para>
     </section>
 
-    <section>
+    <section xml:id="module-services-emacs-advanced">
       <title>Advanced Emacs Configuration</title>
 
       <para>
@@ -380,7 +380,7 @@ in [...]
     </section>
   </section>
 
-<section>
+<section xml:id="module-services-emacs-running">
   <title>Running Emacs as a Service</title>
   <para>
     <productname>NixOS</productname> provides an optional
@@ -396,7 +396,7 @@ in [...]
     <filename>modules/services/editors/emacs.nix</filename>
   </para>
 
-  <section>
+  <section xml:id="module-services-emacs-enabling">
     <title>Enabling the Service</title>
 
     <para>
@@ -438,7 +438,7 @@ $ systemctl --user start emacs.service  # to start the Emacs daemon
 
   </section>
 
-  <section>
+  <section xml:id="module-services-emacs-starting-client">
     <title>Starting the client</title>
     <para>
       Ensure that the emacs server is enabled, either by customizing
@@ -457,7 +457,7 @@ emacsclient --create-frame --tty  # opens a new frame on the current terminal
     </para>
   </section>
 
-  <section>
+  <section xml:id="module-services-emacs-editor-variable">
     <title>Configuring the <varname>EDITOR</varname> variable</title>
     <!--<title><command>emacsclient</command> as the Default Editor</title>-->
 
@@ -487,7 +487,7 @@ emacsclient --create-frame --tty  # opens a new frame on the current terminal
     </para>
   </section>
 
-  <section>
+  <section xml:id="module-services-emacs-per-user">
     <title>Per-User Enabling of the Service</title>
 
     <para>
@@ -515,7 +515,7 @@ emacsclient --create-frame --tty  # opens a new frame on the current terminal
   </section>
 </section>
 
-<section>
+<section xml:id="module-services-emacs-configuring">
   <title>Configuring Emacs</title>
 
   <para>
@@ -548,7 +548,7 @@ emacsclient --create-frame --tty  # opens a new frame on the current terminal
       server-switch-hook, server-done-hook?
   -->
 
-  <section>
+  <section xml:id="module-services-emacs-major-mode">
     <title>A Major Mode for Nix Expressions</title>
 
     <para>
@@ -558,7 +558,7 @@ emacsclient --create-frame --tty  # opens a new frame on the current terminal
     </para>
   </section>
 
-  <section>
+  <section xml:id="module-services-emacs-man-pages">
     <title>Accessing man pages</title>
     <para>
       You can use <function>woman</function> to get completion of all
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml
index 3306ba8e9b11..67b9f1d3e474 100644
--- a/nixos/modules/services/misc/gitlab.xml
+++ b/nixos/modules/services/misc/gitlab.xml
@@ -8,7 +8,7 @@
 
 <para>Gitlab is a feature-rich git hosting service.</para>
 
-<section><title>Prerequisites</title>
+<section xml:id="module-services-gitlab-prerequisites"><title>Prerequisites</title>
 
 <para>The gitlab service exposes only an Unix socket at
 <literal>/run/gitlab/gitlab-workhorse.socket</literal>. You need to configure a
@@ -35,7 +35,7 @@ webserver to proxy HTTP requests to the socket.</para>
 
 </section>
 
-<section><title>Configuring</title>
+<section xml:id="module-services-gitlab-configuring"><title>Configuring</title>
 
 <para>Gitlab depends on both PostgreSQL and Redis and will automatically enable
 both services. In the case of PostgreSQL, a database and a role will be created.
@@ -119,7 +119,7 @@ options for the <link linkend="opt-services.gitlab.enable">services.gitlab</link
 
 </section>
 
-<section><title>Maintenance</title>
+<section xml:id="module-services-gitlab-maintenance"><title>Maintenance</title>
 
 <para>You can run Gitlab's rake tasks with <literal>gitlab-rake</literal>
 which will be available on the system when gitlab is enabled. You will
diff --git a/nixos/modules/services/misc/taskserver/doc.xml b/nixos/modules/services/misc/taskserver/doc.xml
index 75493ac1394f..21d25ecf391f 100644
--- a/nixos/modules/services/misc/taskserver/doc.xml
+++ b/nixos/modules/services/misc/taskserver/doc.xml
@@ -16,7 +16,7 @@
     <link xlink:href="https://taskwarrior.org/docs/#taskd"/>
   </para>
 
-  <section>
+  <section xml:id="module-services-taskserver-configuration">
     <title>Configuration</title>
 
     <para>
@@ -48,7 +48,7 @@
     </para>
   </section>
 
-  <section>
+  <section xml:id="module-services-taskserver-nixos-taskserver-tool">
     <title>The nixos-taskserver tool</title>
 
     <para>
@@ -78,7 +78,7 @@
       <option>--help</option> switch.
     </para>
   </section>
-  <section>
+  <section xml:id="module-services-taskserver-declarative-ca-management">
     <title>Declarative/automatic CA management</title>
 
     <para>
@@ -131,7 +131,7 @@ $ ssh server nixos-taskserver user export my-company alice | sh
       <command>task sync</command> after that stage.
     </para>
   </section>
-  <section>
+  <section xml:id="module-services-taskserver-manual-ca-management">
     <title>Manual CA management</title>
 
     <para>
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.xml b/nixos/modules/services/monitoring/prometheus/exporters.xml
index 4f0bcb298106..be86abb74b44 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.xml
+++ b/nixos/modules/services/monitoring/prometheus/exporters.xml
@@ -8,7 +8,7 @@
 
 <para>Prometheus exporters provide metrics for the <link xlink:href="https://prometheus.io">prometheus monitoring system</link>.</para>
 
-<section><title>Configuration</title>
+<section xml:id="module-services-prometheus-exporters-configuration"><title>Configuration</title>
   <para>One of the most common exporters is the <link xlink:href="https://github.com/prometheus/node_exporter">node exporter</link>, it provides hardware and OS metrics from the host it's running on. The exporter could be configured as follows:
 <programlisting>
   services.promtheus.exporters.node = {
@@ -33,7 +33,7 @@ For more information about configuration see <literal>man configuration.nix</lit
 search through the <link xlink:href="https://nixos.org/nixos/options.html#prometheus.exporters">available options</link>.
 </para>
 </section>
-<section><title>Adding a new exporter</title>
+<section xml:id="module-services-prometheus-exporters-new-exporter"><title>Adding a new exporter</title>
   <para>To add a new exporter, it has to be packaged first (see <literal>nixpkgs/pkgs/servers/monitoring/prometheus/</literal> for examples), then a module can be added. The postfix exporter is used in this example:</para>
 <itemizedlist>
   <listitem>
diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix
index 9f08cc0a79ed..555733aab7c0 100644
--- a/nixos/modules/services/networking/bird.nix
+++ b/nixos/modules/services/networking/bird.nix
@@ -44,6 +44,7 @@ let
         systemd.services.${variant} = {
           description = "BIRD Internet Routing Daemon (${descr})";
           wantedBy = [ "multi-user.target" ];
+          reloadIfChanged = true;
           serviceConfig = {
             Type = "forking";
             Restart = "on-failure";
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml
index ff1088698589..a97579202523 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.xml
+++ b/nixos/modules/services/networking/dnscrypt-proxy.xml
@@ -14,7 +14,7 @@
     upstream is trustworthy).
   </para>
 
-  <sect1><title>Basic configuration</title>
+  <sect1 xml:id="sec-dnscrypt-proxy-configuration"><title>Basic configuration</title>
 
   <para>
     To enable the client proxy, set
@@ -31,7 +31,7 @@
 
   </sect1>
 
-  <sect1><title>As a forwarder for another DNS client</title>
+  <sect1 xml:id="sec-dnscrypt-proxy-forwarder"><title>As a forwarder for another DNS client</title>
 
   <para>
     To run the DNSCrypt proxy client as a forwarder for another
@@ -42,7 +42,7 @@
     </programlisting>
   </para>
 
-  <sect2><title>dnsmasq</title>
+  <sect2 xml:id="sec-dnscrypt-proxy-forwarder-dsnmasq"><title>dnsmasq</title>
   <para>
     <programlisting>
 {
@@ -53,7 +53,7 @@
   </para>
   </sect2>
 
-  <sect2><title>unbound</title>
+  <sect2 xml:id="sec-dnscrypt-proxy-forwarder-unbound"><title>unbound</title>
   <para>
     <programlisting>
 {
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index b0bc1c83d6b7..d5af4648e8f9 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -289,7 +289,7 @@ in {
             source = mkOption {
               type = types.path;
               description = ''
-                A script.
+                Path to the hook script.
               '';
             };
 
@@ -297,12 +297,28 @@ in {
               type = types.enum (attrNames dispatcherTypesSubdirMap);
               default = "basic";
               description = ''
-                Dispatcher hook type. Only basic hooks are currently available.
+                Dispatcher hook type. Look up the hooks described at
+                <link xlink:href="https://developer.gnome.org/NetworkManager/stable/NetworkManager.html">https://developer.gnome.org/NetworkManager/stable/NetworkManager.html</link>
+                and choose the type depending on the output folder.
+                You should then filter the event type (e.g., "up"/"down") from within your script.
               '';
             };
           };
         });
         default = [];
+        example = literalExample ''
+        [ {
+              source = pkgs.writeText "upHook" '''
+
+                if [ "$2" != "up" ]; then
+                    logger "exit: event $2 != up"
+                fi
+
+                # coreutils and iproute are in PATH too
+                logger "Device $DEVICE_IFACE coming up"
+            ''';
+            type = "basic";
+        } ]'';
         description = ''
           A list of scripts which will be executed in response to  network  events.
         '';
@@ -418,6 +434,7 @@ in {
       ++ lib.imap1 (i: s: {
         inherit (s) source;
         target = "NetworkManager/dispatcher.d/${dispatcherTypesSubdirMap.${s.type}}03userscript${lib.fixedWidthNumber 4 i}";
+        mode = "0544";
       }) cfg.dispatcherScripts
       ++ optional (dynamicHostsEnabled)
            { target = "NetworkManager/dnsmasq.d/dyndns.conf";
@@ -475,6 +492,14 @@ in {
       };
     };
 
+    systemd.services."NetworkManager-dispatcher" = {
+      wantedBy = [ "network.target" ];
+      restartTriggers = [ configFile ];
+
+      # useful binaries for user-specified hooks
+      path = [ pkgs.iproute pkgs.utillinux pkgs.coreutils ];
+    };
+
     # Turn off NixOS' network management
     networking = {
       useDHCP = false;
diff --git a/nixos/modules/services/web-apps/matomo-doc.xml b/nixos/modules/services/web-apps/matomo-doc.xml
index 456aae6cc366..6f878015c514 100644
--- a/nixos/modules/services/web-apps/matomo-doc.xml
+++ b/nixos/modules/services/web-apps/matomo-doc.xml
@@ -15,7 +15,7 @@
   </para>
 
 
-  <section>
+  <section xml:id="module-services-matomo-database-setup">
     <title>Database Setup</title>
 
     <para>
@@ -51,7 +51,7 @@
   </section>
 
 
-  <section>
+  <section xml:id="module-services-matomo-backups">
     <title>Backup</title>
     <para>
       You only need to take backups of your MySQL database and the
@@ -62,7 +62,7 @@
   </section>
 
 
-  <section>
+  <section xml:id="module-services-matomo-issues">
     <title>Issues</title>
     <itemizedlist>
       <listitem>
@@ -83,7 +83,7 @@
   </section>
 
 
-  <section>
+  <section xml:id="module-services-matomo-other-web-servers">
     <title>Using other Web Servers than nginx</title>
 
     <para>
diff --git a/nixos/modules/services/web-servers/nginx/vhost-options.nix b/nixos/modules/services/web-servers/nginx/vhost-options.nix
index 6954d932eed4..8e2b8819e71b 100644
--- a/nixos/modules/services/web-servers/nginx/vhost-options.nix
+++ b/nixos/modules/services/web-servers/nginx/vhost-options.nix
@@ -130,7 +130,7 @@ with lib;
     };
 
     sslTrustedCertificate = mkOption {
-      type = types.path;
+      type = types.nullOr types.path;
       default = null;
       example = "/var/root.cert";
       description = "Path to root SSL certificate for stapling and client certificates.";
diff --git a/nixos/modules/services/x11/display-managers/auto.nix b/nixos/modules/services/x11/display-managers/auto.nix
index ec419eea0677..1068a344e0cf 100644
--- a/nixos/modules/services/x11/display-managers/auto.nix
+++ b/nixos/modules/services/x11/display-managers/auto.nix
@@ -49,6 +49,20 @@ in
       };
     };
 
+    # lightdm by default doesn't allow auto login for root, which is
+    # required by some nixos tests. Override it here.
+    security.pam.services.lightdm-autologin.text = lib.mkForce ''
+        auth     requisite pam_nologin.so
+        auth     required  pam_succeed_if.so quiet
+        auth     required  pam_permit.so
+
+        account  include   lightdm
+
+        password include   lightdm
+
+        session  include   lightdm
+    '';
+
   };
 
 }
diff --git a/nixos/modules/services/x11/display-managers/default.nix b/nixos/modules/services/x11/display-managers/default.nix
index 66886f23737d..f561c5f8b7a9 100644
--- a/nixos/modules/services/x11/display-managers/default.nix
+++ b/nixos/modules/services/x11/display-managers/default.nix
@@ -27,6 +27,15 @@ let
     Xft.hintstyle: hintslight
   '';
 
+  mkCases = session:
+    concatStrings (
+      mapAttrsToList (name: starts: ''
+                       (${name})
+                         ${concatMapStringsSep "\n  " (n: n.start) starts}
+                         ;;
+                     '') (lib.groupBy (n: n.name) session)
+    );
+
   # file provided by services.xserver.displayManager.session.wrapper
   xsessionWrapper = pkgs.writeScript "xsession-wrapper"
     ''
@@ -139,21 +148,13 @@ let
 
       # Start the window manager.
       case "$windowManager" in
-        ${concatMapStrings (s: ''
-          (${s.name})
-            ${s.start}
-            ;;
-        '') wm}
+        ${mkCases wm}
         (*) echo "$0: Window manager '$windowManager' not found.";;
       esac
 
       # Start the desktop manager.
       case "$desktopManager" in
-        ${concatMapStrings (s: ''
-          (${s.name})
-            ${s.start}
-            ;;
-        '') dm}
+        ${mkCases dm}
         (*) echo "$0: Desktop manager '$desktopManager' not found.";;
       esac
 
diff --git a/nixos/modules/tasks/network-interfaces-scripted.nix b/nixos/modules/tasks/network-interfaces-scripted.nix
index f3f6a19318a2..af61c95da0af 100644
--- a/nixos/modules/tasks/network-interfaces-scripted.nix
+++ b/nixos/modules/tasks/network-interfaces-scripted.nix
@@ -473,7 +473,12 @@ let
               # Remove Dead Interfaces
               ip link show "${n}" >/dev/null 2>&1 && ip link delete "${n}"
               ip link add link "${v.interface}" name "${n}" type vlan id "${toString v.id}"
-              ip link set "${n}" up
+              
+              # We try to bring up the logical VLAN interface. If the master 
+              # interface the logical interface is dependent upon is not up yet we will 
+              # fail to immediately bring up the logical interface. The resulting logical
+              # interface will brought up later when the master interface is up.
+              ip link set "${n}" up || true
             '';
             postStop = ''
               ip link delete "${n}" || true
diff --git a/nixos/release.nix b/nixos/release.nix
index a91dda5fa74b..1013053b5b3b 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -249,7 +249,7 @@ in rec {
   tests.beegfs = callTest tests/beegfs.nix {};
   tests.bittorrent = callTest tests/bittorrent.nix {};
   tests.bind = callTest tests/bind.nix {};
-  tests.blivet = callTest tests/blivet.nix {};
+  #tests.blivet = callTest tests/blivet.nix {};   # broken since 2017-07024
   tests.boot = callSubTests tests/boot.nix {};
   tests.boot-stage1 = callTest tests/boot-stage1.nix {};
   tests.borgbackup = callTest tests/borgbackup.nix {};
diff --git a/nixos/tests/flatpak.nix b/nixos/tests/flatpak.nix
index 096b37e6e2cb..b0c61830d05a 100644
--- a/nixos/tests/flatpak.nix
+++ b/nixos/tests/flatpak.nix
@@ -10,6 +10,8 @@ import ./make-test.nix ({ pkgs, ... }:
   machine = { pkgs, ... }: {
     imports = [ ./common/x11.nix ];
     services.xserver.desktopManager.gnome3.enable = true; # TODO: figure out minimal environment where the tests work
+    # common/x11.nix enables the auto display manager (lightdm)
+    services.xserver.displayManager.gdm.enable = false;
     environment.gnome3.excludePackages = pkgs.gnome3.optionalPackages;
     services.flatpak.enable = true;
     environment.systemPackages = with pkgs; [ gnupg gnome-desktop-testing ostree python2 ];
diff --git a/pkgs/applications/altcoins/ethabi.nix b/pkgs/applications/altcoins/ethabi.nix
index 81b4cb52948f..d0bc700eb70f 100644
--- a/pkgs/applications/altcoins/ethabi.nix
+++ b/pkgs/applications/altcoins/ethabi.nix
@@ -17,10 +17,11 @@ buildRustPackage rec {
 
   cargoBuildFlags = ["--features cli"];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Ethereum function call encoding (ABI) utility";
     homepage = https://github.com/ethcore/ethabi/;
-    maintainers = [stdenv.lib.maintainers.dbrock];
+    maintainers = [ maintainers.dbrock ];
+    license = licenses.gpl3;
     inherit version;
   };
 }
diff --git a/pkgs/applications/altcoins/ethrun.nix b/pkgs/applications/altcoins/ethrun.nix
index 2a8c37610dba..c58d9d8faf48 100644
--- a/pkgs/applications/altcoins/ethrun.nix
+++ b/pkgs/applications/altcoins/ethrun.nix
@@ -15,10 +15,11 @@ buildRustPackage rec {
 
   cargoSha256 = "14x8pbjgkz0g724lnvd9mi2alqd6fipjljw6xsraf9gqwijn1kn0";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Directly run Ethereum bytecode";
     homepage = https://github.com/dapphub/ethrun/;
-    maintainers = [stdenv.lib.maintainers.dbrock];
+    maintainers = [ maintainers.dbrock ];
+    license = licenses.gpl3;
     broken = true; # mark temporary as broken
     inherit version;
   };
diff --git a/pkgs/applications/audio/axoloti/dfu-util.nix b/pkgs/applications/audio/axoloti/dfu-util.nix
index 2076e45de546..07a78260991f 100644
--- a/pkgs/applications/audio/axoloti/dfu-util.nix
+++ b/pkgs/applications/audio/axoloti/dfu-util.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       phones. With dfu-util you are able to download firmware to your device or
       upload firmware from it.
     '';
-    homepage = http://dfu-util.gnumonks.org/;
+    homepage = http://dfu-util.sourceforge.net;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = [ ];
diff --git a/pkgs/applications/audio/axoloti/libusb1.nix b/pkgs/applications/audio/axoloti/libusb1.nix
index cf71c006046e..1a6ebd346cca 100644
--- a/pkgs/applications/audio/axoloti/libusb1.nix
+++ b/pkgs/applications/audio/axoloti/libusb1.nix
@@ -29,10 +29,10 @@ stdenv.mkDerivation rec {
     sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.libusb.info;
     description = "User-space USB library";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/applications/audio/distrho/default.nix b/pkgs/applications/audio/distrho/default.nix
index 5885e0f73f53..bf79b68bc7db 100644
--- a/pkgs/applications/audio/distrho/default.nix
+++ b/pkgs/applications/audio/distrho/default.nix
@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
       TAL-Filter-2 TAL-NoiseMaker TAL-Reverb TAL-Reverb-2 TAL-Reverb-3
       TAL-Vocoder-2 TheFunction ThePilgrim Vex Wolpertinger
     '';
+    license = with licenses; [ gpl2 gpl3 gpl2Plus lgpl3 mit ];
     maintainers = [ maintainers.goibhniu ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/applications/audio/lastfmsubmitd/default.nix b/pkgs/applications/audio/lastfmsubmitd/default.nix
index e22bca29bc97..3135a00334c7 100644
--- a/pkgs/applications/audio/lastfmsubmitd/default.nix
+++ b/pkgs/applications/audio/lastfmsubmitd/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, pythonPackages }:
+{ lib, fetchurl, pythonPackages }:
 
 pythonPackages.buildPythonApplication rec {
   pname = "lastfmsubmitd";
@@ -15,6 +15,7 @@ pythonPackages.buildPythonApplication rec {
 
   meta = {
     homepage = https://www.red-bean.com/decklin/lastfmsubmitd/;
+    license = lib.licenses.mit;
     description = "An last.fm audio scrobbler and daemon";
   };
 }
diff --git a/pkgs/applications/audio/pianobar/default.nix b/pkgs/applications/audio/pianobar/default.nix
index 1518ed9b7942..60cd2567f625 100644
--- a/pkgs/applications/audio/pianobar/default.nix
+++ b/pkgs/applications/audio/pianobar/default.nix
@@ -1,16 +1,16 @@
-{ fetchurl, stdenv, pkgconfig, libao, json_c, libgcrypt, libav, curl }:
+{ fetchurl, stdenv, pkgconfig, libao, json_c, libgcrypt, ffmpeg, curl }:
 
 stdenv.mkDerivation rec {
-  name = "pianobar-2016.06.02";
+  name = "pianobar-2018.06.22";
 
   src = fetchurl {
     url = "http://6xq.net/projects/pianobar/${name}.tar.bz2";
-    sha256 = "0n9544bfsdp04xqcjm4nhfvp357dx0c3gpys0rjkq09nzv8b1vy6";
+    sha256 = "1hnlif62vsxgh8j9mcibxwj4gybpgqc11ba729kflpvvi9qmfqwl";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    libao json_c libgcrypt libav curl
+    libao json_c libgcrypt ffmpeg curl
   ];
 
   makeFlags="PREFIX=$(out)";
diff --git a/pkgs/applications/audio/pulseeffects/default.nix b/pkgs/applications/audio/pulseeffects/default.nix
index 37729868e6f7..0949611224df 100644
--- a/pkgs/applications/audio/pulseeffects/default.nix
+++ b/pkgs/applications/audio/pulseeffects/default.nix
@@ -43,13 +43,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   name = "pulseeffects-${version}";
-  version = "4.3.3";
+  version = "4.3.4";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "pulseeffects";
     rev = "v${version}";
-    sha256 = "1krfxvwqimfcsv7f2l722ivzz0qdf5h0pmb702mg65qb160zn065";
+    sha256 = "0gyyqxfmmp6hbwc10i48sxrgdxansm3vsbwgc6rh89clxwcnfiml";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/flpsed/default.nix b/pkgs/applications/editors/flpsed/default.nix
index bd00045bca91..67f789eee782 100644
--- a/pkgs/applications/editors/flpsed/default.nix
+++ b/pkgs/applications/editors/flpsed/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "WYSIWYG PostScript annotator";
-    homepage = http://http://flpsed.org/flpsed.html;
+    homepage = http://flpsed.org/flpsed.html;
     license = licenses.gpl3;
     platforms = platforms.mesaPlatforms;
     maintainers = with maintainers; [ fuuzetsu ];
diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix
index fd17ef69c992..b1580d73b641 100644
--- a/pkgs/applications/graphics/grafx2/default.nix
+++ b/pkgs/applications/graphics/grafx2/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance";
-    homepage = http://code.google.co/p/grafx2/;
+    homepage = http://pulkomandy.tk/projects/GrafX2;
     license = stdenv.lib.licenses.gpl2;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ stdenv.lib.maintainers.zoomulator ];
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index 3555c2b477ff..a4b509704a7f 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -39,12 +39,11 @@ stdenv.mkDerivation rec {
 
   #doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A 3D editor with support for procedural editing";
     homepage = http://www.k-3d.org/;
-    platforms = with stdenv.lib.platforms;
-      linux;
-    maintainers = with stdenv.lib.maintainers;
-      [raskin];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.raskin ];
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index 836a78ce058b..d4ac9720e15f 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchurl, cmake, extra-cmake-modules
+{ mkDerivation, lib, stdenv, fetchurl, cmake, extra-cmake-modules
 , karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons
 , kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem
 , kio, kcrash
@@ -23,10 +23,10 @@ mkDerivation rec {
     karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons
     ki18n kitemmodels kitemviews kwindowsystem kio kcrash
     boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib
-    openjpeg opencolorio vc poppler_qt5 curl ilmbase
+    openjpeg opencolorio poppler_qt5 curl ilmbase
     qtmultimedia qtx11extras
     python3
-  ];
+  ] ++ lib.optional (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) vc;
 
   NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ];
 
diff --git a/pkgs/applications/graphics/qcomicbook/default.nix b/pkgs/applications/graphics/qcomicbook/default.nix
new file mode 100644
index 000000000000..d67c8ef9b025
--- /dev/null
+++ b/pkgs/applications/graphics/qcomicbook/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, qtbase, qttools, qtx11extras, poppler_qt5 }:
+
+stdenv.mkDerivation rec {
+  name = "qcomicbook-${version}";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "stolowski";
+    repo = "QComicBook";
+    rev = version;
+    sha256 = "1b769lp6gfwds4jb2g7ymhdm9c06zg57zpyz3zpdb40w07zfsjzv";
+  };
+
+  nativeBuildInputs = [
+    cmake pkgconfig
+  ];
+
+  buildInputs = [
+    qtbase qttools qtx11extras poppler_qt5
+  ];
+
+  postInstall = ''
+    substituteInPlace $out/share/applications/*.desktop \
+      --replace "Exec=qcomicbook" "Exec=$out/bin/qcomicbook"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/stolowski/QComicBook;
+    description = "Comic book reader in Qt5";
+    license = licenses.gpl2;
+
+    longDescription = ''
+      QComicBook is a viewer for PDF files and comic book archives containing
+      jpeg/png/xpm/gif/bmp images, which aims at convenience and simplicity.
+      Features include: automatic unpacking of archive files, full-screen mode, continuous
+      scrolling mode, double-pages viewing, manga mode, thumbnails view, page scaling,
+      mouse or keyboard navigation etc.
+    '';
+
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ greydot ];
+  };
+}
diff --git a/pkgs/applications/misc/golden-cheetah/default.nix b/pkgs/applications/misc/golden-cheetah/default.nix
index f62eb92ac04a..eecc34b3d94f 100644
--- a/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/pkgs/applications/misc/golden-cheetah/default.nix
@@ -34,9 +34,10 @@ stdenv.mkDerivation rec {
   # RCC: Error in 'Resources/application.qrc': Cannot find file 'translations/gc_fr.qm'
   enableParallelBuilding = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Performance software for cyclists, runners and triathletes";
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.ocharles ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.ocharles ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/misc/goldendict/default.nix b/pkgs/applications/misc/goldendict/default.nix
index 5cb51eefe5d7..42d5d83f7bdb 100644
--- a/pkgs/applications/misc/goldendict/default.nix
+++ b/pkgs/applications/misc/goldendict/default.nix
@@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
 
   qmakeFlags = [ "CONFIG+=zim_support" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://goldendict.org/;
     description = "A feature-rich dictionary lookup program";
-
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = with stdenv.lib.maintainers; [ gebner astsmtl ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ gebner astsmtl ];
+    license = licenses.gpl3Plus;
   };
 }
diff --git a/pkgs/applications/misc/gphoto2/gphotofs.nix b/pkgs/applications/misc/gphoto2/gphotofs.nix
index 6fa11667cf33..7b23fca2121e 100644
--- a/pkgs/applications/misc/gphoto2/gphotofs.nix
+++ b/pkgs/applications/misc/gphoto2/gphotofs.nix
@@ -13,11 +13,11 @@ stdenv.mkDerivation rec {
     libgphoto2 fuse glib libtool
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Fuse FS to mount a digital camera";
-    maintainers = [
-      stdenv.lib.maintainers.raskin
-    ];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = http://www.gphoto.org/;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
+    license = with licenses; [ lgpl2 gpl2 ];
   };
 }
diff --git a/pkgs/applications/misc/gxneur/default.nix b/pkgs/applications/misc/gxneur/default.nix
index ec041902b256..9def56aa98c1 100644
--- a/pkgs/applications/misc/gxneur/default.nix
+++ b/pkgs/applications/misc/gxneur/default.nix
@@ -14,8 +14,9 @@ stdenv.mkDerivation {
     libglade GConf pcre libappindicator-gtk2
   ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "GUI for XNEUR keyboard layout switcher";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = with licenses; [ gpl2 gpl3 ];
   };
 }
diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix
index a0a2776ae360..52233ad2f2f4 100644
--- a/pkgs/applications/misc/krename/default.nix
+++ b/pkgs/applications/misc/krename/default.nix
@@ -20,6 +20,7 @@ in mkDerivation rec {
   meta = with lib; {
     homepage = http://www.krename.net;
     description = "A powerful batch renamer for KDE";
+    license = licenses.gpl2;
     inherit (kconfig.meta) platforms;
     maintainers = with maintainers; [ peterhoeg ];
   };
diff --git a/pkgs/applications/misc/mop/default.nix b/pkgs/applications/misc/mop/default.nix
index 8c6bd92d5362..b9179bbe5463 100644
--- a/pkgs/applications/misc/mop/default.nix
+++ b/pkgs/applications/misc/mop/default.nix
@@ -22,9 +22,10 @@ buildGoPackage rec {
     sha256 = "0zp51g9i8rw6acs4vnrxclbxa5z1v0a0m1xx27szszp0rphcczkx";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Simple stock tracker implemented in go";
     homepage =  https://github.com/mop-tracker/mop;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.mit;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/applications/misc/nut/default.nix b/pkgs/applications/misc/nut/default.nix
index 4d53203ccd4d..816918ca0638 100644
--- a/pkgs/applications/misc/nut/default.nix
+++ b/pkgs/applications/misc/nut/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
       "$out/lib:${neon}/lib:${libusb.out}/lib:${avahi}/lib:${freeipmi}/lib"
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Network UPS Tools";
     longDescription = ''
       Network UPS Tools is a collection of programs which provide a common
@@ -41,8 +41,9 @@ stdenv.mkDerivation rec {
     '';
     homepage = http://www.networkupstools.org/;
     repositories.git = https://github.com/networkupstools/nut.git;
-    platforms = with stdenv.lib.platforms; linux;
-    maintainers = with stdenv.lib.maintainers; [ pierron ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.pierron ];
+    license = with licenses; [ gpl1Plus gpl2Plus gpl3Plus ];
     priority = 10;
   };
 }
diff --git a/pkgs/applications/misc/orpie/default.nix b/pkgs/applications/misc/orpie/default.nix
index b1df6378f1e9..bc6aa242f338 100644
--- a/pkgs/applications/misc/orpie/default.nix
+++ b/pkgs/applications/misc/orpie/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses gsl ] ++ (with ocamlPackages; [ ocaml camlp4 ]);
 
   meta = {
-    homepage = http://pessimization.com/software/orpie/;
+    homepage = https://github.com/pelzlpj/orpie;
     description = "A fullscreen RPN calculator for the console";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/applications/misc/pdf-quench/default.nix b/pkgs/applications/misc/pdf-quench/default.nix
index c567a7903b81..0829c4f91ccc 100644
--- a/pkgs/applications/misc/pdf-quench/default.nix
+++ b/pkgs/applications/misc/pdf-quench/default.nix
@@ -31,6 +31,7 @@ pythonPackages.buildPythonApplication rec {
     homepage = https://github.com/linuxerwang/pdf-quench;
     description = "A visual tool for cropping pdf files";
     platforms = platforms.linux;
+    license = licenses.gpl2;
     maintainers = with maintainers; [ flokli ];
   };
 }
diff --git a/pkgs/applications/misc/pdfshuffler/default.nix b/pkgs/applications/misc/pdfshuffler/default.nix
index 025ad9cd30a1..35e52f7b977e 100644
--- a/pkgs/applications/misc/pdfshuffler/default.nix
+++ b/pkgs/applications/misc/pdfshuffler/default.nix
@@ -32,7 +32,7 @@ python3Packages.buildPythonApplication rec {
   doCheck = false; # no tests
 
   meta = with stdenv.lib; {
-    homepage = https://gna.org/projects/pdfshuffler/;
+    homepage = https://sourceforge.net/p/pdfshuffler/wiki/Home;
     description = "Merge or split pdf documents and rotate, crop and rearrange their pages";
     platforms = platforms.linux;
     maintainers = with maintainers; [ mic92 ];
diff --git a/pkgs/applications/misc/pinfo/default.nix b/pkgs/applications/misc/pinfo/default.nix
index 1085fed09565..04d8c2d2ff08 100644
--- a/pkgs/applications/misc/pinfo/default.nix
+++ b/pkgs/applications/misc/pinfo/default.nix
@@ -17,7 +17,6 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "A viewer for info files";
-    homepage = https://alioth.debian.org/projects/pinfo/;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/misc/posterazor/default.nix b/pkgs/applications/misc/posterazor/default.nix
index 6cb00fb1525c..45db856dbb9e 100644
--- a/pkgs/applications/misc/posterazor/default.nix
+++ b/pkgs/applications/misc/posterazor/default.nix
@@ -28,10 +28,11 @@ stdenv.mkDerivation rec {
     cp PosteRazor $out/bin
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://posterazor.sourceforge.net/;
     description = "Cuts a raster image into pieces which can afterwards be printed out and assembled to a poster";
-    maintainers = [ stdenv.lib.maintainers.madjar ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.madjar ];
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/terminal-notifier/default.nix b/pkgs/applications/misc/terminal-notifier/default.nix
index c838eca50659..b05c8a803996 100644
--- a/pkgs/applications/misc/terminal-notifier/default.nix
+++ b/pkgs/applications/misc/terminal-notifier/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     maintainers = with maintainers; [ cstrahan ];
-    platforms   = platforms.darwin;
+    homepage = https://github.com/julienXX/terminal-notifier;
+    license = licenses.mit;
+    platforms  = platforms.darwin;
   };
 }
diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix
index ff3caec29644..4ca7a86e6f7f 100644
--- a/pkgs/applications/misc/timewarrior/default.nix
+++ b/pkgs/applications/misc/timewarrior/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A command-line time tracker";
-    homepage = https://tasktools.org/projects/timewarrior.html;
+    homepage = https://taskwarrior.org/docs/timewarrior;
     license = licenses.mit;
     maintainers = with maintainers; [ mrVanDalo ];
     platforms = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix
index a2e3fa13fc6a..5d153a0e417f 100644
--- a/pkgs/applications/misc/wordnet/default.nix
+++ b/pkgs/applications/misc/wordnet/default.nix
@@ -42,7 +42,10 @@ stdenv.mkDerivation rec {
       '';
 
     homepage = https://wordnet.princeton.edu/;
-
+    license = {
+      fullName = "WordNet 3.0 license";
+      url = https://wordnet.princeton.edu/license-and-commercial-use;
+    };
     maintainers = [ ];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
diff --git a/pkgs/applications/misc/xautoclick/default.nix b/pkgs/applications/misc/xautoclick/default.nix
index bb18da4d4ada..045354da3d60 100644
--- a/pkgs/applications/misc/xautoclick/default.nix
+++ b/pkgs/applications/misc/xautoclick/default.nix
@@ -23,7 +23,10 @@ stdenv.mkDerivation rec {
     addToSearchPath PATH .bin
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Autoclicker application, which enables you to automatically click the left mousebutton";
+    homepage = http://xautoclick.sourceforge.net;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/xchm/default.nix b/pkgs/applications/misc/xchm/default.nix
index 74c9c807b81e..a7a6500fd22a 100644
--- a/pkgs/applications/misc/xchm/default.nix
+++ b/pkgs/applications/misc/xchm/default.nix
@@ -13,9 +13,10 @@ stdenv.mkDerivation {
     echo $NIX_LDFLAGS
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A viewer for Microsoft HTML Help files";
     homepage = http://xchm.sourceforge.net;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index 3cb416a5f7cb..7e0369b277d3 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -41,11 +41,11 @@ stdenv.mkDerivation {
       --set QT_PLUGIN_PATH ${qtbase.bin}/${qtbase.qtPluginPrefix}:${qtsvg.bin}/${qtbase.qtPluginPrefix}
   '';
 
-  meta = {
-    homepage = http://www.foolabs.com/xpdf/;
+  meta = with stdenv.lib; {
+    homepage = https://www.xpdfreader.com;
     description = "Viewer for Portable Document Format (PDF) files";
-
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.peti ];
+    license = with licenses; [ gpl2 gpl3 ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.peti ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
index 3997980bed41..6d75ba40ce01 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/tox-prpl/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
 
   meta = with stdenv.lib; {
-    homepage = http://tox.dhs.org/;
+    homepage = https://github.com/jin-eld/tox-prpl;
     description = "Tox plugin for Pidgin / libpurple";
     license = licenses.gpl3;
     platforms = platforms.linux;
diff --git a/pkgs/applications/networking/mailreaders/sup/default.nix b/pkgs/applications/networking/mailreaders/sup/default.nix
index 06777916b92a..c803db6dcbc1 100644
--- a/pkgs/applications/networking/mailreaders/sup/default.nix
+++ b/pkgs/applications/networking/mailreaders/sup/default.nix
@@ -15,7 +15,7 @@ bundlerEnv {
 
   meta = with lib; {
     description = "A curses threads-with-tags style email client";
-    homepage    = http://supmua.org;
+    homepage    = http://sup-heliotrope.github.io;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ cstrahan lovek323 ];
     platforms   = platforms.unix;
diff --git a/pkgs/applications/office/keepnote/default.nix b/pkgs/applications/office/keepnote/default.nix
index bb2c6adbf3b4..2e0b3f3fed7d 100644
--- a/pkgs/applications/office/keepnote/default.nix
+++ b/pkgs/applications/office/keepnote/default.nix
@@ -16,7 +16,7 @@ python2Packages.buildPythonApplication {
 
   meta = {
     description = "Note taking application";
-    homepage = http://rasm.ods.org/keepnote;
+    homepage = http://keepnote.org;
     license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/science/logic/jonprl/default.nix b/pkgs/applications/science/logic/jonprl/default.nix
index 982b5fc8b5fb..a95d1201cbd6 100644
--- a/pkgs/applications/science/logic/jonprl/default.nix
+++ b/pkgs/applications/science/logic/jonprl/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       based on Brouwer-realizability & meaning explanations.
       Inspired by Nuprl
     '';
-    homepage = http://www.jonprl.org/;
+    homepage = https://github.com/jonsterling/JonPRL;
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ puffnfresh ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/science/math/jags/default.nix b/pkgs/applications/science/math/jags/default.nix
index 2925e601e32b..1d1fb96a4739 100644
--- a/pkgs/applications/science/math/jags/default.nix
+++ b/pkgs/applications/science/math/jags/default.nix
@@ -9,11 +9,11 @@ stdenv.mkDerivation rec {
   buildInputs = [gfortran openblas];
   configureFlags = [ "--with-blas=-lopenblas" "--with-lapack=-lopenblas" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Just Another Gibbs Sampler";
-    license     = "GPL2";
-    homepage    = http://www-ice.iarc.fr/~martyn/software/jags/;
-    maintainers = [stdenv.lib.maintainers.andres];
-    platforms = stdenv.lib.platforms.unix;
+    license     = licenses.gpl2;
+    homepage    = http://mcmc-jags.sourceforge.net;
+    maintainers = [ maintainers.andres ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/math/symmetrica/default.nix b/pkgs/applications/science/math/symmetrica/default.nix
index a641993b393b..bc971606cd08 100644
--- a/pkgs/applications/science/math/symmetrica/default.nix
+++ b/pkgs/applications/science/math/symmetrica/default.nix
@@ -57,6 +57,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.publicDomain;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.unix;
-    homepage = http://www.symmetrica.de/;
+    homepage = http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/index.html;
   };
 }
diff --git a/pkgs/applications/science/programming/plm/default.nix b/pkgs/applications/science/programming/plm/default.nix
index f46f7afb659c..c454ad377686 100644
--- a/pkgs/applications/science/programming/plm/default.nix
+++ b/pkgs/applications/science/programming/plm/default.nix
@@ -28,9 +28,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Free cross-platform programming exerciser";
-    homepage = http://webloria.loria.fr/~quinson/Teaching/PLM/;
     license = licenses.gpl3;
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/version-management/tkcvs/default.nix b/pkgs/applications/version-management/tkcvs/default.nix
index 83116569dbe3..48558c15dc1c 100644
--- a/pkgs/applications/version-management/tkcvs/default.nix
+++ b/pkgs/applications/version-management/tkcvs/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation
   '';
 
   meta = {
-    homepage = http://www.twobarleycorns.net/tkcvs.html;
+    homepage = https://tkcvs.sourceforge.io;
     description = "TCL/TK GUI for cvs and subversion";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/applications/video/uvccapture/default.nix b/pkgs/applications/video/uvccapture/default.nix
index 468db4625103..dd595baa52e8 100644
--- a/pkgs/applications/video/uvccapture/default.nix
+++ b/pkgs/applications/video/uvccapture/default.nix
@@ -10,7 +10,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "uvccapture-0.5";
-  
+
   src = fetchurl {
     url = "mirror://debian/pool/main/u/uvccapture/uvccapture_0.5.orig.tar.gz";
     sha256 = "1b3akkcmr3brbf93akr8xi20w8zqf2g0qfq928500wy04qi6jqpi";
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Capture image from USB webcam at a specified interval";
-    homepage = http://linux-uvc.berlios.de/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index 2fa93af48310..03b60a5f3853 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://containerd.tools/;
+    homepage = https://containerd.io/;
     description = "A daemon to control runC";
     license = licenses.asl20;
     maintainers = with maintainers; [ offline vdemeester ];
diff --git a/pkgs/applications/window-managers/larswm/default.nix b/pkgs/applications/window-managers/larswm/default.nix
index 7a6c44abb551..21ea00d110e0 100644
--- a/pkgs/applications/window-managers/larswm/default.nix
+++ b/pkgs/applications/window-managers/larswm/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://larswm.fnurt.net/;
+    homepage = http://www.fnurt.net/larswm;
     description = "9wm-like tiling window manager";
     license = stdenv.lib.licenses.free;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/data/icons/numix-cursor-theme/default.nix b/pkgs/data/icons/numix-cursor-theme/default.nix
index 883276b00a8c..edeb61c6d3e1 100644
--- a/pkgs/data/icons/numix-cursor-theme/default.nix
+++ b/pkgs/data/icons/numix-cursor-theme/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Numix cursor theme";
-    homepage = https://numixproject.org;
+    homepage = https://numixproject.github.io;
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = with maintainers; [ offline ];
diff --git a/pkgs/desktops/deepin/deepin-gettext-tools/default.nix b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
new file mode 100644
index 000000000000..e275429b3951
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-gettext-tools/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, gettext, python3Packages, perlPackages }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-gettext-tools";
+  version = "1.0.8";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "03cwa82dd14a31v44jd3z0kpiri6g21ar4f48s8ph78nvjy55880";
+  };
+
+  nativeBuildInputs = [
+    python3Packages.wrapPython
+  ];
+
+  buildInputs = [
+    gettext
+    perlPackages.perl
+    perlPackages.XMLLibXML
+    perlPackages.ConfigTiny
+    python3Packages.python
+  ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  postPatch = ''
+    sed -e 's/sudo cp/cp/' -i src/generate_mo.py
+  '';
+
+  postFixup = ''
+    wrapPythonPrograms
+    wrapPythonProgramsIn "$out/lib/${pname}"
+    wrapProgram $out/bin/deepin-desktop-ts-convert --set PERL5LIB $PERL5LIB
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Deepin Internationalization utilities";
+    homepage = https://github.com/linuxdeepin/deepin-gettext-tools;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 42a4b1989ca4..e9406fc1a692 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -4,6 +4,7 @@ let
   packages = self: with self; {
 
     dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
+    deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
     deepin-gtk-theme = callPackage ./deepin-gtk-theme { };
     deepin-icon-theme = callPackage ./deepin-icon-theme { };
     deepin-terminal = callPackage ./deepin-terminal {
diff --git a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
index 7e76b8991fd4..6af2f7f4b03f 100644
--- a/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-font-viewer/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnome-font-viewer-${version}";
-  version = "3.28.0";
+  version = "3.30.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-font-viewer/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "16mp22f255b8zqnnlqh25n6v79b9bd0gmli9ywqyapa0cfai09x3";
+    sha256 = "1wwnx2zrlbd2d6np7m9s78alx6j6ranrnh1g2z6zrv9qcj8rpzz5";
   };
 
   passthru = {
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
index f33970251d5b..ad5b40d3c088 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/default.nix
@@ -8,11 +8,11 @@ let
   pname = "tracker-miners";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "2.1.1";
+  version = "2.1.3";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "107638773mihxdi194wf3saacqrr4cp9xn3qjfmx60bwq5451ma0";
+    sha256 = "10j6iifq0ccnqckdx7fqlrfifbvs08jbczgxajldz26057kwp8fz";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch b/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
index 74da929c5642..47ad114eb0b5 100644
--- a/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
+++ b/pkgs/desktops/gnome-3/core/tracker-miners/fix-paths.patch
@@ -1,6 +1,6 @@
 --- a/meson.build
 +++ b/meson.build
-@@ -37,15 +37,15 @@
+@@ -25,15 +25,15 @@
    #
    # This check acts as a guard to make sure we are being configured with the
    # right prefix, among other things.
@@ -17,12 +17,12 @@
 +  tracker_uninstalled_domain_rule = join_paths(tracker_miner.get_pkgconfig_variable('prefix'), 'share', 'tracker', 'domain-ontologies', 'default.rule')
 +  tracker_uninstalled_nepomuk_ontologies_dir = join_paths(tracker_miner.get_pkgconfig_variable('prefix'), 'share', 'tracker', 'ontologies', 'nepomuk')
 +  tracker_uninstalled_stop_words_dir = join_paths(tracker_miner.get_pkgconfig_variable('prefix'), 'share', 'tracker', 'stop-words', 'default.rule')
- endif
- 
- avcodec = dependency('libavcodec', version: '>= 0.8.4', required: false)
+ else
+   tracker_subproject = subproject('tracker',
+     default_options: [
 --- a/src/libtracker-miners-common/tracker-domain-ontology.c
 +++ b/src/libtracker-miners-common/tracker-domain-ontology.c
-@@ -313,7 +313,7 @@
+@@ -323,7 +323,7 @@
  			goto end;
  		}
  	} else {
@@ -31,7 +31,7 @@
  		                         DEFAULT_RULE, NULL);
  
  		if (!g_file_test (path, G_FILE_TEST_IS_REGULAR)) {
-@@ -378,7 +378,7 @@
+@@ -388,7 +388,7 @@
  	if (!priv->ontology_location) {
  		gchar *ontology_path;
  
diff --git a/pkgs/desktops/gnome-3/misc/geary/default.nix b/pkgs/desktops/gnome-3/misc/geary/default.nix
index 37f149c7ad9a..9077d6635233 100644
--- a/pkgs/desktops/gnome-3/misc/geary/default.nix
+++ b/pkgs/desktops/gnome-3/misc/geary/default.nix
@@ -6,14 +6,14 @@
 
 let
   pname = "geary";
-  version = "0.12.3";
+  version = "0.12.4";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "18zzjzs075zja00xpnyvjrrdzm54icdhfw4ywhpr6rqfcpnzifw7";
+    sha256 = "01ykhkjfkprvh9kp4rzrl6xs2pqibiw44ckvqsn5cs3xy2rlq8mm";
   };
 
   nativeBuildInputs = [ vala_0_40 intltool pkgconfig wrapGAppsHook cmake ninja desktop-file-utils gnome-doc-utils gobjectIntrospection ];
diff --git a/pkgs/development/compilers/glslang/default.nix b/pkgs/development/compilers/glslang/default.nix
index b2a4eda9a63e..eb444fffe895 100644
--- a/pkgs/development/compilers/glslang/default.nix
+++ b/pkgs/development/compilers/glslang/default.nix
@@ -1,20 +1,28 @@
-{ stdenv, fetchFromGitHub, cmake, bison, spirv-tools, jq }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, bison, spirv-tools, jq }:
 
 stdenv.mkDerivation rec {
   name = "glslang-git-${version}";
-  version = "2018-06-21";
+  version = "2018-07-27";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "glslang";
-    rev = "ef1f899b5d64a9628023f1bb129198674cba2b97";
-    sha256 = "052w6rahmy1wlphv533wz8nyn82icky28lprvl8w3acfq3831zg6";
+    rev = "e99a26810f65314183163c07664a40e05647c15f";
+    sha256 = "1w11z518xfbnf34xgzg1mp3xicpw2qmpcvaixlzw79s9ifqg5lqs";
   };
 
+  patches = [
+    # spirv-tools bump for vulkan sdk 1.1.82.1; remove on update
+    (fetchpatch {
+      url = "https://github.com/lenny-lunarg/glslang/commit/c7f4e818ac55f545289f87f8c37571b2eadcde86.patch";
+      sha256 = "197293alxjdpm3x1vd6pksdb1d9za42vlyn8yn2w786av0l7vf1k";
+    })
+  ];
+
   buildInputs = [ cmake bison jq ] ++ spirv-tools.buildInputs;
   enableParallelBuilding = true;
 
-  patchPhase = ''
+  postPatch = ''
     cp --no-preserve=mode -r "${spirv-tools.src}" External/spirv-tools
     ln -s "${spirv-tools.headers}" External/spirv-tools/external/spirv-headers
   '';
@@ -23,7 +31,7 @@ stdenv.mkDerivation rec {
     HEADERS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools/external/spirv-headers"))[0].commit')
     TOOLS_COMMIT=$(jq -r < known_good.json '.commits|map(select(.name=="spirv-tools"))[0].commit')
     if [ "$HEADERS_COMMIT" != "${spirv-tools.headers.rev}" ] || [ "$TOOLS_COMMIT" != "${spirv-tools.src.rev}" ]; then
-      echo "ERROR: spirv-tools commits do not match expected versions";
+      echo "ERROR: spirv-tools commits do not match expected versions: expected tools at $TOOLS_COMMIT, headers at $HEADERS_COMMIT";
       exit 1;
     fi
   '';
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 3f3db48828d4..1a81a5ec20a7 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -20,10 +20,10 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "The Oil Runtime Compiler";
-    homepage = http://code.entropywave.com/orc/;
+    homepage = https://gstreamer.freedesktop.org/projects/orc.html;
     # The source code implementing the Marsenne Twister algorithm is licensed
     # under the 3-clause BSD license. The rest is 2-clause BSD license.
-    license = licenses.bsd3;
+    license = with licenses; [ bsd3 bsd2 ];
     platforms = platforms.unix;
     maintainers = [ maintainers.fuuzetsu ];
   };
diff --git a/pkgs/development/interpreters/qnial/default.nix b/pkgs/development/interpreters/qnial/default.nix
index 0e368b31cdf4..779039c6d6aa 100644
--- a/pkgs/development/interpreters/qnial/default.nix
+++ b/pkgs/development/interpreters/qnial/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An array language from Nial Systems";
-    homepage = http://www.nial.com;
+    homepage = https://github.com/vrthra/qnial;
     license = stdenv.lib.licenses.artistic1;
     maintainers = [ stdenv.lib.maintainers.vrthra ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/LASzip/default.nix b/pkgs/development/libraries/LASzip/default.nix
index 4a166242eb3a..9522038df6af 100644
--- a/pkgs/development/libraries/LASzip/default.nix
+++ b/pkgs/development/libraries/LASzip/default.nix
@@ -8,12 +8,12 @@ stdenv.mkDerivation rec {
     url = "https://github.com/LASzip/LASzip/archive/v${version}.tar.gz";
     sha256 = "b8e8cc295f764b9d402bc587f3aac67c83ed8b39f1cb686b07c168579c61fbb2";
   };
-  
+
   buildInputs = [cmake];
 
   meta = {
     description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
-    homepage = https://www.laszip.org;
+    homepage = https://laszip.org;
     license = stdenv.lib.licenses.lgpl2;
     maintainers = [ stdenv.lib.maintainers.michelk ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/audio/jamomacore/default.nix b/pkgs/development/libraries/audio/jamomacore/default.nix
index 4e316ff1c991..b79d85bcd7c9 100644
--- a/pkgs/development/libraries/audio/jamomacore/default.nix
+++ b/pkgs/development/libraries/audio/jamomacore/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A C++ platform for building dynamic and reflexive systems with an emphasis on audio and media";
-    homepage = https://jamoma.org;
+    homepage = http://www.jamoma.org;
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.magnetophon ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/bwidget/default.nix b/pkgs/development/libraries/bwidget/default.nix
index 76c041e2ad56..99168fbe9e3e 100644
--- a/pkgs/development/libraries/bwidget/default.nix
+++ b/pkgs/development/libraries/bwidget/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ tcl ];
 
   meta = {
-    homepage = http://tcl.activestate.com/software/tcllib/;
+    homepage = https://sourceforge.net/projects/tcllib;
     description = "High-level widget set for Tcl/Tk";
     license = stdenv.lib.licenses.tcltk;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/clipper/default.nix b/pkgs/development/libraries/clipper/default.nix
index 31af37587821..086816655d3b 100644
--- a/pkgs/development/libraries/clipper/default.nix
+++ b/pkgs/development/libraries/clipper/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
       The Clipper library performs line & polygon clipping - intersection, union, difference & exclusive-or,
       and line & polygon offsetting. The library is based on Vatti's clipping algorithm.
     '';
-    homepage = https://www.angusj.com/delphi/clipper.php;
+    homepage = https://sourceforge.net/projects/polyclipping;
     license = licenses.boost;
     maintainers = with maintainers; [ mpickering ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/libraries/gtkimageview/default.nix b/pkgs/development/libraries/gtkimageview/default.nix
index 20584c3850ad..d6d32c26a509 100644
--- a/pkgs/development/libraries/gtkimageview/default.nix
+++ b/pkgs/development/libraries/gtkimageview/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    homepage = http://trac.bjourne.webfactional.com/;
+    homepage = "https://wiki.gnome.org/Projects/GTK%2B/GtkImageView";
 
     description = "Image viewer widget for GTK+";
 
diff --git a/pkgs/development/libraries/libircclient/default.nix b/pkgs/development/libraries/libircclient/default.nix
index 612de78b741d..71238dda1620 100644
--- a/pkgs/development/libraries/libircclient/default.nix
+++ b/pkgs/development/libraries/libircclient/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name    = "${pname}-${version}";
-  version = "1.9";
+  version = "1.10";
   pname   = "libircclient";
 
   src = fetchurl {
     url    = "mirror://sourceforge/${pname}/${pname}/${version}/${name}.tar.gz";
-    sha256 = "0r60i76jh4drjh2jgp5sx71chagqllmkaq49zv67nrhqwvp9ghw1";
+    sha256 = "0b9wa0h3xc31wpqlvgxgnvqp5wgx3kwsf5s9432m5cj8ycx6zcmv";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index 32841c9b9331..0691f26b4712 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -34,27 +34,39 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  configureFlags = "
-    -v
-    -system-zlib -system-libpng -system-libjpeg
-    -qt-gif
-    -I${xextproto}/include
-    ${if openglSupport then "-dlopen-opengl
-      -L${libGLU_combined}/lib -I${libGLU_combined}/include
-      -L${libXmu.out}/lib -I${libXmu.dev}/include" else ""}
-    ${if threadSupport then "-thread" else "-no-thread"}
-    ${if xrenderSupport then "-xrender -L${libXrender.out}/lib -I${libXrender.dev}/include" else "-no-xrender"}
-    ${if xrandrSupport then "-xrandr
-      -L${libXrandr.out}/lib -I${libXrandr.dev}/include
-      -I${randrproto}/include" else "-no-xrandr"}
-    ${if xineramaSupport then "-xinerama -L${libXinerama.out}/lib -I${libXinerama.dev}/include" else "-no-xinerama"}
-    ${if cursorSupport then "-L${libXcursor.out}/lib -I${libXcursor.dev}/include" else ""}
-    ${if mysqlSupport then "-qt-sql-mysql -L${mysql.connector-c}/lib/mysql -I${mysql.connector-c}/include/mysql" else ""}
-    ${if xftSupport then "-xft
-      -L${libXft.out}/lib -I${libXft.dev}/include
-      -L${libXft.freetype.out}/lib -I${libXft.freetype.dev}/include
-      -L${libXft.fontconfig.lib}/lib -I${libXft.fontconfig.dev}/include" else "-no-xft"}
-  ";
+  configureFlags = let
+    mk = cond: name: "-${stdenv.lib.optionalString (!cond) "no-"}${name}";
+  in [
+    "-v"
+    "-system-zlib" "-system-libpng" "-system-libjpeg"
+    "-qt-gif"
+    "-I${xextproto}/include"
+    (mk threadSupport "thread")
+    (mk xrenderSupport "xrender")
+    (mk xrandrSupport "xrandr")
+    (mk xineramaSupport "xinerama")
+    (mk xrandrSupport "xrandr")
+    (mk xftSupport "xft")
+  ] ++ stdenv.lib.optionals openglSupport [
+    "-dlopen-opengl"
+    "-L${libGLU_combined}/lib" "-I${libGLU_combined}/include"
+    "-L${libXmu.out}/lib" "-I${libXmu.dev}/include"
+  ] ++ stdenv.lib.optionals xrenderSupport [
+    "-L${libXrender.out}/lib" "-I${libXrender.dev}/include"
+  ] ++ stdenv.lib.optionals xrandrSupport [
+    "-L${libXrandr.out}/lib" "-I${libXrandr.dev}/include"
+    "-I${randrproto}/include"
+  ] ++ stdenv.lib.optionals xineramaSupport [
+    "-L${libXinerama.out}/lib" "-I${libXinerama.dev}/include"
+  ] ++ stdenv.lib.optionals cursorSupport [
+    "-L${libXcursor.out}/lib -I${libXcursor.dev}/include"
+  ] ++ stdenv.lib.optionals mysqlSupport [
+    "-qt-sql-mysql" "-L${mysql.connector-c}/lib/mysql" "-I${mysql.connector-c}/include/mysql"
+  ] ++ stdenv.lib.optionals xftSupport [
+    "-L${libXft.out}/lib" "-I${libXft.dev}/include"
+    "-L${libXft.freetype.out}/lib" "-I${libXft.freetype.dev}/include"
+    "-L${libXft.fontconfig.lib}/lib" "-I${libXft.fontconfig.dev}/include"
+  ];
 
   patches = [
     # Don't strip everything so we can get useful backtraces.
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
index e154403697fe..2a07eba261b7 100644
--- a/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake }:
 stdenv.mkDerivation rec {
   name = "vulkan-headers-${version}";
-  version = "1.1.77.0";
+  version = "1.1.82.0";
 
   buildInputs = [ cmake ];
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Headers";
     rev = "sdk-${version}";
-    sha256 = "1k01y5cj154mw7853w5xh135b2jp6k83kzwknw0dbs5adj4dx0kf";
+    sha256 = "1pp0kmgd89g8rz6qqfqmdmv209s0d6hbsshrzrlwrdm6dc25f20p";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index e44a678194ae..5ffdc4375373 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, cmake, python3, vulkan-headers, pkgconfig,
   xlibsWrapper, libxcb, libXrandr, libXext, wayland, libGL_driver }:
-let version = "1.1.77.0"; in
+let version = "1.1.82.0"; in
 assert version == vulkan-headers.version;
 stdenv.mkDerivation rec {
   name = "vulkan-loader-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "KhronosGroup";
     repo = "Vulkan-Loader";
     rev = "sdk-${version}";
-    sha256 = "1nzzkqh0i3j1d3h7kgmaxzi748l338m2p31lxkwxm4y81xp56a94";
+    sha256 = "16i4s1adfh822ahj3ywp279lv6szwd2sn2q5pmvpg2kk6mbh410d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix b/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
index e4ea9508aeb9..9bc252ce6f67 100644
--- a/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
+++ b/pkgs/development/mobile/androidenv/androidndk-pkgs.nix
@@ -1,4 +1,4 @@
-{ lib
+{ lib, stdenv
 , makeWrapper
 , runCommand, wrapBintoolsWith, wrapCCWith
 , buildAndroidndk, androidndk, targetAndroidndkPkgs
diff --git a/pkgs/development/mobile/androidenv/default.nix b/pkgs/development/mobile/androidenv/default.nix
index 4e9f139b95e9..8e108f24088e 100644
--- a/pkgs/development/mobile/androidenv/default.nix
+++ b/pkgs/development/mobile/androidenv/default.nix
@@ -281,7 +281,7 @@ rec {
     inherit (buildPackages)
       makeWrapper;
     inherit (pkgs)
-      lib hostPlatform targetPlatform
+      lib stdenv
       runCommand wrapBintoolsWith wrapCCWith;
     # buildPackages.foo rather than buildPackages.buildPackages.foo would work,
     # but for splicing messing up on infinite recursion for the variants we
@@ -297,7 +297,7 @@ rec {
     inherit (buildPackages)
       makeWrapper;
     inherit (pkgs)
-      lib hostPlatform targetPlatform
+      lib stdenv
       runCommand wrapBintoolsWith wrapCCWith;
     # buildPackages.foo rather than buildPackages.buildPackages.foo would work,
     # but for splicing messing up on infinite recursion for the variants we
diff --git a/pkgs/development/python-modules/dependency-injector/default.nix b/pkgs/development/python-modules/dependency-injector/default.nix
new file mode 100644
index 000000000000..6eec8ab91cd2
--- /dev/null
+++ b/pkgs/development/python-modules/dependency-injector/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, six }:
+
+buildPythonPackage rec {
+  pname = "dependency-injector";
+  version = "3.13.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bmcgdfjavgxdzkb904q968ig1x44arvpj2m4rpm5nc9vhhgq43q";
+  };
+
+  # TODO: Enable tests after upstream merges https://github.com/ets-labs/python-dependency-injector/pull/204
+  doCheck = false;
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "Dependency injection microframework for Python";
+    homepage = https://github.com/ets-labs/python-dependency-injector;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ gerschtli ];
+  };
+}
diff --git a/pkgs/development/tools/backblaze-b2/default.nix b/pkgs/development/tools/backblaze-b2/default.nix
index 7cf709066542..6b133d959ccb 100644
--- a/pkgs/development/tools/backblaze-b2/default.nix
+++ b/pkgs/development/tools/backblaze-b2/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonApplication rec {
   pname = "backblaze-b2";
-  version = "1.1.0";
+  version = "1.3.6";
 
   src = fetchFromGitHub {
     owner = "Backblaze";
     repo = "B2_Command_Line_Tool";
     rev = "v${version}";
-    sha256 = "0697rcdsmxz51p4b8m8klx2mf5xnx6vx56vcf5jmzidh8mc38a6z";
+    sha256 = "12axb0c56razfhrx1l62sjvdrbg6vz0yyqph2mxyjza1ywpb93b5";
   };
 
   propagatedBuildInputs = [ arrow futures logfury requests six tqdm ];
@@ -19,6 +19,17 @@ buildPythonApplication rec {
     python test_b2_command_line.py test
   '';
 
+  postPatch = ''
+    # b2 uses an upper bound on arrow, because arrow 0.12.1 is not
+    # compatible with Python 2.6:
+    #
+    # https://github.com/crsmithdev/arrow/issues/517
+    #
+    # However, since we use Python 2.7, newer versions of arrow are fine.
+
+    sed -i 's/,<0.12.1//g' requirements.txt
+  '';
+
   postInstall = ''
     mv "$out/bin/b2" "$out/bin/backblaze-b2"
 
diff --git a/pkgs/development/tools/misc/travis/Gemfile b/pkgs/development/tools/misc/travis/Gemfile
index 788341de3fa6..9b1967e6b9b6 100644
--- a/pkgs/development/tools/misc/travis/Gemfile
+++ b/pkgs/development/tools/misc/travis/Gemfile
@@ -1,3 +1,3 @@
 source "https://rubygems.org"
 
-gem "travis", "1.8.8"
+gem "travis", "1.8.9"
diff --git a/pkgs/development/tools/misc/travis/Gemfile.lock b/pkgs/development/tools/misc/travis/Gemfile.lock
index a1c8332a3d44..3dc948a7cd89 100644
--- a/pkgs/development/tools/misc/travis/Gemfile.lock
+++ b/pkgs/development/tools/misc/travis/Gemfile.lock
@@ -2,14 +2,14 @@ GEM
   remote: https://rubygems.org/
   specs:
     addressable (2.4.0)
-    backports (3.6.8)
-    ethon (0.10.1)
+    backports (3.11.4)
+    ethon (0.11.0)
       ffi (>= 1.3.0)
-    faraday (0.11.0)
+    faraday (0.15.2)
       multipart-post (>= 1.2, < 3)
-    faraday_middleware (0.11.0.1)
+    faraday_middleware (0.12.2)
       faraday (>= 0.7.4, < 1.0)
-    ffi (1.9.18)
+    ffi (1.9.25)
     gh (0.15.1)
       addressable (~> 2.4.0)
       backports
@@ -17,18 +17,18 @@ GEM
       multi_json (~> 1.0)
       net-http-persistent (~> 2.9)
       net-http-pipeline
-    highline (1.7.8)
-    json (2.0.3)
+    highline (1.7.10)
+    json (2.1.0)
     launchy (2.4.3)
       addressable (~> 2.3)
-    multi_json (1.12.1)
+    multi_json (1.13.1)
     multipart-post (2.0.0)
     net-http-persistent (2.9.4)
     net-http-pipeline (1.0.1)
     pusher-client (0.6.2)
       json
       websocket (~> 1.0)
-    travis (1.8.8)
+    travis (1.8.9)
       backports
       faraday (~> 0.9)
       faraday_middleware (~> 0.9, >= 0.9.1)
@@ -39,13 +39,13 @@ GEM
       typhoeus (~> 0.6, >= 0.6.8)
     typhoeus (0.8.0)
       ethon (>= 0.8.0)
-    websocket (1.2.4)
+    websocket (1.2.8)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  travis (= 1.8.8)
+  travis (= 1.8.9)
 
 BUNDLED WITH
    1.14.6
diff --git a/pkgs/development/tools/misc/travis/gemset.nix b/pkgs/development/tools/misc/travis/gemset.nix
index c9a54bd324c2..2ca55dbdee3e 100644
--- a/pkgs/development/tools/misc/travis/gemset.nix
+++ b/pkgs/development/tools/misc/travis/gemset.nix
@@ -10,45 +10,45 @@
   backports = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zcgqw7m7jb8n7b2jwla5cq0nw9wsgddxfmn0a9v89ihzd4i1a5k";
+      sha256 = "1hshjxww2h7s0dk57njrygq4zpp0nlqrjfya7zwm27iq3rhc3y8g";
       type = "gem";
     };
-    version = "3.6.8";
+    version = "3.11.4";
   };
   ethon = {
     dependencies = ["ffi"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i873cvma4j52xmij7kasjylh66vf60cy5prkp4cz4hcn9jlkznl";
+      sha256 = "0y70szwm2p0b9qfvpqrzjrgm3jz0ig65vlbfr6ppc3z0m1h7kv48";
       type = "gem";
     };
-    version = "0.10.1";
+    version = "0.11.0";
   };
   faraday = {
     dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18p1csdivgwmshfw3mb698a3bn0yrykg30khk5qxjf6n168g91jr";
+      sha256 = "14lg0c4bphk16rccc5jmaan6nfcvmy0caiahpc61f9zfwpsj7ymg";
       type = "gem";
     };
-    version = "0.11.0";
+    version = "0.15.2";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0bcarc90brm1y68bl957w483bddsy9idj2gghqnysk6bbxpsvm00";
+      sha256 = "1p7icfl28nvl8qqdsngryz1snqic9l8x6bk0dxd7ygn230y0k41d";
       type = "gem";
     };
-    version = "0.11.0.1";
+    version = "0.12.2";
   };
   ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "034f52xf7zcqgbvwbl20jwdyjwznvqnwpbaps9nk18v9lgb1dpx0";
+      sha256 = "0jpm2dis1j7zvvy3lg7axz9jml316zrn7s0j59vyq3qr127z0m7q";
       type = "gem";
     };
-    version = "1.9.18";
+    version = "1.9.25";
   };
   gh = {
     dependencies = ["addressable" "backports" "faraday" "multi_json" "net-http-persistent" "net-http-pipeline"];
@@ -62,18 +62,18 @@
   highline = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nf5lgdn6ni2lpfdn4gk3gi47fmnca2bdirabbjbz1fk9w4p8lkr";
+      sha256 = "01ib7jp85xjc4gh4jg0wyzllm46hwv8p0w1m4c75pbgi41fps50y";
       type = "gem";
     };
-    version = "1.7.8";
+    version = "1.7.10";
   };
   json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0cpw154il64w6q20rrnsbjx1cdfz1yrzz1lgdbpn59lcwc6mprql";
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
       type = "gem";
     };
-    version = "2.0.3";
+    version = "2.1.0";
   };
   launchy = {
     dependencies = ["addressable"];
@@ -87,10 +87,10 @@
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
+      sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.13.1";
   };
   multipart-post = {
     source = {
@@ -129,10 +129,10 @@
     dependencies = ["backports" "faraday" "faraday_middleware" "gh" "highline" "launchy" "pusher-client" "typhoeus"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02bjz73f6r9b7nskwzcvcbr4hlvgwrf9rnr6d218d2i1rk4ww936";
+      sha256 = "0lw206zr2waic1kmm6x9qj91975g035wfsvbqs09z1cy8cvp63yw";
       type = "gem";
     };
-    version = "1.8.8";
+    version = "1.8.9";
   };
   typhoeus = {
     dependencies = ["ethon"];
@@ -146,9 +146,9 @@
   websocket = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1shymfaw14p8jdi74nwz4nsgc9cmpli166lkp5g5wbhjmhmpvrnh";
+      sha256 = "0f11rcn4qgffb1rq4kjfwi7di79w8840x9l74pkyif5arp0mb08x";
       type = "gem";
     };
-    version = "1.2.4";
+    version = "1.2.8";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/packet/default.nix b/pkgs/development/tools/packet/default.nix
index eb1a48d24b84..4c30d000ce20 100644
--- a/pkgs/development/tools/packet/default.nix
+++ b/pkgs/development/tools/packet/default.nix
@@ -1,18 +1,16 @@
-# This file was generated by go2nix.
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+{ stdenv, buildGoPackage, fetchgit, fetchhg, fetchbzr, fetchsvn }:
 
 buildGoPackage rec {
   name = "packet-${version}";
-  version = "20161215-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "2b8f07ae2246e1a96e007233419867fa0d6747f9";
+  version = "v2.2.2";
 
   goPackagePath = "github.com/ebsarr/packet";
 
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "ebsarr";
-    repo = "packet";
-    sha256 = "1wchrm96ly5m1rcy9d51fs3xjswh746r27hgc410rksiahanzhff";
+  src = fetchgit {
+    rev = version;
+    url = "https://github.com/ebsarr/packet";
+    sha256 = "18n8f2rlab4icb28k1b9gnh30zy382v792x07fmcdqq4nkw6wvwf";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/packet/deps.nix b/pkgs/development/tools/packet/deps.nix
index 0c7fee1a11af..53a9bef73207 100644
--- a/pkgs/development/tools/packet/deps.nix
+++ b/pkgs/development/tools/packet/deps.nix
@@ -1,12 +1,21 @@
-# This file was generated by go2nix.
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
 [
   {
     goPackagePath = "github.com/cpuguy83/go-md2man";
     fetch = {
       type = "git";
       url = "https://github.com/cpuguy83/go-md2man";
-      rev = "a65d4d2de4d5f7c74868dfa9b202a3c8be315aaa";
-      sha256 = "1rm3zjrmfpzy0l3qp02xmd5pqzl77pdql9pbxhl0k1qw2vfzrjv6";
+      rev = "691ee98543af2f262f35fbb54bdd42f00b9b9cc5";
+      sha256 = "1864g10y9n6ni0p1yqjhvwyjdh0lgxnf7dlb0c4njazdg5rppww9";
+    };
+  }
+  {
+    goPackagePath = "github.com/ebsarr/packngo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ebsarr/packngo";
+      rev = "bc067ae8c334d03f246fd5537dac6d4ed4192ada";
+      sha256 = "1q7w8pdw87ifmkpcayk5qri4lb81bh82jrzh3fdmnbldwmjynyj2";
     };
   }
   {
@@ -14,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/fsnotify/fsnotify";
-      rev = "fd9ec7deca8bf46ecd2a795baaacf2b3a9be1197";
-      sha256 = "0jf7zmkypfl6v24xxnv12w55384diyabfp2m7ibafgafljwlg3ls";
+      rev = "ccc981bf80385c528a65fbfdd49bf2d8da22aa23";
+      sha256 = "0hcrfmiyx27izac3v0ii0qq2kfjvhr9ma1i79hrl6a6y2ayagzz7";
     };
   }
   {
@@ -23,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/hcl";
-      rev = "eb6f65b2d77ed5078887f960ff570fbddbbeb49d";
-      sha256 = "1wx6hpxmq5sby54025j9hliz10gv5v0bq6q1z2cd0asznj154ij1";
+      rev = "8cb6e5b959231cc1119e43259c4a608f9c51a241";
+      sha256 = "0q6ml0qqs0yil76mpn4mdx4lp94id8vbv575qm60jzl1ijcl5i66";
     };
   }
   {
@@ -32,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/magiconair/properties";
-      rev = "b3b15ef068fd0b17ddf408a23669f20811d194d2";
-      sha256 = "0m6jvlsi4bcnrfb4mas54wxp80d4ls209vhanvv20zgpy4y7qdsh";
+      rev = "c2353362d570a7bfa228149c62842019201cfb71";
+      sha256 = "1a10362wv8a8qwb818wygn2z48lgzch940hvpv81hv8gc747ajxn";
     };
   }
   {
@@ -41,8 +50,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev = "bfdb1a85537d60bc7e954e600c250219ea497417";
-      sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8";
+      rev = "fa473d140ef3c6adf42d6b391fe76707f1f243c8";
+      sha256 = "0f06q4fpzg0c370cvmpsl0iq2apl5nkbz5cd3nba5x5ysmshv1lm";
     };
   }
   {
@@ -50,17 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/packethost/packngo";
-      rev = "91a3a4f65e3cd6ee66d919b4e7103ae038ce66ff";
-      sha256 = "0v032qv9jjvv67fm2jl20pk4f46pymj688b6j0i42kpgmc9zxanz";
-    };
-  }
-  {
-    goPackagePath = "github.com/pelletier/go-buffruneio";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pelletier/go-buffruneio";
-      rev = "df1e16fde7fc330a0ca68167c23bf7ed6ac31d6d";
-      sha256 = "0jwn2g4jfdb3wvpqisd8h055099pwx6c5i3bb4zxk5l9vybg1c5f";
+      rev = "2100ba98e6dc4ca18563d91edfdbba3c4bf46ddb";
+      sha256 = "03iav4lxiir9dphygh5jgqvygs59ci80yfqws34vzy47pxb1wsc8";
     };
   }
   {
@@ -68,8 +68,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/pelletier/go-toml";
-      rev = "a1f048ba24490f9b0674a67e1ce995d685cddf4a";
-      sha256 = "09fb872v64bvjgzp3a926ic5hm08pzy0i53j02yb93v38g4ihdv3";
+      rev = "c2dbbc24a97911339e01bda0b8cabdbd8f13b602";
+      sha256 = "0v1dsqnk5zmn6ir8jgxijx14s47jvijlqfz3aq435snfrgybd5rz";
     };
   }
   {
@@ -77,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/afero";
-      rev = "72b31426848c6ef12a7a8e216708cb0d1530f074";
-      sha256 = "0sbmpv1zxxl32nsv76bp3n3zp08in2yz4fv02mjzaws9rk97yfj8";
+      rev = "787d034dfe70e44075ccc060d346146ef53270ad";
+      sha256 = "0138rjiacl71h7kvhzinviwvy6qa2m6rflpv9lgqv15hnjvhwvg1";
     };
   }
   {
@@ -86,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cast";
-      rev = "56a7ecbeb18dde53c6db4bd96b541fd9741b8d44";
-      sha256 = "16fj6ghk7wykcfh3ka4iyhl1s11briawrvscncb6l64dv794w2cr";
+      rev = "8965335b8c7107321228e3e3702cab9832751bac";
+      sha256 = "177bk7lq40jbgv9p9r80aydpaccfk8ja3a7jjhfwiwk9r1pa4rr2";
     };
   }
   {
@@ -95,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/cobra";
-      rev = "1dd5ff2e11b6dca62fdcb275eb804b94607d8b06";
-      sha256 = "0whzk9yz0yby9vag9m7hk4n1kwa07qcgi6wizvw20j0y30d31hgx";
+      rev = "99dc123558852f67743bd0b2caf8383cb3c6d720";
+      sha256 = "0b2rjgycgpkpvpsqgvilqkr66bfk477lyd6l0jxmgxb1h0za5s25";
     };
   }
   {
@@ -104,8 +104,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/jwalterweatherman";
-      rev = "fa7ca7e836cf3a8bb4ebf799f472c12d7e903d66";
-      sha256 = "0404b7bzx7cq1b2bgdb3gs7gjzm4vvg1hl2y9mcm4m6vz56vbcz8";
+      rev = "14d3d4c518341bea657dd8a226f5121c0ff8c9f2";
+      sha256 = "1f9154lijbz0kkgqwmbphykwl4adv4fvkx6n1p7fdq3x5j9g8i17";
     };
   }
   {
@@ -113,8 +113,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/pflag";
-      rev = "51268031d79952516489a9f8aa34e9709b98d946";
-      sha256 = "04qkkm2gjklh66hx3zj4jm6v0bdxvyq6rchs4r0k87aba7syw008";
+      rev = "298182f68c66c05229eb03ac171abe6e309ee79a";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
     };
   }
   {
@@ -122,8 +122,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/spf13/viper";
-      rev = "5ed0fc31f7f453625df314d8e66b9791e8d13003";
-      sha256 = "16j2lly6rv60hc7mpbmda9vp1vs1qhig9kjgf6mss7n6my40s3ga";
+      rev = "0ac2068de99fd349edc4954d0e9b4a600d75da44";
+      sha256 = "1h33gm0m0d4mrwf097v2mpwjza1zmmkqy67a51jjdcrqx1zys8gj";
     };
   }
   {
@@ -131,8 +131,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev = "d75a52659825e75fff6158388dddc6a5b04f9ba5";
-      sha256 = "0zbv11kq5d8dxiddd4kzr785gbwb7x8d7lq4rqs5s7s43h0pl3x7";
+      rev = "fa5fdf94c78965f1aa8423f0cc50b8b8d728b05a";
+      sha256 = "1wrf7y6a1ar1r8yd88zlmic55alx91k5nqks7f8w1d5j7hp1if35";
     };
   }
   {
@@ -140,8 +140,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/text";
-      rev = "11dbc599981ccdf4fb18802a28392a8bcf7a9395";
-      sha256 = "139hlf5xr5ggy48dbrfya3ajy7q3z3y6p6lrvkvl6m5wxfapa9hj";
+      rev = "6e3c4e7365ddcc329f090f96e4348398f6310088";
+      sha256 = "1r511ncipn7sdlssn06fpzcpy4mp4spagni4ryxq86p2b0bi8pn4";
     };
   }
   {
@@ -149,8 +149,8 @@
     fetch = {
       type = "git";
       url = "https://gopkg.in/yaml.v2";
-      rev = "a5b47d31c556af34a302ce5d659e6fea44d90de0";
-      sha256 = "0v6l48fshdjrqzyq1kwn22gy7vy434xdr1i0lm3prsf6jbln9fam";
+      rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
     };
   }
 ]
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index cada8353866c..7d17170930ab 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -7,14 +7,14 @@ spirv_sources = {
   tools = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Tools";
-    rev = "f2c93c6e124836797311facb8449f9a0b76fefc2";
-    sha256 = "03w5xk2hjijj1rfbx5dw3lhy7vb9zrssfcwvp09q47f77vkgl105";
+    rev = "1a283f41ed09e31cd720744f904af3d823ceddbf";
+    sha256 = "1z65wglg081pri9rmiyydvppgd67qr269ppphy4yhg2wg81gg72c";
   };
   headers = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "SPIRV-Headers";
-    rev = "12f8de9f04327336b699b1b80aa390ae7f9ddbf4";
-    sha256 = "0fswk5ndvkmy64har3dmhpkv09zmvb0p4knbqc4fdl4qiggz0fvf";
+    rev = "ff684ffc6a35d2a58f0f63108877d0064ea33feb";
+    sha256 = "0ypjx61ksr6vda2iy3kxhyjia5qxf0x4qa4jij0giw9x5rsnga6g";
   };
 };
 
@@ -22,7 +22,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "spirv-tools-${version}";
-  version = "2018-06-06";
+  version = "2018-07-04";
 
   src = spirv_sources.tools;
   patchPhase = ''ln -sv ${spirv_sources.headers} external/spirv-headers'';
diff --git a/pkgs/development/tools/vulkan-validation-layers/default.nix b/pkgs/development/tools/vulkan-validation-layers/default.nix
index d6d5d6d3ea66..e5ab05e93bdf 100644
--- a/pkgs/development/tools/vulkan-validation-layers/default.nix
+++ b/pkgs/development/tools/vulkan-validation-layers/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "vulkan-validation-layers-${version}";
-  version = "1.1.77.0";
+  version = "1.1.82.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-ValidationLayers";
     rev = "sdk-${version}";
-    sha256 = "1c7m0x63fv8paph4rlha9bzv6sd0d7j277b31hh1sqkdcv2mzjhj";
+    sha256 = "0vq2hbha2i5wsi6w6kmxbv01a5f0d55w2grl73nya9i06764fdg6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/instead/default.nix b/pkgs/games/instead/default.nix
index 697791d38577..d22e65b1c020 100644
--- a/pkgs/games/instead/default.nix
+++ b/pkgs/games/instead/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, SDL, SDL_ttf, SDL_image, SDL_mixer, pkgconfig, lua, zlib, unzip }:
 
 let
-  version = "3.2.1";
+  version = "3.2.2";
 
   # I took several games at random from http://instead.syscall.ru/games/
   games = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/project/instead/instead/${version}/instead_${version}.tar.gz";
-    sha256 = "1lnsawbrdhdixbdhm49hc4c9vz2l3fvrpbxyk1mia2hf4pdmc594";
+    sha256 = "07zgbp8jyxkap3jccgv1ifmrgh6q7xsf18kyla2swdlaahp76gpx";
   };
 
   NIX_LDFLAGS = "-llua -lgcc_s";
diff --git a/pkgs/os-specific/linux/psmisc/default.nix b/pkgs/os-specific/linux/psmisc/default.nix
index c7b71d4e5018..1eec10860f72 100644
--- a/pkgs/os-specific/linux/psmisc/default.nix
+++ b/pkgs/os-specific/linux/psmisc/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, ncurses}:
 
 stdenv.mkDerivation rec {
-  name = "psmisc-23.2";
+  name = "psmisc-23.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/psmisc/${name}.tar.xz";
-    sha256 = "0s1kjhrik0wzqbm7hv4gkhywhjrwhp9ajw0ad05fwharikk6ah49";
+    sha256 = "0c5s94hqpwfmyswx2f96gifa6wdbpxxpkyxcrlzbxpvmrxsd911f";
   };
 
   buildInputs = [ncurses];
diff --git a/pkgs/servers/dns/powerdns/default.nix b/pkgs/servers/dns/powerdns/default.nix
index 6f8bffee24d0..9d3db625d660 100644
--- a/pkgs/servers/dns/powerdns/default.nix
+++ b/pkgs/servers/dns/powerdns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "powerdns-${version}";
-  version = "4.1.3";
+  version = "4.1.4";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
-    sha256 = "1bh1qdgw415ax542123b6isri1jh4mbf2i9i1yffkfk0xmyv79cs";
+    sha256 = "1m9yhzrxh315gv855c590b2qc8bx31rrnl72pqxrnlix701qch79";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 3ffffc169855..12b96b3da125 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "0.77.1";
+  version = "0.77.2";
   components = {
     "abode" = ps: with ps; [  ];
     "ads" = ps: with ps; [  ];
@@ -829,7 +829,7 @@
     "sensor.comed_hourly_pricing" = ps: with ps; [  ];
     "sensor.comfoconnect" = ps: with ps; [  ];
     "sensor.command_line" = ps: with ps; [  ];
-    "sensor.cpuspeed" = ps: with ps; [  ];
+    "sensor.cpuspeed" = ps: with ps; [ py-cpuinfo ];
     "sensor.crimereports" = ps: with ps; [  ];
     "sensor.cups" = ps: with ps; [ pycups ];
     "sensor.currencylayer" = ps: with ps; [  ];
@@ -955,7 +955,7 @@
     "sensor.opensky" = ps: with ps; [  ];
     "sensor.openuv" = ps: with ps; [  ];
     "sensor.openweathermap" = ps: with ps; [ pyowm ];
-    "sensor.otp" = ps: with ps; [  ];
+    "sensor.otp" = ps: with ps; [ pyotp ];
     "sensor.pi_hole" = ps: with ps; [  ];
     "sensor.pilight" = ps: with ps; [  ];
     "sensor.plex" = ps: with ps; [  ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 8a8407d2335e..ccc9bee51b99 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -75,7 +75,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.77.1";
+  hassVersion = "0.77.2";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -90,7 +90,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "1dqxxirglcl0srb4znwz61lxqba47g7q66bw4v1nfdwhxb0kj0w5";
+    sha256 = "0lqm8n54cs4ji9bqp1z70qswgqv8n9vl8jbip7c2f3icqx19zg10";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index a966c8db3e2b..b14d76050f90 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-frontend";
-  version = "20180829.1";
+  version = "20180831.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c3e1e3472760b6ebab5f73395e9fe332edf8bf6b0a30027fa68cf719fdb0df36";
+    sha256 = "d0f897bed934bc2d557db04f8c76ad143db9514ea71943a0038c5bfb3b2151ec";
   };
 
   propagatedBuildInputs = [ user-agents ];
diff --git a/pkgs/servers/search/elasticsearch/plugins.nix b/pkgs/servers/search/elasticsearch/plugins.nix
index b3141ee807d1..330a81a422c0 100644
--- a/pkgs/servers/search/elasticsearch/plugins.nix
+++ b/pkgs/servers/search/elasticsearch/plugins.nix
@@ -1,7 +1,5 @@
 { pkgs,  stdenv, fetchurl, unzip, elasticsearch-oss, javaPackages, elk6Version }:
 
-with pkgs.lib;
-
 let
   esPlugin = a@{
     pluginName,
@@ -18,7 +16,7 @@ let
       buildInputs = [ unzip ];
       meta = a.meta // {
         platforms = elasticsearch-oss.meta.platforms;
-        maintainers = (a.meta.maintainers or []) ++ [ maintainers.offline ];
+        maintainers = (a.meta.maintainers or []) ++ (with stdenv.lib.maintainers; [ offline ]);
       };
     });
 in {
@@ -31,14 +29,14 @@ in {
       url = "https://github.com/vhyza/elasticsearch-analysis-lemmagen/releases/download/v${version}/${name}-plugin.zip";
       sha256 = "1m4z05wixjrq4nlbdjyhvprkrwxjym8aba18scmzfn25fhbjgvkz";
     };
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://github.com/vhyza/elasticsearch-analysis-lemmagen;
       description = "LemmaGen Analysis plugin provides jLemmaGen lemmatizer as Elasticsearch token filter";
       license = licenses.asl20;
     };
   };
 
-  discovery-ec2 = esPlugin {
+  discovery-ec2 = esPlugin rec {
     name = "elasticsearch-discovery-ec2-${version}";
     pluginName = "discovery-ec2";
     version = "${elk6Version}";
@@ -46,7 +44,7 @@ in {
       url = "https://artifacts.elastic.co/downloads/elasticsearch-plugins/discovery-ec2/discovery-ec2-${elk6Version}.zip";
       sha256 = "1i7ksy69132sr84h51lamgq967yz3a3dw0b54nckxpqwad9pcpj0";
     };
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://github.com/elastic/elasticsearch/tree/master/plugins/discovery-ec2;
       description = "The EC2 discovery plugin uses the AWS API for unicast discovery.";
       license = licenses.asl20;
@@ -61,7 +59,7 @@ in {
       url = "mirror://maven/com/floragunn/search-guard-6/${version}/search-guard-6-${version}.zip";
       sha256 = "1r71h4h9bmxak1mq5gpm19xq5ji1gry1kp3sjmm8azy4ykdqdncx";
     };
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://github.com/floragunncom/search-guard;
       description = "Plugin to fetch data from JDBC sources for indexing into Elasticsearch";
       license = licenses.asl20;
diff --git a/pkgs/tools/graphics/vulkan-tools/default.nix b/pkgs/tools/graphics/vulkan-tools/default.nix
index e44021bad5d1..0d8f5bfe1bc7 100644
--- a/pkgs/tools/graphics/vulkan-tools/default.nix
+++ b/pkgs/tools/graphics/vulkan-tools/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "vulkan-tools-${version}";
-  version = "1.1.77.0";
+  version = "1.1.82.0";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "Vulkan-Tools";
     rev = "sdk-${version}";
-    sha256 = "1c827n0xz8d7ydqpjchd58as943acyi182a0p4aq3bdsaxlmmpkg";
+    sha256 = "1viaqp1zfdgli3hw674rz8mrfzxpgv12vxcd07czwr8nyb19f2g5";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/package-management/cargo-tree/default.nix b/pkgs/tools/package-management/cargo-tree/default.nix
index 5ac13fc42cfd..90f2ad71fc21 100644
--- a/pkgs/tools/package-management/cargo-tree/default.nix
+++ b/pkgs/tools/package-management/cargo-tree/default.nix
@@ -1,17 +1,17 @@
 { stdenv, lib, rustPlatform, fetchFromGitHub, pkgconfig, cmake, curl, libiconv, darwin }:
 rustPlatform.buildRustPackage rec {
   name = "cargo-tree-${version}";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "sfackler";
     repo = "cargo-tree";
     rev = "v${version}";
 
-    sha256 = "16vsw392qs3ag2brvcan19km7ds0s9s7505p3hnfjvjrzgdliir3";
+    sha256 = "197kbr7q7aqzv5l8xilz60m50rbkmfwfswyd6ka7w83j5bi88jw3";
   };
 
-  cargoSha256 = "0g6afhqqdf76axbcs5wj9gydsabd3d5ja8qd8z8y6wbp7n0y4h6a";
+  cargoSha256 = "1v84cj42ch49jrigrkivg99hzxa79jii8s3fddjk23hi1xx1c35y";
 
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ curl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7a2fe2ee43ec..fea424f80186 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18155,6 +18155,8 @@ with pkgs;
 
   qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent { };
 
+  qcomicbook = libsForQt5.callPackage ../applications/graphics/qcomicbook { };
+
   eiskaltdcpp = callPackage ../applications/networking/p2p/eiskaltdcpp {
     lua5 = lua5_1;
     miniupnpc = miniupnpc_1;
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 84472b440a58..9a3d4c9eea11 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -246,6 +246,8 @@ in {
 
   dendropy = callPackage ../development/python-modules/dendropy { };
 
+  dependency-injector = callPackage ../development/python-modules/dependency-injector { };
+
   dbf = callPackage ../development/python-modules/dbf { };
 
   dbfread = callPackage ../development/python-modules/dbfread { };