about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/doc/manual/man-nixos-build-vms.xml22
-rw-r--r--nixos/doc/manual/release-notes/rl-1909.xml15
-rw-r--r--nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh61
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/services/desktops/deepin/deepin-menu.nix29
-rw-r--r--nixos/modules/services/search/solr.nix12
-rw-r--r--nixos/modules/system/boot/stage-1.nix5
-rw-r--r--nixos/tests/solr.nix102
-rw-r--r--pkgs/applications/altcoins/aeon/default.nix4
-rw-r--r--pkgs/applications/audio/gpodder/default.nix8
-rw-r--r--pkgs/applications/audio/gpodder/disable-autoupdate.patch55
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix4
-rw-r--r--pkgs/applications/networking/resilio-sync/default.nix6
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix25
-rw-r--r--pkgs/applications/science/math/clp/default.nix12
-rw-r--r--pkgs/build-support/kernel/make-initrd.nix7
-rw-r--r--pkgs/desktops/deepin/deepin-screenshot/default.nix61
-rw-r--r--pkgs/desktops/deepin/default.nix1
-rw-r--r--pkgs/development/compilers/dmd/default.nix16
-rw-r--r--pkgs/development/compilers/ldc/default.nix29
-rw-r--r--pkgs/development/libraries/protobuf/3.6.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.7.nix6
-rw-r--r--pkgs/development/python-modules/annexremote/default.nix34
-rw-r--r--pkgs/development/python-modules/cairosvg/default.nix9
-rw-r--r--pkgs/development/python-modules/dm-sonnet/default.nix85
-rw-r--r--pkgs/development/python-modules/graph_nets/default.nix47
-rw-r--r--pkgs/development/python-modules/nltk/default.nix22
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix8
-rw-r--r--pkgs/development/python-modules/tensorflow-probability/default.nix41
-rw-r--r--pkgs/development/tools/ammonite/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/dub/default.nix4
-rw-r--r--pkgs/development/tools/dtools/default.nix6
-rw-r--r--pkgs/development/tools/misc/mkcert/default.nix22
-rw-r--r--pkgs/misc/vim-plugins/generated.nix259
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix26
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names5
-rw-r--r--pkgs/os-specific/linux/kmod/aggregator.nix4
-rw-r--r--pkgs/servers/search/solr/8.x.nix35
-rw-r--r--pkgs/tools/admin/ansible/default.nix8
-rw-r--r--pkgs/tools/misc/hexyl/default.nix10
-rw-r--r--pkgs/tools/networking/nfdump/default.nix27
-rw-r--r--pkgs/tools/package-management/cargo-tree/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix14
-rw-r--r--pkgs/top-level/python-packages.nix8
45 files changed, 891 insertions, 279 deletions
diff --git a/nixos/doc/manual/man-nixos-build-vms.xml b/nixos/doc/manual/man-nixos-build-vms.xml
index 87e4f3dae869..7d6e04e0dd90 100644
--- a/nixos/doc/manual/man-nixos-build-vms.xml
+++ b/nixos/doc/manual/man-nixos-build-vms.xml
@@ -24,8 +24,14 @@
     
    <arg>
     <option>--help</option>
-   </arg>
-    
+  </arg>
+
+  <arg>
+    <option>--option</option>
+    <replaceable>name</replaceable>
+    <replaceable>value</replaceable>
+  </arg>
+
    <arg choice="plain">
     <replaceable>network.nix</replaceable>
    </arg>
@@ -115,6 +121,18 @@
      </para>
     </listitem>
    </varlistentry>
+   <varlistentry>
+    <term>
+     <option>--option</option> <replaceable>name</replaceable> <replaceable>value</replaceable>
+    </term>
+    <listitem>
+     <para>Set the Nix configuration option
+      <replaceable>name</replaceable> to <replaceable>value</replaceable>.
+      This overrides settings in the Nix configuration file (see
+      <citerefentry><refentrytitle>nix.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
+     </para>
+    </listitem>
+   </varlistentry>
   </variablelist>
  </refsection>
 </refentry>
diff --git a/nixos/doc/manual/release-notes/rl-1909.xml b/nixos/doc/manual/release-notes/rl-1909.xml
index b820482b1bac..3bdfc5c17631 100644
--- a/nixos/doc/manual/release-notes/rl-1909.xml
+++ b/nixos/doc/manual/release-notes/rl-1909.xml
@@ -154,6 +154,21 @@
      Accelerated Video Playback</link> for better transcoding performance.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     The following changes apply if the <literal>stateVersion</literal> is
+     changed to 19.09 or higher. For <literal>stateVersion = "19.03"</literal>
+     or lower the old behavior is preserved.
+    </para>
+    <itemizedlist>
+     <listitem>
+      <para>
+       <literal>solr.package</literal> defaults to
+       <literal>pkgs.solr_8</literal>.
+      </para>
+     </listitem>
+    </itemizedlist>
+   </listitem>
   </itemizedlist>
  </section>
 </section>
diff --git a/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh b/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh
index 4e981c074a57..25106733087e 100644
--- a/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh
+++ b/nixos/modules/installer/tools/nixos-build-vms/nixos-build-vms.sh
@@ -9,49 +9,44 @@ showUsage() {
 
 # Parse valid argument options
 
-PARAMS=`getopt -n $0 -o h -l no-out-link,show-trace,help -- "$@"`
+nixBuildArgs=()
+networkExpr=
 
-if [ $? != 0 ]
-then
-    showUsage
-    exit 1
-fi
-
-eval set -- "$PARAMS"
-
-# Evaluate valid options
-
-while [ "$1" != "--" ]
-do
+while [ $# -gt 0 ]; do
     case "$1" in
-	--no-out-link)
-	    noOutLinkArg="--no-out-link"
-	    ;;
-	--show-trace)
-	    showTraceArg="--show-trace"
-	    ;;
-	-h|--help)
-	    showUsage
-	    exit 0
-	    ;;
+      --no-out-link)
+        nixBuildArgs+=("--no-out-link")
+        ;;
+      --show-trace)
+        nixBuildArgs+=("--show-trace")
+        ;;
+      -h|--help)
+        showUsage
+        exit 0
+        ;;
+      --option)
+        shift
+        nixBuildArgs+=("--option" "$1" "$2"); shift
+        ;;
+      *)
+        if [ ! -z "$networkExpr" ]; then
+          echo "Network expression already set!"
+          showUsage
+          exit 1
+        fi
+        networkExpr="$(readlink -f $1)"
+        ;;
     esac
-    
+
     shift
 done
 
-shift
-
-# Validate the given options
-
-if [ "$1" = "" ]
+if [ -z "$networkExpr" ]
 then
     echo "ERROR: A network expression must be specified!" >&2
     exit 1
-else
-    networkExpr=$(readlink -f $1)
 fi
 
 # Build a network of VMs
-
 nix-build '<nixpkgs/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix>' \
-    --argstr networkExpr $networkExpr $noOutLinkArg $showTraceArg
+    --argstr networkExpr $networkExpr "${nixBuildArgs[@]}"
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9982cdae9e3d..53db0676c142 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -255,6 +255,7 @@
   ./services/databases/virtuoso.nix
   ./services/desktops/accountsservice.nix
   ./services/desktops/bamf.nix
+  ./services/desktops/deepin/deepin-menu.nix
   ./services/desktops/dleyna-renderer.nix
   ./services/desktops/dleyna-server.nix
   ./services/desktops/pantheon/contractor.nix
diff --git a/nixos/modules/services/desktops/deepin/deepin-menu.nix b/nixos/modules/services/desktops/deepin/deepin-menu.nix
new file mode 100644
index 000000000000..23fe5a741c42
--- /dev/null
+++ b/nixos/modules/services/desktops/deepin/deepin-menu.nix
@@ -0,0 +1,29 @@
+# deepin-menu
+
+{ config, pkgs, lib, ... }:
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.deepin.deepin-menu = {
+
+      enable = lib.mkEnableOption
+        "DBus service for unified menus in Deepin Desktop Environment";
+
+    };
+
+  };
+
+
+  ###### implementation
+
+  config = lib.mkIf config.services.deepin.deepin-menu.enable {
+
+    services.dbus.packages = [ pkgs.deepin.deepin-menu ];
+
+  };
+
+}
diff --git a/nixos/modules/services/search/solr.nix b/nixos/modules/services/search/solr.nix
index 7200c40e89f7..6659cc8a2d1e 100644
--- a/nixos/modules/services/search/solr.nix
+++ b/nixos/modules/services/search/solr.nix
@@ -13,11 +13,19 @@ in
     services.solr = {
       enable = mkEnableOption "Enables the solr service.";
 
+      # default to the 8.x series not forcing major version upgrade of those on the 7.x series
       package = mkOption {
         type = types.package;
-        default = pkgs.solr;
+        default = if versionAtLeast config.system.stateVersion "19.09"
+          then pkgs.solr_8
+          else pkgs.solr_7
+        ;
         defaultText = "pkgs.solr";
-        description = "Which Solr package to use.";
+        description = ''
+          Which Solr package to use. This defaults to version 7.x if
+          <literal>system.stateVersion &lt; 19.09</literal> and version 8.x
+          otherwise.
+        '';
       };
 
       port = mkOption {
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 9984a97bbdd2..8702abd3df83 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -11,7 +11,9 @@ let
 
   udev = config.systemd.package;
 
-  modulesTree = config.system.modulesTree;
+  kernel-name = config.boot.kernelPackages.kernel.name or "kernel";
+
+  modulesTree = config.system.modulesTree.override { name = kernel-name + "-modules"; };
   firmware = config.hardware.firmware;
 
 
@@ -290,6 +292,7 @@ let
   # The closure of the init script of boot stage 1 is what we put in
   # the initial RAM disk.
   initialRamdisk = pkgs.makeInitrd {
+    name = "initrd-${kernel-name}";
     inherit (config.boot.initrd) compressor prepend;
 
     contents =
diff --git a/nixos/tests/solr.nix b/nixos/tests/solr.nix
index 9ba3863411ea..2108e851bc59 100644
--- a/nixos/tests/solr.nix
+++ b/nixos/tests/solr.nix
@@ -1,47 +1,65 @@
-import ./make-test.nix ({ pkgs, lib, ... }:
-{
-  name = "solr";
-  meta.maintainers = [ lib.maintainers.aanderse ];
+{ system ? builtins.currentSystem,
+  config ? {},
+  pkgs ? import ../.. { inherit system config; }
+}:
+
+with import ../lib/testing.nix { inherit system pkgs; };
+with pkgs.lib;
 
-  machine =
-    { config, pkgs, ... }:
-    {
-      # Ensure the virtual machine has enough memory for Solr to avoid the following error:
-      #
-      #   OpenJDK 64-Bit Server VM warning:
-      #     INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
-      #     failed; error='Cannot allocate memory' (errno=12)
-      #
-      #   There is insufficient memory for the Java Runtime Environment to continue.
-      #   Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
-      virtualisation.memorySize = 2000;
+let
+  solrTest = package: makeTest {
+    machine =
+      { config, pkgs, ... }:
+      {
+        # Ensure the virtual machine has enough memory for Solr to avoid the following error:
+        #
+        #   OpenJDK 64-Bit Server VM warning:
+        #     INFO: os::commit_memory(0x00000000e8000000, 402653184, 0)
+        #     failed; error='Cannot allocate memory' (errno=12)
+        #
+        #   There is insufficient memory for the Java Runtime Environment to continue.
+        #   Native memory allocation (mmap) failed to map 402653184 bytes for committing reserved memory.
+        virtualisation.memorySize = 2000;
 
-      services.solr.enable = true;
-    };
+        services.solr.enable = true;
+        services.solr.package = package;
+      };
 
-  testScript = ''
-    startAll;
+    testScript = ''
+      startAll;
 
-    $machine->waitForUnit('solr.service');
-    $machine->waitForOpenPort('8983');
-    $machine->succeed('curl --fail http://localhost:8983/solr/');
+      $machine->waitForUnit('solr.service');
+      $machine->waitForOpenPort('8983');
+      $machine->succeed('curl --fail http://localhost:8983/solr/');
+
+      # adapted from pkgs.solr/examples/films/README.txt
+      $machine->succeed('sudo -u solr solr create -c films');
+      $machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
+        "add-field" : {
+          "name":"name",
+          "type":"text_general",
+          "multiValued":false,
+          "stored":true
+        },
+        "add-field" : {
+          "name":"initial_release_date",
+          "type":"pdate",
+          "stored":true
+        }
+      }')) =~ /"status":0/ or die;
+      $machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
+      $machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
+    '';
+  };
+in
+{
+  solr_7 = solrTest pkgs.solr_7 // {
+    name = "solr_7";
+    meta.maintainers = [ lib.maintainers.aanderse ];
+  };
 
-    # adapted from pkgs.solr/examples/films/README.txt
-    $machine->succeed('sudo -u solr solr create -c films');
-    $machine->succeed(q(curl http://localhost:8983/solr/films/schema -X POST -H 'Content-type:application/json' --data-binary '{
-      "add-field" : {
-        "name":"name",
-        "type":"text_general",
-        "multiValued":false,
-        "stored":true
-      },
-      "add-field" : {
-        "name":"initial_release_date",
-        "type":"pdate",
-        "stored":true
-      }
-    }')) =~ /"status":0/ or die;
-    $machine->succeed('sudo -u solr post -c films ${pkgs.solr}/example/films/films.json');
-    $machine->succeed('curl http://localhost:8983/solr/films/query?q=name:batman') =~ /"name":"Batman Begins"/ or die;
-  '';
-})
+  solr_8 = solrTest pkgs.solr_8 // {
+    name = "solr_8";
+    meta.maintainers = [ lib.maintainers.aanderse ];
+  };
+}
diff --git a/pkgs/applications/altcoins/aeon/default.nix b/pkgs/applications/altcoins/aeon/default.nix
index 42717d3a2667..5a09641c70d1 100644
--- a/pkgs/applications/altcoins/aeon/default.nix
+++ b/pkgs/applications/altcoins/aeon/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "0.12.8.0";
+  version = "0.12.9.0";
 in
 stdenv.mkDerivation {
   name = "aeon-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
     repo = "aeon";
     rev = "v${version}-aeon";
     fetchSubmodules = true;
-    sha256 = "1qmlz820mjs0b60d7i90lxcwwxmsdy6swq67v6n8mbb79zmcx8ii";
+    sha256 = "194nxf8c8ihkmdsxyhkhrxc2xiinipifk0ng1rmxiiyr2gjgxzga";
   };
 
   nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ];
diff --git a/pkgs/applications/audio/gpodder/default.nix b/pkgs/applications/audio/gpodder/default.nix
index 9a3ad5e0bc3e..79631156513e 100644
--- a/pkgs/applications/audio/gpodder/default.nix
+++ b/pkgs/applications/audio/gpodder/default.nix
@@ -5,16 +5,20 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "gpodder";
-  version = "3.10.7";
+  version = "3.10.8";
   format = "other";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "0sx9rj6dpvd2xz7lak2yi0zlgr3lp2ng1fw23s39la9ly4g1835j";
+    sha256 = "0sx5z9qjl76fi0m8vmars0yasfaq6znq434d8zjwla22k5wflmwm";
   };
 
+  patches = [
+    ./disable-autoupdate.patch
+  ];
+
   postPatch = with stdenv.lib; ''
     sed -i -re 's,^( *gpodder_dir *= *).*,\1"'"$out"'",' bin/gpodder
   '';
diff --git a/pkgs/applications/audio/gpodder/disable-autoupdate.patch b/pkgs/applications/audio/gpodder/disable-autoupdate.patch
new file mode 100644
index 000000000000..8f77518d03e5
--- /dev/null
+++ b/pkgs/applications/audio/gpodder/disable-autoupdate.patch
@@ -0,0 +1,55 @@
+--- a/share/gpodder/ui/gtk/menus.ui
++++ b/share/gpodder/ui/gtk/menus.ui
+@@ -13,10 +13,6 @@
+         <attribute name="action">app.gotoMygpo</attribute>
+         <attribute name="label" translatable="yes">Go to gpodder.net</attribute>
+       </item>
+-      <item>
+-        <attribute name="action">app.checkForUpdates</attribute>
+-        <attribute name="label" translatable="yes">Software updates</attribute>
+-      </item>
+     </section>
+     <section>
+       <item>
+@@ -201,4 +197,4 @@
+     </submenu>
+   </menu>
+ </interface>
+-<!-- :noTabs=true:tabSize=2:indentSize=2: -->
+\ No newline at end of file
++<!-- :noTabs=true:tabSize=2:indentSize=2: -->
+--- a/src/gpodder/config.py
++++ b/src/gpodder/config.py
+@@ -91,13 +91,6 @@
+         'retries': 3,  # number of retries when downloads time out
+     },
+ 
+-    # Software updates from gpodder.org
+-    'software_update': {
+-        'check_on_startup': True,  # check for updates on start
+-        'last_check': 0,  # unix timestamp of last update check
+-        'interval': 5,  # interval (in days) to check for updates
+-    },
+-
+     'ui': {
+         # Settings for the Command-Line Interface
+         'cli': {
+--- a/src/gpodder/gtkui/main.py
++++ b/src/gpodder/gtkui/main.py
+@@ -224,7 +224,7 @@
+             util.idle_add(self.subscribe_to_url, self.options.subscribe)
+         elif not self.channels:
+             self.on_itemUpdate_activate()
+-        elif self.config.software_update.check_on_startup:
++        elif False and self.config.software_update.check_on_startup:
+             # Check for software updates from gpodder.org
+             diff = time.time() - self.config.software_update.last_check
+             if diff > (60 * 60 * 24) * self.config.software_update.interval:
+@@ -3288,6 +3288,7 @@
+         If silent=False, a message will be shown even if no updates are
+         available (set silent=False when the check is manually triggered).
+         """
++        return
+         try:
+             up_to_date, version, released, days = util.get_update_info()
+         except Exception as e:
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index a37377835f5f..350ac7e13cdb 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -4,8 +4,8 @@ let
   mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
   stableVersion = {
     stable = true;
-    version = "1.6.3";
-    sha256Hash = "1bm0m1y3cf0zmaasz1wfkbz5fy9wm7ivyjn9bzs87yrvlj9x7wqz";
+    version = "1.6.7";
+    sha256Hash = "1537div6pky7wz3lansz67vsx2h6b653cx91xg9sswnxfsf8nrql";
     # svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
     archPatchesRevision = "429149";
     archPatchesHash = "1ylpi9kb6hk27x9wmna4ing8vzn9b7247iya91pyxxrpxrcrhpli";
diff --git a/pkgs/applications/networking/resilio-sync/default.nix b/pkgs/applications/networking/resilio-sync/default.nix
index c855277e2259..1844711066b0 100644
--- a/pkgs/applications/networking/resilio-sync/default.nix
+++ b/pkgs/applications/networking/resilio-sync/default.nix
@@ -9,13 +9,13 @@ let
 
 in stdenv.mkDerivation rec {
   name = "resilio-sync-${version}";
-  version = "2.6.2";
+  version = "2.6.3";
 
   src = fetchurl {
     url = "https://download-cdn.resilio.com/${version}/linux-${arch}/resilio-sync_${arch}.tar.gz";
     sha256 = {
-      "x86_64-linux" = "0vq8jz4v740zz3pvgqfya8mhy35fh49wpn8d08xjrs5062hl1yc2";
-      "i686-linux"   = "1gvq29bkdqvbcgnnhl3018h564rswk3r88s33lx5iph1rpxc6v5h";
+      "x86_64-linux" = "114k7dsxn7lzv6mjq9alsqxypvkah4lmjn5w6brbvgd6m6pdwslz";
+      "i686-linux"   = "1dh0hxbd33bs51xib3qwxw58h9j30v0dc10b4x4rwkbgsj11nc83";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index c4b434dcaa49..fcfa1a552239 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -1,28 +1,21 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchpatch }:
+{ stdenv, buildGoModule, fetchFromGitHub, fetchpatch }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "rclone";
-  version = "1.46";
-
-  goPackagePath = "github.com/ncw/rclone";
-  subPackages = [ "." ];
+  version = "1.47.0";
 
   src = fetchFromGitHub {
     owner = "ncw";
-    repo = "rclone";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "1fl52dl41n76r678nzkxa2kgk9khn1fxraxgk8jd3ayc787qs9ia";
+    sha256 = "1nxwjr9jly6wh1ixr6a7zhlg4b3298v940040fsm0n3lcljd37zx";
   };
 
-  outputs = [ "bin" "out" "man" ];
+  modSha256 = "02p5dd450bbfyq80nd0w8f9kpv25k1855mf0gcv0cy9zq3f3r7q7";
+
+  subPackages = [ "." ];
 
-  # https://github.com/ncw/rclone/issues/2964
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/ncw/rclone/commit/1c1a8ef24bea9332c6c450379ed3c5d953e07508.patch";
-      sha256 = "0mq74z78lc3dhama303k712xkzz9q6p7zqlbwbl04bndqlkny03k";
-    })
-  ];
+  outputs = [ "out" "man" ];
 
   postInstall = ''
     install -D -m644 $src/rclone.1 $man/share/man/man1/rclone.1
diff --git a/pkgs/applications/science/math/clp/default.nix b/pkgs/applications/science/math/clp/default.nix
index 4899ebe42d77..81fa6166680e 100644
--- a/pkgs/applications/science/math/clp/default.nix
+++ b/pkgs/applications/science/math/clp/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchurl, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "1.16.11";
+  version = "1.17.1";
   name = "clp-${version}";
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Clp/Clp-${version}.tgz";
-    sha256 = "0fazlqpp845186nmixa9f1xfxqqkdr1xj4va7q29m8594ca4a9dm";
+    sha256 = "1wdg820g3iikf9344ijwsc8sy6c0m6im42bzzizm6rlmkvnmxhk9";
   };
 
   propagatedBuildInputs = [ zlib ];
 
   doCheck = true;
 
-  meta = {
-    license = stdenv.lib.licenses.epl10;
+  meta = with stdenv.lib; {
+    license = licenses.epl10;
     homepage = https://projects.coin-or.org/Clp;
     description = "An open-source linear programming solver written in C++";
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    platforms = platforms.darwin ++ [ "x86_64-linux" ];
+    maintainers = [ maintainers.vbgl ];
   };
 }
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix
index 22761af158af..7ad1affb65a3 100644
--- a/pkgs/build-support/kernel/make-initrd.nix
+++ b/pkgs/build-support/kernel/make-initrd.nix
@@ -12,11 +12,14 @@
 # `contents = {object = ...; symlink = /init;}' is a typical
 # argument.
 
-{ stdenv, perl, cpio, contents, compressor, prepend, ubootTools
+{ stdenv, perl, cpio, contents, ubootTools
+, name ? "initrd"
+, compressor ? "gzip -9n"
+, prepend ? []
 }:
 
 stdenv.mkDerivation rec {
-  name = "initrd";
+  inherit name;
   builder = ./make-initrd.sh;
 
   makeUInitrd = stdenv.hostPlatform.platform.kernelTarget == "uImage";
diff --git a/pkgs/desktops/deepin/deepin-screenshot/default.nix b/pkgs/desktops/deepin/deepin-screenshot/default.nix
new file mode 100644
index 000000000000..6585bc78c588
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-screenshot/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig, xdg_utils, qttools, qtx11extras,
+  dtkcore, dtkwidget, dtkwm, deepin-turbo, deepin-shortcut-viewer,
+  deepin }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-screenshot";
+  version = "4.1.8";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "1zhjchflgws2q74b9fgdjy2wzifjhimnrrq1sxlv395793xv8lrr";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    qttools
+    deepin.setupHook
+  ];
+
+  buildInputs = [
+    deepin-shortcut-viewer
+    deepin-turbo
+    dtkcore
+    dtkwidget
+    dtkwm
+    qtx11extras
+  ];
+
+  patches = [
+    (fetchpatch {
+      url = https://github.com/linuxdeepin/deepin-screenshot/pull/52/commits/e14508b223fd9965854ed41c944cea2ea19e6e0c.patch;
+      sha256 = "18zvz98z3hr8pcdyb706za6h2nwx23zsjb1hgyp21ycinhzr9j9h";
+    })
+  ];
+
+  postPatch = ''
+    searchHardCodedPaths
+    patchShebangs generate_translations.sh
+    fixPath ${deepin-turbo} /usr/bin/deepin-turbo-invoker src/dbusservice/com.deepin.Screenshot.service
+    fixPath $out /usr/bin/deepin-screenshot src/dbusservice/com.deepin.Screenshot.service
+    substituteInPlace src/mainwindow.cpp --replace '"xdg-open,%1"' '"${xdg_utils}/bin/xdg-open,%1"'
+  '';
+
+  postFixup = ''
+    searchHardCodedPaths $out
+  '';
+
+  passthru.updateScript = deepin.updateScript { inherit name; };
+
+  meta = with stdenv.lib; {
+    description = "Easy-to-use screenshot tool for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/deepin-screenshot;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo flokli ];
+  };
+}
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index a42532ed0752..10e25cedc4b3 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -24,6 +24,7 @@ let
     deepin-metacity = callPackage ./deepin-metacity { };
     deepin-movie-reborn = callPackage ./deepin-movie-reborn { };
     deepin-mutter = callPackage ./deepin-mutter { };
+    deepin-screenshot = callPackage ./deepin-screenshot { };
     deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { };
     deepin-sound-theme = callPackage ./deepin-sound-theme { };
     deepin-terminal = callPackage ./deepin-terminal {
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index a9f0e3ec0a51..b15e1a9aa309 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -2,10 +2,10 @@
 , makeWrapper, unzip, which, writeTextFile
 , curl, tzdata, gdb, darwin, git
 , callPackage, targetPackages, ldc
-, version ? "2.084.1"
-, dmdSha256 ? "10ll5072rkv3ln7i5l88h2f9mzda567kw2jwh6466vm6ylzl4jms"
-, druntimeSha256 ? "0i0g2cnzh097pmvb86gvyj79canaxppw33hp7ylqnd11q4kqc8pb"
-, phobosSha256 ? "1hxpismj9gy5n1bc9kl9ykgd4lfmkq9i8xgrq09j0fybfwn9j1gc"
+, version ? "2.085.1"
+, dmdSha256 ? "0ccidfcawrcwdpfjwjiln5xwr4ffp8i2hwx52p8zn3xmc5yxm660"
+, druntimeSha256 ? "109f2glsqrlshk06761xlw4r5v22mivp873cq9g5gcax3g00k617"
+, phobosSha256 ? "0giispqqx8j8xg6c0hm7nx77bcahiwic8rvf12sws3sv5pizv8pr"
 }:
 
 let
@@ -51,14 +51,6 @@ stdenv.mkDerivation rec {
   })
   ];
 
-  patches = [
-    (fetchpatch {
-      name = "fix-loader-import.patch";
-      url = "https://github.com/dlang/dmd/commit/e7790436c4af1910b8c079dac9bb69627d7dea4b.patch";
-      sha256 = "0w69hajx8agywc7m2hph5m27g2yclz8ml0gjjyjk9k6ii3jv45kx";
-    })
-  ];
-
   patchFlags = [ "--directory=dmd" "-p1" ];
 
   sourceRoot = ".";
diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix
index a290d2b6cfe6..71473be580ea 100644
--- a/pkgs/development/compilers/ldc/default.nix
+++ b/pkgs/development/compilers/ldc/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, cmake, llvm, curl, tzdata
+{ stdenv, fetchurl, cmake, ninja, llvm, llvm_8, curl, tzdata
 , python, libconfig, lit, gdb, unzip, darwin, bash
 , callPackage, makeWrapper, targetPackages
 , bootstrapVersion ? false
-, version ? "1.14.0"
-, ldcSha256 ? "147vlzzzjx2n6zyz9wj54gj046i1mw5p5wixwzi5wkllgxghyy9c"
+, version ? "1.15.0"
+, ldcSha256 ? "1qnfy2q8zkywvby7wa8jm20mlpghn28x6w357cpc8hi56g7y1q6p"
 }:
 
 let
@@ -37,6 +37,12 @@ stdenv.mkDerivation rec {
       patchShebangs .
   ''
 
+  + stdenv.lib.optionalString (!bootstrapVersion) ''
+      rm ldc-${version}-src/tests/d2/dmd-testsuite/fail_compilation/mixin_gc.d
+      rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/xtest46_gc.d
+      rm ldc-${version}-src/tests/d2/dmd-testsuite/runnable/testptrref_gc.d
+  ''
+
   + stdenv.lib.optionalString (!bootstrapVersion && stdenv.hostPlatform.isDarwin) ''
       # https://github.com/NixOS/nixpkgs/issues/34817
       rm -r ldc-${version}-src/tests/plugins/addFuncEntryCall
@@ -68,19 +74,29 @@ stdenv.mkDerivation rec {
       substituteInPlace dmd2/root/port.c --replace __inline_isnanl __inline_isnan
   '';
 
-  nativeBuildInputs = [ cmake makeWrapper llvm unzip ]
+  nativeBuildInputs = [ cmake ninja makeWrapper unzip ]
 
   ++ stdenv.lib.optional (!bootstrapVersion) [
     bootstrapLdc python lit
   ]
 
+  ++ stdenv.lib.optional (!bootstrapVersion && stdenv.hostPlatform.isDarwin) [
+    # https://github.com/NixOS/nixpkgs/issues/57120
+    # https://github.com/NixOS/nixpkgs/pull/59197#issuecomment-481972515
+    llvm
+  ]
+
+  ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [
+    llvm_8
+  ]
+
   ++ stdenv.lib.optional (!bootstrapVersion && !stdenv.hostPlatform.isDarwin) [
     # https://github.com/NixOS/nixpkgs/pull/36378#issuecomment-385034818
     gdb
   ]
 
   ++ stdenv.lib.optional (bootstrapVersion) [
-    libconfig
+    libconfig llvm
   ]
 
   ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
@@ -123,6 +139,7 @@ stdenv.mkDerivation rec {
     }
 
     fixDarwinDylibNames $(find "$(pwd)/lib" -name "*.dylib")
+    export DYLD_LIBRARY_PATH=$(pwd)/lib
   ''
   else
     "";
@@ -137,7 +154,7 @@ stdenv.mkDerivation rec {
 
   checkPhase = stdenv.lib.optionalString doCheck ''
     # Build default lib test runners
-    make -j$NIX_BUILD_CORES all-test-runners
+    ninja -j$NIX_BUILD_CORES all-test-runners
 
     ${fixNames}
 
diff --git a/pkgs/development/libraries/protobuf/3.6.nix b/pkgs/development/libraries/protobuf/3.6.nix
index 0009209d9cef..16decc44e847 100644
--- a/pkgs/development/libraries/protobuf/3.6.nix
+++ b/pkgs/development/libraries/protobuf/3.6.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.6.1";
-  sha256 = "1bg40miylzpy2wgbd7l7zjgmk43l12q38fq0zkn0vzy1lsj457sq";
+  version = "3.6.1.3";
+  sha256 = "1spj0d4flx6h3phxx3sg9r00yv734hina3365avkcz9brnm089c1";
 }
diff --git a/pkgs/development/libraries/protobuf/3.7.nix b/pkgs/development/libraries/protobuf/3.7.nix
new file mode 100644
index 000000000000..8a3f9a563212
--- /dev/null
+++ b/pkgs/development/libraries/protobuf/3.7.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... }:
+
+callPackage ./generic-v3.nix {
+  version = "3.7.0";
+  sha256 = "0nlxif4cajqllsj2vdh7zp14ag48fb8lsa64zmq8625q9m2lcmdh";
+}
diff --git a/pkgs/development/python-modules/annexremote/default.nix b/pkgs/development/python-modules/annexremote/default.nix
new file mode 100644
index 000000000000..f07f05b98843
--- /dev/null
+++ b/pkgs/development/python-modules/annexremote/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, isPy3k
+, buildPythonPackage
+, fetchFromGitHub
+, future
+, mock
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "annexremote";
+  version = "1.3.1";
+
+  # use fetchFromGitHub instead of fetchPypi because the test suite of
+  # the package is not included into the PyPI tarball
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "Lykos153";
+    repo = "AnnexRemote";
+    sha256 = "13ny7h41430pi9393dw3qgwxvzcxacapjsw0d3vjm7lc4h566alq";
+  };
+
+  propagatedBuildInputs = [ future ];
+
+  checkInputs = [ nose ] ++ lib.optional (!isPy3k) mock;
+  checkPhase = "nosetests -v";
+
+  meta = with lib; {
+    description = "Helper module to easily develop git-annex remotes";
+    homepage = https://github.com/Lykos153/AnnexRemote;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ montag451 ];
+  };
+}
diff --git a/pkgs/development/python-modules/cairosvg/default.nix b/pkgs/development/python-modules/cairosvg/default.nix
index 17d442e4527e..beee82950496 100644
--- a/pkgs/development/python-modules/cairosvg/default.nix
+++ b/pkgs/development/python-modules/cairosvg/default.nix
@@ -13,6 +13,15 @@ buildPythonPackage rec {
     sha256 = "66f333ef5dc79fdfbd3bbe98adc791b1f854e0461067d202fa7b15de66d517ec";
   };
 
+  patches = [
+    # fix isort-check
+    (fetchpatch {
+      url = https://github.com/Kozea/CairoSVG/commit/b2534b0fc80b9f24a2bff2c938ac5da73ff1e478.patch;
+      excludes = [ "test_non_regression/__init__.py" ];
+      sha256 = "1bms75dd0fd978yhlr0k565zq45lzxf0vkihryb7gcwnd42bl6yf";
+    })
+  ];
+
   propagatedBuildInputs = [ cairocffi cssselect2 defusedxml pillow tinycss2 ];
 
   checkInputs = [ pytest pytestrunner pytestcov pytest-flake8 pytest-isort ];
diff --git a/pkgs/development/python-modules/dm-sonnet/default.nix b/pkgs/development/python-modules/dm-sonnet/default.nix
new file mode 100644
index 000000000000..718084364179
--- /dev/null
+++ b/pkgs/development/python-modules/dm-sonnet/default.nix
@@ -0,0 +1,85 @@
+{ lib
+, fetchFromGitHub
+, buildBazelPackage
+, buildPythonPackage
+, git
+, python
+, six
+, absl-py
+, semantic-version
+, contextlib2
+, wrapt
+, tensorflow
+, tensorflow-probability
+}:
+
+let
+  version = "1.30";
+
+  # first build all binaries and generate setup.py using bazel
+  bazel-build = buildBazelPackage rec {
+    name = "dm-sonnet-bazel-${version}";
+
+    src = fetchFromGitHub {
+      owner = "deepmind";
+      repo = "sonnet";
+      rev = "v${version}";
+      sha256 = "1dli4a4arx2gmb4p676pfibvnpag9f13znisrk9381g7xpqqmaw6";
+    };
+
+    nativeBuildInputs = [
+      git # needed to fetch the bazel deps (protobuf in particular)
+    ];
+
+    # see https://github.com/deepmind/sonnet/blob/master/docs/INSTALL.md
+    bazelTarget = ":install";
+
+    fetchAttrs = {
+      sha256 = "1qwq6xp6gdmy8f0k96q3nsgqs56adrbgq39g5smwik6griwfx9mr";
+    };
+
+    buildAttrs = {
+      preBuild = ''
+        patchShebangs .
+      '';
+
+      installPhase = ''
+        # do not generate a wheel, instead just copy the generated files to $out to be installed by buildPythonPackage
+        sed -i 's,.*bdist_wheel.*,cp -rL . "$out"; exit 0,' bazel-bin/install
+
+        # the target directory "dist" does not actually matter since we're not generating a wheel
+        bazel-bin/install dist
+      '';
+    };
+  };
+
+# now use pip to install the package prepared by bazel
+in buildPythonPackage rec {
+  pname = "dm-sonnet";
+  inherit version;
+
+  src = bazel-build;
+
+  propagatedBuildInputs = [
+    six
+    absl-py
+    semantic-version
+    contextlib2
+    wrapt
+    tensorflow
+    tensorflow-probability
+  ];
+
+  # not sure how to properly run the real test suite -- through bazel?
+  checkPhase = ''
+    ${python.interpreter} -c "import sonnet"
+  '';
+
+  meta = with lib; {
+    description = "TensorFlow-based neural network library";
+    homepage = https://sonnet.dev;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/graph_nets/default.nix b/pkgs/development/python-modules/graph_nets/default.nix
new file mode 100644
index 000000000000..58aa6c84ade3
--- /dev/null
+++ b/pkgs/development/python-modules/graph_nets/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, tensorflow
+, absl-py
+, dm-sonnet
+, networkx
+, numpy
+, setuptools
+, six
+, future
+}:
+
+buildPythonPackage rec {
+  pname = "graph_nets";
+  version = "1.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15cbs9smmgqz2n9mnlzdbqj3iv9iw179d2g0f9lnimdy7xl4jqdf";
+  };
+
+  buildInputs = [];
+
+  postPatch = ''
+    # https://github.com/deepmind/graph_nets/issues/63
+    sed -i 's/dm-sonnet==1.23/dm-sonnet/' setup.py
+  '';
+
+  propagatedBuildInputs = [
+    tensorflow
+    absl-py
+    dm-sonnet
+    networkx
+    numpy
+    setuptools
+    six
+    future
+  ];
+
+  meta = with lib; {
+    description = "Build Graph Nets in Tensorflow";
+    homepage = https://github.com/deepmind/graph_nets;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ timokau ];
+  };
+}
diff --git a/pkgs/development/python-modules/nltk/default.nix b/pkgs/development/python-modules/nltk/default.nix
index 56edc44bce71..9ae4f00b495b 100644
--- a/pkgs/development/python-modules/nltk/default.nix
+++ b/pkgs/development/python-modules/nltk/default.nix
@@ -1,17 +1,25 @@
-{ fetchurl, buildPythonPackage, lib, six, pythonAtLeast, pythonOlder }:
+{ fetchPypi, buildPythonPackage, lib, six, singledispatch, isPy3k, fetchpatch }:
 
 buildPythonPackage rec {
-  version = "3.2.5";
+  version = "3.4";
   pname = "nltk";
 
-  src = fetchurl {
-    url = "mirror://pypi/n/nltk/nltk-${version}.tar.gz";
-    sha256 = "2661f9971d983db314bbebd51ba770811a362c6597fd0f303bb1d3beadcb4834";
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "286f6797204ffdb52525a1d21ec0a221ec68b8e3fa4f2d25f412ac8e63c70e8d";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ six ] ++ lib.optional (!isPy3k) singledispatch;
 
-  disabled = pythonOlder "2.7" || pythonOlder "3.4" && (pythonAtLeast "3.0");
+  # TODO: remove patch during update to new version
+  patches = [
+    (fetchpatch {
+      url = https://github.com/nltk/nltk/commit/3966111cbf2f35fb86082b2f12acd90d75e9b8bb.patch;
+      includes = [ "setup.py" ];
+      sha256 = "1sxafnvf6nzv6d996xc1rys06x62s36swgpfqhsyh6l1lj7y38jw";
+    })
+  ];
 
   # Tests require some data, the downloading of which is impure. It would
   # probably make sense to make the data another derivation, but then feeding
diff --git a/pkgs/development/python-modules/protobuf/default.nix b/pkgs/development/python-modules/protobuf/default.nix
index 4f00537db0c8..69dce2723ebb 100644
--- a/pkgs/development/python-modules/protobuf/default.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   nativeBuildInputs = [ google_apputils pyext ];
   buildInputs = [ protobuf ];
 
-  patches = optional isPy37
-    # Python 3.7 compatibility (remove when protobuf 3.7 is released)
+  patches = optional (isPy37 && (versionOlder protobuf.version "3.6.1.2"))
+    # Python 3.7 compatibility (not needed for protobuf >= 3.6.1.2)
     (fetchpatch {
       url = "https://github.com/protocolbuffers/protobuf/commit/0a59054c30e4f0ba10f10acfc1d7f3814c63e1a7.patch";
       sha256 = "09hw22y3423v8bbmc9xm07znwdxfbya6rp78d4zqw6fisdvjkqf1";
@@ -41,9 +41,9 @@ buildPythonPackage rec {
 
   preBuild = ''
     # Workaround for https://github.com/google/protobuf/issues/2895
-    ${python}/bin/${python.executable} setup.py build
+    ${python.interpreter} setup.py build
   '' + optionalString (versionAtLeast protobuf.version "2.6.0") ''
-    ${python}/bin/${python.executable} setup.py build_ext --cpp_implementation
+    ${python.interpreter} setup.py build_ext --cpp_implementation
   '';
 
   installFlags = optional (versionAtLeast protobuf.version "2.6.0")
diff --git a/pkgs/development/python-modules/tensorflow-probability/default.nix b/pkgs/development/python-modules/tensorflow-probability/default.nix
new file mode 100644
index 000000000000..aa32904b8d33
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow-probability/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, tensorflow
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "tensorflow-probability";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "tensorflow";
+    repo = "probability";
+    rev = "v${version}";
+    sha256 = "1y210n4asv8j39pk68bdfrz01gddflvzhxbcvj5jw6rjgaagnhvx";
+  };
+
+  propagatedBuildInputs = [
+    tensorflow
+  ];
+
+  checkInputs = [
+    pytest
+  ];
+
+  # Tests have an invalid import (`tensorflow_probability.opensource`), should
+  # be resolved in the next version with
+  # https://github.com/tensorflow/probability/commit/77d5957f2f0bdddcb46582799cd9c5c5167a1a40
+  doCheck = false;
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with lib; {
+    description = "Library for probabilistic reasoning and statistical analysis";
+    homepage = https://www.tensorflow.org/probability/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ timokau ];
+  };
+}
diff --git a/pkgs/development/tools/ammonite/default.nix b/pkgs/development/tools/ammonite/default.nix
index 68422f09a4f4..05c3edc66d62 100644
--- a/pkgs/development/tools/ammonite/default.nix
+++ b/pkgs/development/tools/ammonite/default.nix
@@ -5,12 +5,12 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "ammonite-${version}";
-  version = "1.6.4";
+  version = "1.6.6";
   scalaVersion = "2.12";
 
   src = fetchurl {
     url = "https://github.com/lihaoyi/Ammonite/releases/download/${version}/${scalaVersion}-${version}";
-    sha256 = "16mx2394wmm4jvy26rlp46mb2nf8cayvxclpa6fn0sb4klqs7mc2";
+    sha256 = "1w4vk8zq57b6flp2cpjlkicz4h8bca215669w065zqhfxlpxma2g";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/tools/build-managers/dub/default.nix b/pkgs/development/tools/build-managers/dub/default.nix
index 024c57201e12..3f733e97eed9 100644
--- a/pkgs/development/tools/build-managers/dub/default.nix
+++ b/pkgs/development/tools/build-managers/dub/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "dub-${version}";
-  version = "1.13.0";
+  version = "1.14.0";
 
   enableParallelBuilding = true;
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "dlang";
     repo = "dub";
     rev = "v${version}";
-    sha256 = "1wd5pdnbaafj33bbg188w0iz28ps4cyjangb12g2s9dyic29zjqv";
+    sha256 = "070kfkyrkr98y1hbhcf85842c0x7l95w1ambrkdgajpb6kcmpf84";
   };
 
   postUnpack = ''
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index 593287dbf21a..c223a8dc54a1 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "dtools-${version}";
-  version = "2.084.1";
+  version = "2.085.1";
 
   srcs = [
     (fetchFromGitHub {
       owner = "dlang";
       repo = "dmd";
       rev = "v${version}";
-      sha256 = "10ll5072rkv3ln7i5l88h2f9mzda567kw2jwh6466vm6ylzl4jms";
+      sha256 = "0ccidfcawrcwdpfjwjiln5xwr4ffp8i2hwx52p8zn3xmc5yxm660";
       name = "dmd";
     })
     (fetchFromGitHub {
       owner = "dlang";
       repo = "tools";
       rev = "v${version}";
-      sha256 = "0z3xkv9s1pdx8zdhsb92mwax2q5xhwjgh6g3iv53xip1nsxygn48";
+      sha256 = "1x85w4k2zqgv2bjbvhschxdc6kq8ygp89h499cy8rfqm6q23g0ws";
       name = "dtools";
     })
   ];
diff --git a/pkgs/development/tools/misc/mkcert/default.nix b/pkgs/development/tools/misc/mkcert/default.nix
new file mode 100644
index 000000000000..9532b6e34421
--- /dev/null
+++ b/pkgs/development/tools/misc/mkcert/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "mkcert";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "FiloSottile";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1aadnsx5pfmryf8mgxg9g0i083dm1pmrc6v4ln2mm3n89wwqc9b7";
+  };
+
+  modSha256 = "0snvvwhyfq01nwgjz55dgd5skpg7z0dzix7sdag90cslbrr983i1";
+
+  meta = with lib; {
+    homepage = https://github.com/FiloSottile/mkcert;
+    description = "A simple tool for making locally-trusted development certificates";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.marsam ];
+  };
+}
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 148cd3cb78d7..3932a4912426 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -61,12 +61,12 @@ let
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2019-04-04";
+    version = "2019-04-13";
     src = fetchFromGitHub {
       owner = "w0rp";
       repo = "ale";
-      rev = "cdf89f8269aec31d0dfddf3a2769027d72d38155";
-      sha256 = "13zj7sahhan1w50jkncina979cyk3kca5ly68571bzccyzm8dazi";
+      rev = "495bce32e957dcf45d6d6acf183599e18c92b09d";
+      sha256 = "0kiflcafiaz3r5a721551n8fa9sx94hwgh5dr50fbgbzjgpshn54";
     };
   };
 
@@ -403,12 +403,12 @@ let
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2019-04-02";
+    version = "2019-04-07";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "280ea09f278d7301910e7b6abefccd75400bec0b";
-      sha256 = "0dcmbmwh29svin6gn4x5carlgy9plax64p4w0f0cx69440zhl4r0";
+      rev = "fbde64c2be0482e9505a3fbdf4cb701f17662e51";
+      sha256 = "1z7506ch0b5lim098v4n52fhz7mqxrfgywanavpgppyas496sdp0";
     };
   };
 
@@ -494,12 +494,12 @@ let
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2019-03-31";
+    version = "2019-04-07";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "19f1dc07f382534d16e5e21f2dddf5109d64ae68";
-      sha256 = "1l9zpvh9hwbd32l2g8h0pq3xh5cixbmqdqznwrksx1da12v2w7aa";
+      rev = "5c50f254175ee1e815a47761c50abec861afcc61";
+      sha256 = "133zlaha0lvibrcd4ci7h353pgv64yyvvh211g8pdlq8vd9qbrhn";
     };
   };
 
@@ -584,12 +584,23 @@ let
 
   falcon = buildVimPluginFrom2Nix {
     pname = "falcon";
-    version = "2019-03-25";
+    version = "2019-04-08";
     src = fetchFromGitHub {
       owner = "fenetikm";
       repo = "falcon";
-      rev = "5526c8e9345f3c3953757bb13511e4bb49878456";
-      sha256 = "18drq44lnh4d0pq6b30jiinlkylaq68llc0gyxvgpy6gy0k77gyk";
+      rev = "8d1cfd1b700c9945bf98a29d3713a9f1e0e9e5e6";
+      sha256 = "0asm7wvvj3z5zvjm61kj7qg5k8jkqncdrd1snbb34nq4vayr5y7a";
+    };
+  };
+
+  far-vim = buildVimPluginFrom2Nix {
+    pname = "far-vim";
+    version = "2019-02-20";
+    src = fetchFromGitHub {
+      owner = "brooth";
+      repo = "far.vim";
+      rev = "6c095d577220ff362fb04b19fd5a571819efcc56";
+      sha256 = "1x8hxzf401s8i06fsx6lysdsl57mds4jxzm9n8xqp8jqml4625l7";
     };
   };
 
@@ -849,12 +860,12 @@ let
 
   jedi-vim = buildVimPluginFrom2Nix {
     pname = "jedi-vim";
-    version = "2019-03-22";
+    version = "2019-04-05";
     src = fetchFromGitHub {
       owner = "davidhalter";
       repo = "jedi-vim";
-      rev = "f26b2a8802ad47406a0ab1e7b68234fa22d88891";
-      sha256 = "01bbs70j5z00rn4bmf05zvl3mavyv8w6faj59z0mldvxnfidw2bb";
+      rev = "914754a04e0ea0882b3172230199fd771b02dc95";
+      sha256 = "0wj0fgvbvwhgx0ij9lrka5an2xc8gy6pq7add8ildk25fls23ig4";
       fetchSubmodules = true;
     };
   };
@@ -971,12 +982,12 @@ let
 
   ncm2 = buildVimPluginFrom2Nix {
     pname = "ncm2";
-    version = "2019-03-13";
+    version = "2019-04-10";
     src = fetchFromGitHub {
       owner = "ncm2";
       repo = "ncm2";
-      rev = "c5821b1a9b0c0c3abf1d0ba496902bb7dde2bad0";
-      sha256 = "1k3b7x9sz7wljrhrnk7w1ss1zh4w7830acsiqzlj4d8j8ck5sc8z";
+      rev = "e5a7976ad175251a96c537488d2d9557fafdcc8b";
+      sha256 = "0jdhbv56vg53vy5yd4322pjyqaidjj0jdbn1ykvi4scci26rzq35";
     };
   };
 
@@ -1103,12 +1114,12 @@ let
 
   neoformat = buildVimPluginFrom2Nix {
     pname = "neoformat";
-    version = "2019-03-28";
+    version = "2019-04-08";
     src = fetchFromGitHub {
       owner = "sbdchd";
       repo = "neoformat";
-      rev = "8db90526af3655e32f803e18176150f593cd08a6";
-      sha256 = "0vv81hxc2f53299xvb8m0px6f0kpmmr4h5h6h5wzqyg7xixfjg0i";
+      rev = "5b9ed55b55009bed806aaef0eb8fa01fee134082";
+      sha256 = "0glwy2rrh9f35sya3sffic94fm8j54mhhx7hkin6x0d497jplm6y";
     };
   };
 
@@ -1125,12 +1136,12 @@ let
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2019-03-28";
+    version = "2019-04-09";
     src = fetchFromGitHub {
       owner = "benekastah";
       repo = "neomake";
-      rev = "36c91c3b8f0f731b3ab6a3a01a9eb2e1be15ab86";
-      sha256 = "0fkkssy38hcp23mgbwgkcnmhlnxj7iqn2iq39k8g7fbhhmnbixik";
+      rev = "9ccc5d6662fb35383fe7fa7ea9e33467d28a0372";
+      sha256 = "1j2jr5ilcws1bpbnhch2y6jh6303w305c06rncgawibxyqsxvnmw";
     };
   };
 
@@ -1158,12 +1169,12 @@ let
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet-vim";
-    version = "2019-03-10";
+    version = "2019-04-11";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "00908a8a5f56fad3e6f30b2ed7b825b62294926a";
-      sha256 = "0xi3p2lslxil9f93ca3529vvlr4z6znjhyia35f5j0sf1l56r9id";
+      rev = "3d3362622ef10deedaea8e026054064bf62aeb33";
+      sha256 = "02kvc85yibp1m5b6024z42s94z015czmwhdn7v2glpynj67qv4av";
     };
   };
 
@@ -1532,12 +1543,12 @@ let
 
   rust-vim = buildVimPluginFrom2Nix {
     pname = "rust-vim";
-    version = "2019-03-28";
+    version = "2019-04-09";
     src = fetchFromGitHub {
       owner = "rust-lang";
       repo = "rust.vim";
-      rev = "2234f0d3f8204b44f30ff6eb3b6f7345c23aef92";
-      sha256 = "1s0v14na6vlzazw95ssfcqkpylnqxaj7kh1qyni97ixiqqw7vrjw";
+      rev = "9984b9753606fe2c8d7f3d4f9d67c1777a967cd6";
+      sha256 = "03vn9rxcsrxnr6y0a6nh5ajl804ha98klk1sms61hlkspxib9il9";
     };
   };
 
@@ -1653,12 +1664,12 @@ let
 
   syntastic = buildVimPluginFrom2Nix {
     pname = "syntastic";
-    version = "2019-03-07";
+    version = "2019-04-07";
     src = fetchFromGitHub {
       owner = "scrooloose";
       repo = "syntastic";
-      rev = "1089ee5212b833d73c96ca93773b9eca1a0f721b";
-      sha256 = "084hm6ash2sgxpa3mgbd919yb775mzdalblnhv4iqc59zlafh78q";
+      rev = "9f43dcb5a244faba6aedb6879b75a56c7de4b8ff";
+      sha256 = "1cv643znw51hkgzm0w3sbimasf91v59lrf6vdfqvbcym39705wyv";
     };
   };
 
@@ -1807,12 +1818,12 @@ let
 
   typescript-vim = buildVimPluginFrom2Nix {
     pname = "typescript-vim";
-    version = "2018-10-17";
+    version = "2019-04-11";
     src = fetchFromGitHub {
       owner = "leafgarland";
       repo = "typescript-vim";
-      rev = "0e9d92eead2df21abe342c4341c55536dd36b0af";
-      sha256 = "1mf8cwkppfnxgjjgy762m1zbxmqxb9fpgxr6kbcjsi8qhzip0cvd";
+      rev = "f50fed442f8e75e714efeaf015225af9eaf67cf4";
+      sha256 = "077h668k4z94kvpijmivq3mf6884b96fz5v53rlzxrx80431biww";
     };
   };
 
@@ -1838,6 +1849,17 @@ let
     };
   };
 
+  unicode-vim = buildVimPluginFrom2Nix {
+    pname = "unicode-vim";
+    version = "2019-03-08";
+    src = fetchFromGitHub {
+      owner = "chrisbra";
+      repo = "unicode.vim";
+      rev = "e0a060444af297eef131dd140e55c8c3602a72fd";
+      sha256 = "0difrn1p406p9g7xdw4xgmpx8f4ahml5gkmnsx03yv02svlfxp68";
+    };
+  };
+
   unite-vim = buildVimPluginFrom2Nix {
     pname = "unite-vim";
     version = "2019-03-29";
@@ -1849,6 +1871,17 @@ let
     };
   };
 
+  vCoolor-vim = buildVimPluginFrom2Nix {
+    pname = "vCoolor-vim";
+    version = "2018-10-06";
+    src = fetchFromGitHub {
+      owner = "KabbAmine";
+      repo = "vCoolor.vim";
+      rev = "8fc037e453f4c2274f590bde4f9fb56167b14e57";
+      sha256 = "193cjxfha5xcpfjqqpyfa6xidys1zmmmwlcj7w2cxbr5j5bdnybm";
+    };
+  };
+
   verilog_systemverilog-vim = buildVimPluginFrom2Nix {
     pname = "verilog_systemverilog-vim";
     version = "2019-03-20";
@@ -1862,12 +1895,12 @@ let
 
   vim = buildVimPluginFrom2Nix {
     pname = "vim";
-    version = "2019-04-02";
+    version = "2019-04-07";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "9b856347b905dc616baf02b48d7631bc3084726e";
-      sha256 = "0w9aj42hb8x7601gbgf0ggs7p3sm5wrv23bnvrjgdlf3mapg6dwy";
+      rev = "34efabac145c06cda8084aea11bf46382a3d2254";
+      sha256 = "1qswcnjl60gw8grgy0gym5lmx29rqxhz5p01dibpcv1qq1ij2msg";
     };
   };
 
@@ -2093,23 +2126,23 @@ let
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2019-03-26";
+    version = "2019-04-09";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "86e73cade71651263715f21e58eed87cfed4518e";
-      sha256 = "0xlvnzsnfkzg9qz5n87gvm75xlhgihf3y300zxvsyhk6ihnajyzp";
+      rev = "cbf264ff5f323ab8a8cf02f59f79bf858d496047";
+      sha256 = "11clk44jpdc4v67hrv0m5isjd4hxxr4figxj1ck0v0bkcd714jcm";
     };
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix {
     pname = "vim-airline-themes";
-    version = "2019-03-21";
+    version = "2019-04-11";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline-themes";
-      rev = "78cc30cb90b50fab024098bf2a55a4441665ff03";
-      sha256 = "15mddh41vb44p1ppcsk3kb50fhqrlkdv4bmr2r7crny53cjfslh9";
+      rev = "01b3098642df1bced40473c924c0b6aa37427fe2";
+      sha256 = "14iqcmrsmkf0iv31g5yf3x829bich868qy841xy1812yz9mslrn7";
     };
   };
 
@@ -2324,12 +2357,12 @@ let
 
   vim-devicons = buildVimPluginFrom2Nix {
     pname = "vim-devicons";
-    version = "2019-04-05";
+    version = "2019-04-06";
     src = fetchFromGitHub {
       owner = "ryanoasis";
       repo = "vim-devicons";
-      rev = "3a23ac26fd68a2db158cbe3c2ebbae2c142861ce";
-      sha256 = "1n324w9dxp9h7k1bg1hhad5f7pva05kns6mqd5d3yhsidfsxshlb";
+      rev = "cdc08fd72ffa2e4754c1ceefccd485f07a735177";
+      sha256 = "1fv8ah0lfxn2hs4lzp1zbnmwmy5gzl2fgryawrvi7lyd5gxmqjpb";
     };
   };
 
@@ -2445,12 +2478,12 @@ let
 
   vim-eunuch = buildVimPluginFrom2Nix {
     pname = "vim-eunuch";
-    version = "2018-09-09";
+    version = "2019-04-13";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-eunuch";
-      rev = "10da325fb032a1acfa9222d273459f53bad30ba4";
-      sha256 = "125n4amz3vmc83yv76vidsnma5w2braa69dcpj858ahnzhh329qj";
+      rev = "e066a0999e442d9d96f24ad9d203b1bd030ef72e";
+      sha256 = "12n7fzgppiwqhqnxlbxmky1m1flb82kr4zlyggysgzz1lqb122zf";
     };
   };
 
@@ -2522,12 +2555,12 @@ let
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2019-04-04";
+    version = "2019-04-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "1b3668b89fee230c6025dc47c01c82fc1e282ac0";
-      sha256 = "0b2z44cw71c0awlajcsln4b43kchhwlb90l461vq7ipmwp3wm8r1";
+      rev = "60eac8c97457af5a96eb06ad4b564e4c813d806e";
+      sha256 = "1hqz6hbnvazwq7ngffg638w9qf0b3a0y2wl34ddp5ffkjzxjhr8l";
     };
   };
 
@@ -2588,12 +2621,12 @@ let
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2019-03-31";
+    version = "2019-04-13";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "f04098811b8a7aba3dba699ed98f6f6e39b7d7ac";
-      sha256 = "01fsyyqlf1kygy4l3kbb1jcydgaqjmhhzbdf2liv3hx42signcqw";
+      rev = "473636c94cf0887a39839c82c4dcde0faab34f85";
+      sha256 = "1khzkpyg3hvz5brmzbrdxf33fdk62dfrss4q9gsfai61k1inrbfn";
     };
   };
 
@@ -2610,12 +2643,12 @@ let
 
   vim-grepper = buildVimPluginFrom2Nix {
     pname = "vim-grepper";
-    version = "2019-04-02";
+    version = "2019-04-08";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-grepper";
-      rev = "1b31eeed2fd672300dc0c52ffbb23397c7243215";
-      sha256 = "18i241a6v0mdzyznwr0al00zvnr0rqfz0khpjx730w6vk1whrp52";
+      rev = "b67c78ab929d0bd68c5a00df9d9271d0a82e0705";
+      sha256 = "1wbinfkrzv9rfr5in7q0y3554gibb1rsv95qa4yinf2qasx78x6f";
     };
   };
 
@@ -2908,12 +2941,12 @@ let
 
   vim-lawrencium = buildVimPluginFrom2Nix {
     pname = "vim-lawrencium";
-    version = "2018-11-04";
+    version = "2019-04-10";
     src = fetchFromGitHub {
       owner = "ludovicchabant";
       repo = "vim-lawrencium";
-      rev = "2e09de2ab8ac7a11387340647670ea6c1e4ef08c";
-      sha256 = "17j3wy15rkfx7xwgnmipmg7skmf57rw4xndkjgws6jqm9xgvj6jb";
+      rev = "e0c127cb4e4224453cb88faffd4627b7da499bcb";
+      sha256 = "1gvvr04x17157iz83rv45nlbj1qaz90j0l96q3fki3h1b0fw0099";
     };
   };
 
@@ -2974,12 +3007,12 @@ let
 
   vim-lsc = buildVimPluginFrom2Nix {
     pname = "vim-lsc";
-    version = "2019-03-29";
+    version = "2019-04-09";
     src = fetchFromGitHub {
       owner = "natebosch";
       repo = "vim-lsc";
-      rev = "b02690e167a1b49373245aabbedecd29aa470309";
-      sha256 = "0gaqcjdq7rykp4hbac7ibfd3lr19vy9pnzwkn2cmnv18b5sjpbm1";
+      rev = "4fd4668966e430946a864eb4e973634b3f506ded";
+      sha256 = "0gz1w7lcvy3rv4h4bfk8fdsa0k1nhxfkzrn2ncapkl210gw0v7zq";
     };
   };
 
@@ -2996,12 +3029,12 @@ let
 
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
-    version = "2019-03-26";
+    version = "2019-04-12";
     src = fetchFromGitHub {
       owner = "plasticboy";
       repo = "vim-markdown";
-      rev = "a15334cac67237835e62c9dd1470f6162769779f";
-      sha256 = "1bdi69ni1mgc9x67k8l886bch70jhi4hi5ram1habml4vklr82np";
+      rev = "f71f25b87df3bd2a5315fdf432f0de3c35434345";
+      sha256 = "0ak01032ya2lcsb45q1vm04q4fs5gdwax1y0r581ic1vxspzk7r3";
     };
   };
 
@@ -3084,12 +3117,12 @@ let
 
   vim-one = buildVimPluginFrom2Nix {
     pname = "vim-one";
-    version = "2018-07-22";
+    version = "2019-04-09";
     src = fetchFromGitHub {
       owner = "rakr";
       repo = "vim-one";
-      rev = "08aca1b5d8cd83106a430f150aa77b4148f6cd5e";
-      sha256 = "13ldimmm839s8a96l37s8pjx1rrr0cnkjyfiapp1c1n640qn1rd9";
+      rev = "6695e135415c53a8fbe96672e382200aa1ffb4b4";
+      sha256 = "0951r9kw23zlwd7fda6ib2d9k0akpfd2hvh82pasgw3ks9v1n2vf";
     };
   };
 
@@ -3227,23 +3260,23 @@ let
 
   vim-plug = buildVimPluginFrom2Nix {
     pname = "vim-plug";
-    version = "2019-02-22";
+    version = "2019-04-11";
     src = fetchFromGitHub {
       owner = "junegunn";
       repo = "vim-plug";
-      rev = "d1c19a6fa934d90718c18e40acbec0ad7014e931";
-      sha256 = "0adgz8fx1xpaqv9mzz55k51i9f407013z53p6vmw0rh5pz5kc58g";
+      rev = "518a3566c32cec35c68749c765127ef6f7703630";
+      sha256 = "1zkjazyz1karbqk6cyyw3zmdk6sy6vfs4qrhfbhs5c83gz4jm46r";
     };
   };
 
   vim-plugin-AnsiEsc = buildVimPluginFrom2Nix {
     pname = "vim-plugin-AnsiEsc";
-    version = "2018-05-10";
+    version = "2019-04-07";
     src = fetchFromGitHub {
       owner = "powerman";
       repo = "vim-plugin-AnsiEsc";
-      rev = "9df135fd4a564559aad0f6d28ae6975678cedcaf";
-      sha256 = "06s6fz3jw6pmy08nqzlvzhcgnv2d2p0vs863hqvd39amhg1xa5nf";
+      rev = "690f820d20b6e3a79ba20499874eb7333aa4ca5c";
+      sha256 = "05sf9xh7zs475kykz1hsp0xp7iiclp7pdiy3bpx7wlfp9z71bd9p";
     };
   };
 
@@ -3271,12 +3304,12 @@ let
 
   vim-projectionist = buildVimPluginFrom2Nix {
     pname = "vim-projectionist";
-    version = "2019-02-10";
+    version = "2019-04-06";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-projectionist";
-      rev = "12f3fac55f99952abecac01bebfc83adab98d6da";
-      sha256 = "0cxdsa1h9h35gpc7fyyks4xwv277lr6rhwspyzp07zd1ik67jm61";
+      rev = "00fbe9b87414e13b11dafb0849b2fde9b9cc35f4";
+      sha256 = "06ncrhd0g3q6ps0k0iiqkw7dv70q0rn9109wy1ywvjwpzdpdvvv5";
     };
   };
 
@@ -3357,6 +3390,17 @@ let
     };
   };
 
+  vim-rsi = buildVimPluginFrom2Nix {
+    pname = "vim-rsi";
+    version = "2019-03-15";
+    src = fetchFromGitHub {
+      owner = "tpope";
+      repo = "vim-rsi";
+      rev = "8b7abe2d470b7fffac6562818468e14594735564";
+      sha256 = "1fvswbqd51gs4qhcabnz3zdmmlhcijs3pnbp3f2zgfi7lqvjc6s5";
+    };
+  };
+
   vim-ruby = buildVimPluginFrom2Nix {
     pname = "vim-ruby";
     version = "2019-04-04";
@@ -3478,6 +3522,17 @@ let
     };
   };
 
+  vim-sneak = buildVimPluginFrom2Nix {
+    pname = "vim-sneak";
+    version = "2018-08-29";
+    src = fetchFromGitHub {
+      owner = "justinmk";
+      repo = "vim-sneak";
+      rev = "91192d8969af1d86c98beff4001612976ea25d7a";
+      sha256 = "0nmbrp0ma9s3yfzb8z70l0pcxv8p115zv6fz4injxn1c436x9337";
+    };
+  };
+
   vim-snipmate = buildVimPluginFrom2Nix {
     pname = "vim-snipmate";
     version = "2019-01-11";
@@ -3491,12 +3546,12 @@ let
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2019-04-03";
+    version = "2019-04-12";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "4214407a5eda0d49ad591e41b6eb91f4682fa81f";
-      sha256 = "1jvbjnfwpqc53vp5plwyvqnkabi4h6d67sg4dg3byrfs3d0rpzmx";
+      rev = "1ba4a66c11d8fd4309656bc2994d683580d54de3";
+      sha256 = "0cdphdscz6hbaj53gras13f1rfhzcrhlwff2rfbx4hxnsqgndph5";
     };
   };
 
@@ -3535,12 +3590,12 @@ let
 
   vim-startify = buildVimPluginFrom2Nix {
     pname = "vim-startify";
-    version = "2019-03-22";
+    version = "2019-04-11";
     src = fetchFromGitHub {
       owner = "mhinz";
       repo = "vim-startify";
-      rev = "e4d35cc913336d4e17e147c88120e10f58562b4c";
-      sha256 = "1kqx113dmsv8pm88g6lp8ahkyib78zln3iz4cls59r1803q1wf97";
+      rev = "0a212847827933436d0b139f37b9825e28e3c0a1";
+      sha256 = "08si59jvwlgj1i8z1i0ly439ar75ifrnlraa6nw20n3ii6nwzsvh";
     };
   };
 
@@ -3612,12 +3667,12 @@ let
 
   vim-tbone = buildVimPluginFrom2Nix {
     pname = "vim-tbone";
-    version = "2018-06-28";
+    version = "2019-04-12";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-tbone";
-      rev = "8bc7348f658c32bea57365aa6acf3a7dde12e737";
-      sha256 = "17s2b66xxkvv17pzf3xrw6ba7y9awpd2k2d21v0pag924c5hi6d4";
+      rev = "b7f41b10db9ed5e5854fc5fe3a619bc05f2d541a";
+      sha256 = "152mklqnqipzz2wwzj0i6s3fm75903flr1dff98nyw4khhm84pn2";
     };
   };
 
@@ -3634,12 +3689,12 @@ let
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2019-03-29";
+    version = "2019-04-07";
     src = fetchFromGitHub {
       owner = "janko-m";
       repo = "vim-test";
-      rev = "3c151018ce62b526e0bb4261b416a892c3945dc1";
-      sha256 = "0w4lh9l3fh3vfggy6am34vhh1844v3lqhv9fm22y9yvdjf995aa3";
+      rev = "9c38bb948e7a08fc35b5235535a27fe45777d0e4";
+      sha256 = "0b7n89rnrk70bh67xlb6wm2fpww8s7v86kia29bfirs5mrii3kqf";
     };
   };
 
@@ -3876,12 +3931,12 @@ let
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2019-04-02";
+    version = "2019-04-12";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "068ef61e6e9364093272edc4f0cf997a349c0a98";
-      sha256 = "1p81l2ckl1s2xddzhd9fxjsv9a6vhz77gn5jxwlp0in284v2lp2i";
+      rev = "51892b2b592331ce05b9b95e342cf5312b4f210b";
+      sha256 = "1chb8l9w2lnqpnjxy7h4ylmrqlyzfl5l1jj1x42bnc0l3mj62pa0";
     };
   };
 
@@ -4008,24 +4063,24 @@ let
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2019-03-31";
+    version = "2019-04-13";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "2126e8306cd21a58fb5e089376af8272abe36bb5";
-      sha256 = "08pdwq3cw7fszw75450z404ylcb5nni0p350jxsd7bd3vikdfxp9";
+      rev = "597e718bd86949cb6ca638a6ae2d288569b1fa11";
+      sha256 = "01apq588m66vxbq32d1bb3yx1gg8w55jznnq8jiz2jvy55csh1gs";
       fetchSubmodules = true;
     };
   };
 
   youcompleteme = buildVimPluginFrom2Nix {
     pname = "youcompleteme";
-    version = "2019-03-19";
+    version = "2019-04-10";
     src = fetchFromGitHub {
       owner = "valloric";
       repo = "youcompleteme";
-      rev = "25ebc0b9abb1b135c809ee850085a0305cbc5533";
-      sha256 = "0jv8h8wx8486n8add2ispcr7np278rvdndb2az4s72plh59xk05d";
+      rev = "9dee2b4e3f5de5f8b9fdc4790eac35eb2c40257a";
+      sha256 = "12i3wzcy19c5gc8xc5i0qhjl4wn7jwy2abgbx9x2cbgamjl4yzh0";
       fetchSubmodules = true;
     };
   };
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index c3865fa1e00f..4a4ef14f67c5 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -16,6 +16,9 @@
 , gomodifytags, gotags, gotools, go-motion
 , gnused, reftools, gogetdoc, gometalinter
 , impl, iferr, gocode, gocode-gomod, go-tools
+
+# vCoolor dep
+, gnome3
 }:
 
 self: super: {
@@ -413,4 +416,27 @@ self: super: {
     '';
   });
 
+  vCoolor-vim = super.vCoolor-vim.overrideAttrs(old: {
+    # on linux can use either Zenity or Yad.
+    propagatedBuildInputs = [ gnome3.zenity ];
+    meta = {
+      description = "Simple color selector/picker plugin";
+      license = stdenv.lib.licenses.publicDomain;
+    };
+  });
+
+  unicode-vim = let
+    unicode-data = fetchurl {
+      url = http://www.unicode.org/Public/UNIDATA/UnicodeData.txt;
+      sha256 = "16b0jzvvzarnlxdvs2izd5ia0ipbd87md143dc6lv6xpdqcs75s9";
+    };
+  in super.unicode-vim.overrideAttrs(old: {
+
+      # redirect to /dev/null else changes terminal color
+      buildPhase = ''
+        cp "${unicode-data}" autoload/unicode/UnicodeData.txt
+        echo "Building unicode cache"
+        ${vim}/bin/vim --cmd ":set rtp^=$PWD" -c 'ru plugin/unicode.vim' -c 'UnicodeCache' -c ':echohl Normal' -c ':q' > /dev/null
+      '';
+  });
 }
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 0e9660149984..b296cd0a8279 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -21,6 +21,7 @@ bhurlow/vim-parinfer
 bitc/vim-hdevtools
 bling/vim-bufferline
 bronson/vim-trailing-whitespace
+brooth/far.vim
 carlitux/deoplete-ternjs
 ccarpita/rtorrent-syntax-file
 cespare/vim-toml
@@ -32,6 +33,7 @@ chikatoike/sourcemap.vim
 chrisbra/CheckAttach
 chrisbra/Recover.vim
 chrisbra/csv.vim
+chrisbra/unicode.vim
 chrisgeo/sparkup
 chriskempson/base16-vim
 christoomey/vim-sort-motion
@@ -127,6 +129,8 @@ junegunn/vim-peekaboo
 junegunn/vim-plug
 justincampbell/vim-eighties
 justinmk/vim-dirvish
+justinmk/vim-sneak
+KabbAmine/vCoolor.vim
 KabbAmine/zeavim.vim
 kalbasit/vim-colemak
 kana/vim-niceblock
@@ -309,6 +313,7 @@ tpope/vim-pathogen
 tpope/vim-projectionist
 tpope/vim-repeat
 tpope/vim-rhubarb
+tpope/vim-rsi
 tpope/vim-scriptease
 tpope/vim-sensible
 tpope/vim-sleuth
diff --git a/pkgs/os-specific/linux/kmod/aggregator.nix b/pkgs/os-specific/linux/kmod/aggregator.nix
index 7d46a13f3562..afa8867dd07e 100644
--- a/pkgs/os-specific/linux/kmod/aggregator.nix
+++ b/pkgs/os-specific/linux/kmod/aggregator.nix
@@ -1,7 +1,7 @@
-{ stdenv, kmod, modules, buildEnv }:
+{ stdenv, kmod, modules, buildEnv, name ? "kernel-modules" }:
 
 buildEnv {
-  name = "kernel-modules";
+  inherit name;
 
   paths = modules;
 
diff --git a/pkgs/servers/search/solr/8.x.nix b/pkgs/servers/search/solr/8.x.nix
new file mode 100644
index 000000000000..00821e6e40ae
--- /dev/null
+++ b/pkgs/servers/search/solr/8.x.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, jre, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "solr";
+  version = "8.0.0";
+
+  src = fetchurl {
+    url = "mirror://apache/lucene/solr/${version}/solr-${version}.tgz";
+    sha256 = "04hxj7nfmbh5wfqkq1p5q2ncxszwm80l218vfdy93aw0p79r4qqf";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out $out/bin
+
+    cp -r bin/solr bin/post $out/bin/
+    cp -r contrib $out/
+    cp -r dist $out/
+    cp -r example $out/
+    cp -r server $out/
+
+    wrapProgram $out/bin/solr --set JAVA_HOME "${jre}"
+    wrapProgram $out/bin/post --set JAVA_HOME "${jre}"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://lucene.apache.org/solr/;
+    description = "Open source enterprise search platform from the Apache Lucene project";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.rickynils maintainers.domenkozar maintainers.aanderse ];
+  };
+
+}
diff --git a/pkgs/tools/admin/ansible/default.nix b/pkgs/tools/admin/ansible/default.nix
index f9cc3fb4ebcb..91fc2c50fcf6 100644
--- a/pkgs/tools/admin/ansible/default.nix
+++ b/pkgs/tools/admin/ansible/default.nix
@@ -7,21 +7,21 @@
 
   ansible_2_6 = with python3Packages; toPythonApplication (ansible.overridePythonAttrs(old: rec {
     pname = "ansible";
-    version = "2.6.9";
+    version = "2.6.15";
 
     src = fetchurl {
       url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "12mysvdavkypgmyms1wjq2974lk97w893k23i6khigxrjj6r85z1";
+      sha256 = "1l4ji9sryfn0l651hy6cf5zqq8fpwi956c7qzjm4sihz5ps6wyhd";
     };
   }));
 
   ansible_2_5 = with python3Packages; toPythonApplication (ansible.overridePythonAttrs(old: rec {
     pname = "ansible";
-    version = "2.5.14";
+    version = "2.5.15";
 
     src = fetchurl {
       url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "0sd04h2k5qv4m48dn76jkjlwlqfdk15hzyagj9i71r8brvmwhnk9";
+      sha256 = "1w9wfv1s2jq6vkx1hm6n69zwxv2pgjj7nidyg452miwh684jpg7z";
     };
   }));
 }
diff --git a/pkgs/tools/misc/hexyl/default.nix b/pkgs/tools/misc/hexyl/default.nix
index a672544f1300..a888e9729f19 100644
--- a/pkgs/tools/misc/hexyl/default.nix
+++ b/pkgs/tools/misc/hexyl/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchFromGitHub, rustPlatform }:
 
 rustPlatform.buildRustPackage rec {
-  name    = "hexyl-${version}";
-  version = "0.4.0";
+  pname   = "hexyl";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
-    repo   = "hexyl";
+    repo   = pname;
     rev    = "v${version}";
-    sha256 = "09h01y0r7km0vgljgc8bgiswbrq47id408vpya2da4mijbg4h82r";
+    sha256 = "1b5y2lwcv802hjp105h35vda1d6rgysm9qvrm0v96srm0qqh8rq3";
   };
 
-  cargoSha256 = "1zy2jvzx62yjaiq25560krz1648vqwfr5kjbq3wz7nlmf1cs7s2c";
+  cargoSha256 = "0lnwkp9jxz7c0jp7w8z2kpl2qkpd1np3s83nim8s6srl6aapc94c";
 
   meta = with stdenv.lib; {
     description = "A command-line hex viewer";
diff --git a/pkgs/tools/networking/nfdump/default.nix b/pkgs/tools/networking/nfdump/default.nix
index 7af852095124..5ad3adfc9153 100644
--- a/pkgs/tools/networking/nfdump/default.nix
+++ b/pkgs/tools/networking/nfdump/default.nix
@@ -1,19 +1,34 @@
-{ stdenv, fetchFromGitHub, bzip2, yacc, flex }:
+{ stdenv, fetchFromGitHub
+, autoconf, automake, libtool, pkg-config
+, bzip2, libpcap, flex, yacc }:
 
-let version = "1.6.16"; in
+let version = "1.6.17"; in
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation {
   name = "nfdump-${version}";
 
   src = fetchFromGitHub {
     owner = "phaag";
     repo = "nfdump";
     rev = "v${version}";
-    sha256 = "0dgrzf9m4rg5ygibjw21gjdm9am3570wys7wdh5k16nsnyai1gqm";
+    sha256 = "1z8zpvd9jfi2raafcbkykw55y0hd4mp74jvna19h3k0g86mqkxya";
   };
 
-  nativeBuildInputs = [yacc flex];
-  buildInputs = [bzip2];
+  nativeBuildInputs = [ autoconf automake flex libtool pkg-config yacc ];
+  buildInputs = [ bzip2 libpcap ];
+
+  preConfigure = ''
+    # The script defaults to glibtoolize on darwin, so we pass the correct
+    # name explicitly.
+    LIBTOOLIZE=libtoolize ./autogen.sh
+  '';
+
+  configureFlags = [
+    "--enable-nsel"
+    "--enable-sflow"
+    "--enable-readpcap"
+    "--enable-nfpcapd"
+  ];
 
   meta = with stdenv.lib; {
     description = "Tools for working with netflow data";
diff --git a/pkgs/tools/package-management/cargo-tree/default.nix b/pkgs/tools/package-management/cargo-tree/default.nix
index d98ad1d8cb79..e462202f6153 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.25.0";
+  version = "0.26.0";
 
   src = fetchFromGitHub {
     owner = "sfackler";
     repo = "cargo-tree";
     rev = "v${version}";
 
-    sha256 = "1pnq2gphdv0rkc317rnkdx2qv0cd7p3k4v5f0ys5rya2akkxx4wn";
+    sha256 = "12z0sa7g79x46q2ybpy6i9rf1x4cnwajw8dsjzra2qhssyp8rp9c";
   };
 
-  cargoSha256 = "0y6swl5ngkd489g53c100gyjl1sp8vidl8j6zfcasw5lbkli3acs";
+  cargoSha256 = "10nfa0pd4zhz36f9yx80qd0bbsmqdjk8r6656jyzh92ydncry1as";
 
   nativeBuildInputs = [ pkgconfig cmake ];
   buildInputs = [ curl ] ++ lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 870e5f2062ad..1b6b362d975c 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -95,6 +95,7 @@ mapAliases ({
   firefoxWrapper = firefox;           # 2015-09
   flameGraph = flamegraph; # added 2018-04-25
   font-awesome-ttf = font-awesome; # 2018-02-25
+  font-droid = throw "font-droid has been deprecated by noto-fonts"; # 2019-04-12
   foomatic_filters = foomatic-filters;  # 2016-08
   fuse_exfat = exfat;                   # 2015-09-11
   fuseki = apache-jena-fuseki; # added 2018-04-25
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c048f4431612..2ff5a02d6312 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -330,10 +330,7 @@ in
 
   makeAutostartItem = callPackage ../build-support/make-startupitem { };
 
-  makeInitrd = { contents, compressor ? "gzip -9n", prepend ? [ ] }:
-    callPackage ../build-support/kernel/make-initrd.nix {
-      inherit contents compressor prepend;
-    };
+  makeInitrd = callPackage ../build-support/kernel/make-initrd.nix; # Args intentionally left out
 
   makeWrapper = makeSetupHook { deps = [ dieHook ]; substitutions = { shell = pkgs.runtimeShell; }; }
                               ../build-support/setup-hooks/make-wrapper.sh;
@@ -5674,7 +5671,9 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  solr = callPackage ../servers/search/solr { };
+  solr = solr_8;
+  solr_7 = callPackage ../servers/search/solr { };
+  solr_8 = callPackage ../servers/search/solr/8.x.nix { };
 
   solvespace = callPackage ../applications/graphics/solvespace { };
 
@@ -9130,6 +9129,8 @@ in
 
   mk = callPackage ../development/tools/build-managers/mk { };
 
+  mkcert = callPackage ../development/tools/misc/mkcert { };
+
   mkdocs = callPackage ../development/tools/documentation/mkdocs { };
 
   moby = callPackage ../development/tools/misc/moby { };
@@ -12297,8 +12298,9 @@ in
     buildPythonApplication click future six;
   };
 
-  protobuf = protobuf3_6;
+  protobuf = protobuf3_7;
 
+  protobuf3_7 = callPackage ../development/libraries/protobuf/3.7.nix { };
   protobuf3_6 = callPackage ../development/libraries/protobuf/3.6.nix { };
   protobuf3_5 = callPackage ../development/libraries/protobuf/3.5.nix { };
   protobuf3_4 = callPackage ../development/libraries/protobuf/3.4.nix { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 0bf2158243c0..201ae974b910 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -954,6 +954,8 @@ in {
 
   allpairspy = callPackage ../development/python-modules/allpairspy { };
 
+  annexremote = callPackage ../development/python-modules/annexremote { };
+
   ansible = callPackage ../development/python-modules/ansible { };
 
   ansible-kernel = callPackage ../development/python-modules/ansible-kernel { };
@@ -4877,6 +4879,8 @@ in {
 
   graphite_beacon = callPackage ../development/python-modules/graphite_beacon { };
 
+  graph_nets = callPackage ../development/python-modules/graph_nets { };
+
   influxgraph = callPackage ../development/python-modules/influxgraph { };
 
   graphitepager = callPackage ../development/python-modules/graphitepager { };
@@ -4927,6 +4931,8 @@ in {
 
   snapperGUI = callPackage ../development/python-modules/snappergui { };
 
+  dm-sonnet = callPackage ../development/python-modules/dm-sonnet { };
+
   uncertainties = callPackage ../development/python-modules/uncertainties { };
 
   funcy = callPackage ../development/python-modules/funcy { };
@@ -5143,6 +5149,8 @@ in {
 
   tensorflow-estimator = callPackage ../development/python-modules/tensorflow-estimator { };
 
+  tensorflow-probability = callPackage ../development/python-modules/tensorflow-probability { };
+
   tensorflow-tensorboard = callPackage ../development/python-modules/tensorflow-tensorboard { };
 
   tensorflow =