about summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/audio/dragonfly-reverb/default.nix16
-rw-r--r--pkgs/applications/audio/lollypop/default.nix40
-rw-r--r--pkgs/applications/audio/soundkonverter/default.nix97
-rw-r--r--pkgs/applications/editors/android-studio/default.nix6
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix40
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--pkgs/applications/graphics/epeg/default.nix7
-rw-r--r--pkgs/applications/graphics/freecad/default.nix46
-rw-r--r--pkgs/applications/graphics/goxel/default.nix2
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/evopedia/default.nix30
-rw-r--r--pkgs/applications/misc/font-manager/correct-post-install.patch13
-rw-r--r--pkgs/applications/misc/font-manager/default.nix8
-rw-r--r--pkgs/applications/misc/guake/default.nix10
-rw-r--r--pkgs/applications/misc/hugo/default.nix4
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix31
-rw-r--r--pkgs/applications/misc/kanboard/default.nix12
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix7
-rw-r--r--pkgs/applications/misc/librecad/default.nix7
-rw-r--r--pkgs/applications/misc/notable/default.nix30
-rw-r--r--pkgs/applications/misc/orca/default.nix7
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix17
-rw-r--r--pkgs/applications/misc/pydf/default.nix18
-rw-r--r--pkgs/applications/misc/taskopen/default.nix34
-rw-r--r--pkgs/applications/misc/zola/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/flent/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/matrique/default.nix55
-rw-r--r--pkgs/applications/networking/instant-messengers/quaternion/default.nix60
-rw-r--r--pkgs/applications/networking/ipfs/default.nix13
-rw-r--r--pkgs/applications/networking/ipfs/deps.nix2190
-rw-r--r--pkgs/applications/networking/mpop/default.nix8
-rw-r--r--pkgs/applications/networking/msmtp/default.nix7
-rw-r--r--pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--pkgs/applications/office/kexi/default.nix11
-rw-r--r--pkgs/applications/office/minetime/default.nix31
-rw-r--r--pkgs/applications/office/skrooge/default.nix4
-rw-r--r--pkgs/applications/office/wordgrinder/default.nix6
-rw-r--r--pkgs/applications/office/zim/default.nix4
-rw-r--r--pkgs/applications/science/biology/sumatools/default.nix65
-rw-r--r--pkgs/applications/science/electronics/eagle/eagle.nix4
-rw-r--r--pkgs/applications/science/math/R/default.nix2
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/version-management/git-review/default.nix18
-rw-r--r--pkgs/applications/version-management/gogs/default.nix7
-rw-r--r--pkgs/applications/virtualization/docker/default.nix16
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix5
-rw-r--r--pkgs/applications/window-managers/awesome/default.nix8
-rw-r--r--pkgs/applications/window-managers/sway/default.nix1
-rw-r--r--pkgs/applications/window-managers/sway/load-configuration-from-etc.patch42
50 files changed, 2735 insertions, 346 deletions
diff --git a/pkgs/applications/audio/dragonfly-reverb/default.nix b/pkgs/applications/audio/dragonfly-reverb/default.nix
index 1710931aa229..494f512752bb 100644
--- a/pkgs/applications/audio/dragonfly-reverb/default.nix
+++ b/pkgs/applications/audio/dragonfly-reverb/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchFromGitHub, libjack2, libGL, pkgconfig, xorg }:
 
 stdenv.mkDerivation rec {
-  name = "dragonfly-reverb-${src.rev}";
+  pname = "dragonfly-reverb";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "michaelwillis";
     repo = "dragonfly-reverb";
-    rev = "1.0.0";
-    sha256 = "05m4hd8lg0a7iiia6cbiw5qmc4p8vbkxp2qh7ywaabawiwa9r24x";
+    rev = version;
+    sha256 = "060g4ddh1z222n39wqj8jxj0zgmpjrgraw76qgyg6xkn15cn9q9y";
     fetchSubmodules = true;
   };
 
@@ -21,15 +22,20 @@ stdenv.mkDerivation rec {
   ];
 
   installPhase = ''
+    mkdir -p $out/bin
     mkdir -p $out/lib/lv2/
-    cp -a bin/DragonflyReverb.lv2/ $out/lib/lv2/
+    mkdir -p $out/lib/vst/
+    cd bin
+    cp -a DragonflyReverb        $out/bin/
+    cp -a DragonflyReverb-vst.so $out/lib/vst/
+    cp -a DragonflyReverb.lv2/   $out/lib/lv2/
   '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/michaelwillis/dragonfly-reverb;
     description = "A hall-style reverb based on freeverb3 algorithms";
     maintainers = [ maintainers.magnetophon ];
-    license = licenses.gpl2;
+    license = licenses.gpl3;
     platforms = ["x86_64-linux"];
   };
 }
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index 565c0b315226..2a790514447d 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -1,11 +1,27 @@
-{ stdenv, fetchgit, meson, ninja, pkgconfig
-, python3, gtk3, gst_all_1, libsecret, libsoup
-, appstream-glib, desktop-file-utils, totem-pl-parser
-, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
+{ lib
+, fetchgit
+, meson
+, ninja
+, pkgconfig
+, python3
+, gtk3
+, gst_all_1
+, libsecret
+, libsoup
+, appstream-glib
+, desktop-file-utils
+, totem-pl-parser
+, hicolor-icon-theme
+, gobject-introspection
+, wrapGAppsHook
+, lastFMSupport ? true
+, wikipediaSupport ? true
+, youtubeSupport ? true, youtube-dl
+}:
 
 python3.pkgs.buildPythonApplication rec  {
   pname = "lollypop";
-  version = "1.0.5";
+  version = "1.0.7";
 
   format = "other";
   doCheck = false;
@@ -14,7 +30,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "1p6glzvbbha3cvq462ymbn1q58skclfk469kk28cr1hlsf5x2pry";
+    sha256 = "0gdds4qssn32axsa5janqny5i4426azj5wyj6bzn026zs3z38svn";
   };
 
   nativeBuildInputs = [
@@ -37,10 +53,9 @@ python3.pkgs.buildPythonApplication rec  {
     gstreamer
     gtk3
     hicolor-icon-theme
-    libsecret
     libsoup
     totem-pl-parser
-  ];
+  ] ++ lib.optional lastFMSupport libsecret;
 
   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
@@ -49,8 +64,11 @@ python3.pkgs.buildPythonApplication rec  {
     pycairo
     pydbus
     pygobject3
-    pylast
-  ];
+  ]
+  ++ lib.optional lastFMSupport pylast
+  ++ lib.optional wikipediaSupport wikipedia
+  ++ lib.optional youtubeSupport youtube-dl
+  ;
 
   postPatch = ''
     chmod +x meson_post_install.py
@@ -62,7 +80,7 @@ python3.pkgs.buildPythonApplication rec  {
     patchPythonScript "$out/libexec/lollypop-sp"
   '';
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "A modern music player for GNOME";
     homepage = https://wiki.gnome.org/Apps/Lollypop;
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/audio/soundkonverter/default.nix b/pkgs/applications/audio/soundkonverter/default.nix
new file mode 100644
index 000000000000..df5806b50b9e
--- /dev/null
+++ b/pkgs/applications/audio/soundkonverter/default.nix
@@ -0,0 +1,97 @@
+# currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery
+{
+  mkDerivation, fetchFromGitHub, lib, makeWrapper,
+  cmake, extra-cmake-modules, pkgconfig,
+  libkcddb, kconfig, kconfigwidgets, ki18n, kdelibs4support, kio, solid, kwidgetsaddons, kxmlgui,
+  qtbase, phonon, 
+  taglib,
+  # optional backends
+  withCD ? true, cdparanoia,
+  withFlac ? true, flac,
+  withMidi ? true, fluidsynth, timidity,
+  withSpeex ? false, speex,
+  withVorbis ? true, vorbis-tools, vorbisgain,
+  withMp3 ? true, lame, mp3gain,
+  withAac ? true, faad2, aacgain,
+  withUnfreeAac ? false, faac,
+  withFfmpeg ? true, ffmpeg-full,
+  withMplayer ? false, mplayer,
+  withSox ? true, sox,
+  withOpus ? true, opusTools,
+  withTwolame ? false, twolame,
+  withApe ? false, mac,
+  withWavpack ? false, wavpack
+}:
+
+assert withAac -> withFfmpeg || withUnfreeAac;
+assert withUnfreeAac -> withAac;
+
+let runtimeDeps = []
+    ++ lib.optional withCD cdparanoia
+    ++ lib.optional withFlac flac
+    ++ lib.optional withSpeex speex
+    ++ lib.optional withFfmpeg ffmpeg-full
+    ++ lib.optional withMplayer mplayer
+    ++ lib.optional withSox sox
+    ++ lib.optional withOpus opusTools
+    ++ lib.optional withTwolame twolame
+    ++ lib.optional withApe mac
+    ++ lib.optional withWavpack wavpack
+    ++ lib.optional withUnfreeAac faac
+    ++ lib.optionals withMidi [ fluidsynth timidity ]
+    ++ lib.optionals withVorbis [ vorbis-tools vorbisgain ]
+    ++ lib.optionals withMp3 [ lame mp3gain ]
+    ++ lib.optionals withAac [  faad2 aacgain ];
+
+in 
+mkDerivation rec {
+  name = "soundkonverter";
+  version = "3.0.1";
+  src = fetchFromGitHub {
+    owner = "dfaust";
+    repo = "soundkonverter";
+    rev = "v" + version;
+    sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l";
+  };
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake extra-cmake-modules pkgconfig kdelibs4support makeWrapper ];
+  propagatedBuildInputs = [ libkcddb kconfig kconfigwidgets ki18n kdelibs4support kio solid kwidgetsaddons kxmlgui qtbase phonon];
+  buildInputs = [ taglib ] ++ runtimeDeps;
+  # encoder plugins go to ${out}/lib so they're found by kbuildsycoca5
+  cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ]; 
+  sourceRoot = "source/src";
+  # add runt-time deps to PATH
+  postInstall = ''
+    wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps }
+    '';
+  meta = {
+    license = lib.licenses.gpl2;
+    maintainers = [ lib.maintainers.schmittlauch ];
+    description = "Audio file converter, CD ripper and Replay Gain tool";
+    longDescription = ''
+      soundKonverter is a frontend to various audio converters.
+      
+      The key features are:
+      - Audio file conversion
+      - Replay Gain calculation
+      - CD ripping
+      
+      soundKonverter supports reading and writing tags and covers for many formats, so they are preserved when converting files.
+      
+      It is extendable by plugins and supports many backends including:
+      
+      - Audio file conversion
+        Backends: faac, faad, ffmpeg, flac, lame, mplayer, neroaac, timidity, fluidsynth, vorbistools, opustools, sox, twolame,
+        flake, mac, shorten, wavpack and speex
+        Formats: ogg vorbis, mp3, flac, wma, aac, ac3, opus, alac, mp2, als, amr nb, amr wb, ape, speex, m4a, mp1, musepack shorten,
+        tta, wavpack, ra, midi, mod, 3gp, rm, avi, mkv, ogv, mpeg, mov, mp4, flv, wmv and rv
+      
+      - Replay Gain calculation
+        Backends: aacgain, metaflac, mp3gain, vorbisgain, wvgain, mpcgain
+        Formats: aac, mp3, flac, ogg vorbis, wavpack, musepack
+      
+      - CD ripping
+        Backends: cdparanoia
+      '';
+  };
+}
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index a7c2c3da444c..714daa3649c5 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -14,9 +14,9 @@ let
   };
   betaVersion = stableVersion;
   latestVersion = { # canary & dev
-    version = "3.5.0.11"; # "Android Studio 3.5 Canary 12"
-    build = "191.5471097";
-    sha256Hash = "1dz9iy8f12fzqp8wv9c5v01d33djy97aha8rxxp18vi6myak42ca";
+    version = "3.5.0.12"; # "Android Studio 3.5 Canary 13"
+    build = "191.5487692";
+    sha256Hash = "0iwd2qa551rs9b0w4rs7wmzdbh3r4j76xvs815l6i5pilk0s47gz";
   };
 in rec {
   # Attributes are named by their corresponding release channels
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 584c12d5ff63..ba3958a43d19 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -250,12 +250,12 @@ in
 
   clion = buildClion rec {
     name = "clion-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.2"; /* updated by script */
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
-      sha256 = "1rlqnnv6b7lg18si31zd97ixnslwp8j6imkkjq0j5n9sydsr8xzj"; /* updated by script */
+      sha256 = "0x4fmbarckw60issrwk3cd65x5xjkxwrw4xq1qgfzmxfqhzbzvz8"; /* updated by script */
     };
     wmClass = "jetbrains-clion";
     update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@@ -263,12 +263,12 @@ in
 
   datagrip = buildDataGrip rec {
     name = "datagrip-${version}";
-    version = "2018.3.4"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Your Swiss Army Knife for Databases and SQL";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
-      sha256 = "10sw41kkf2k60xjpwgc73i182y7px3dmqz2awnrl4gffdb9jgzmy"; /* updated by script */
+      sha256 = "0w6hasb8vcbxdqmb0pngwr2jg0w14prqb4v7blraa5jf1xyyiayd"; /* updated by script */
     };
     wmClass = "jetbrains-datagrip";
     update-channel = "DataGrip RELEASE";
@@ -276,12 +276,12 @@ in
 
   goland = buildGoland rec {
     name = "goland-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Up and Coming Go IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/go/${name}.tar.gz";
-      sha256 = "0aq3x5aixh86h1zvvwrbr2f1nnqdpfvlsadd2ckmf5s5kghvg5r9"; /* updated by script */
+      sha256 = "0b8msq0raczm657rhbyqi702zv4zs66yd6dcm7s0l54hnas5ia9r"; /* updated by script */
     };
     wmClass = "jetbrains-goland";
     update-channel = "GoLand RELEASE";
@@ -289,12 +289,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
-      sha256 = "0zyw88dd2v4igp080l99cyq6h0bmyri8a50fjp69ripiz9qaawx1"; /* updated by script */
+      sha256 = "0xbdn1q0a2ksb7z26n2l889m6z0lh3b45clya7rdfl4jv2gkiaaq"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -302,12 +302,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
-      sha256 = "0fsdf090cwwrsq3azknc9rpwwsl71cvsx4flivnqwfakb6rh4f1j"; /* updated by script */
+      sha256 = "1pglvklbj4w6pmc7ffbjwwfqh7fad54yfx87m9plqk80rmpjzxfi"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IntelliJ IDEA RELEASE";
@@ -315,12 +315,12 @@ in
 
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
-      sha256 = "1bv2a16wsc9j82w14qfrfjgszwkihk0jwp8bp8z9618q04c8vmgf"; /* updated by script */
+      sha256 = "100whawwj1kiq870dsmkx33qv5ygjpr9977jkbavhqjnc1zhwl1r"; /* updated by script */
     };
     wmClass = "jetbrains-phpstorm";
     update-channel = "PhpStorm RELEASE";
@@ -328,12 +328,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "173qm2g6pjga2jlw8sa59bxw543b56r56ikqwv2wp0jq5z61v26f"; /* updated by script */
+      sha256 = "1zz579kmskvgsjv2lriglxkdlx33mmfv2liw1b9iilspga59izld"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm RELEASE";
@@ -341,12 +341,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0gjphdzdxgvflkzaakf3c1wnig86lxhxyx6xk6rg40yj6f2hzi47"; /* updated by script */
+      sha256 = "0hcij77j4zb1y1vls5nvxq3lmqrbppm3ml0p9nagbjipy2rmp838"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm RELEASE";
@@ -367,12 +367,12 @@ in
 
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
-    version = "2018.3.5"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
-      sha256 = "1gykag8fsfqxv0d6fipn18hhpdvn4qxva2kkb0v330vp73wm2i2w"; /* updated by script */
+      sha256 = "0asg0x8xcjyydy0p1fdlhpcwfckdf9719460pv5zwc7yfd8z61yd"; /* updated by script */
     };
     wmClass = "jetbrains-rubymine";
     update-channel = "RubyMine RELEASE";
@@ -380,12 +380,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2019.1"; /* updated by script */
+    version = "2019.1.1"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "0r6a9g8ydnxf805gn2wajnwkcyfn0xksbsrs8wq6j4ghipkhscxj"; /* updated by script */
+      sha256 = "05lrsjk45l4xqjyinsqlnfr36qnv1nrgg2sskgi0bfjbdrfv9xrv"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WebStorm RELEASE";
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index 719491ac2b08..7d201cc0e593 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -10,12 +10,12 @@ let
     [ qscintilla-qt5 gdal jinja2 numpy psycopg2
       chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
 in stdenv.mkDerivation rec {
-  version = "3.4.6";
+  version = "3.4.7";
   name = "qgis-unwrapped-${version}";
 
   src = fetchurl {
     url = "http://qgis.org/downloads/qgis-${version}.tar.bz2";
-    sha256 = "1skdimcbcv41hi4ii7iq8ka29k2zizzqv04fwidzfbxqclz7300h";
+    sha256 = "15w2cb5ac0n3g3jbnbk6qyqs7kx3y64zbyvcsw09p0dn9rnw4hdr";
   };
 
   passthru = {
diff --git a/pkgs/applications/graphics/epeg/default.nix b/pkgs/applications/graphics/epeg/default.nix
index 3645cc565728..3b7bdfb8efc2 100644
--- a/pkgs/applications/graphics/epeg/default.nix
+++ b/pkgs/applications/graphics/epeg/default.nix
@@ -3,13 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "epeg-0.9.1.042"; # version taken from configure.ac
+  pname = "epeg";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "mattes";
     repo = "epeg";
-    rev = "248ae9fc3f1d6d06e6062a1f7bf5df77d4f7de9b";
-    sha256 = "14ad33w3pxrg2yfc2xzyvwyvjirwy2d00889dswisq8b84cmxfia";
+    rev = "v${version}";
+    sha256 = "14bjl9v6zzac4df25gm3bkw3n0mza5iazazsi65gg3m6661x6c5g";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 6362d6c06fe9..c3177a8c7aa3 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -9,11 +9,11 @@ let
   pythonPackages = python27Packages;
 in stdenv.mkDerivation rec {
   name = "freecad-${version}";
-  version = "0.17";
+  version = "0.18.1";
 
   src = fetchurl {
     url = "https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz";
-    sha256 = "1yv6abdzlpn4wxy315943xwrnbywxqfgkjib37qwfvbb8y9p60df";
+    sha256 = "0lamrs84zv99v4z7yi6d9amjmnh7r6frairc2aajgfic380720bc";
   };
 
   buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts
@@ -22,14 +22,6 @@ in stdenv.mkDerivation rec {
     matplotlib pycollada pyside pysideShiboken pysideTools pivy python boost
   ]);
 
-  patches = [
-    # Fix for finding boost_python. Boost >= 1.67.0 appends the Python version.
-    (fetchpatch {
-      url = https://github.com/FreeCAD/FreeCAD/commit/3c9e6b038ed544e446c61695dab62f83e781a28a.patch;
-      sha256 = "0f09qywzn0y41hylizb5g8jy74fi53iqmvqr5zznaz16wpw4hqbp";
-    })
-  ];
-
   enableParallelBuilding = true;
 
   # This should work on both x86_64, and i686 linux
@@ -45,40 +37,8 @@ in stdenv.mkDerivation rec {
   postInstall = ''
     wrapProgram $out/bin/FreeCAD --prefix PYTHONPATH : $PYTHONPATH \
       --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
-
-    mkdir -p $out/share/mime/packages
-    cat << EOF > $out/share/mime/packages/freecad.xml
-    <?xml version="1.0" encoding="UTF-8"?>
-    <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
-      <mime-type type="application/x-extension-fcstd">
-        <sub-class-of type="application/zip"/>
-        <comment>FreeCAD Document</comment>
-        <glob pattern="*.fcstd"/>
-      </mime-type>
-    </mime-info>
-    EOF
-
-    mkdir -p $out/share/applications
-    cp $desktopItem/share/applications/* $out/share/applications/
-    for entry in $out/share/applications/*.desktop; do
-      substituteAllInPlace $entry
-    done
   '';
-
-  desktopItem = makeDesktopItem {
-    name = "freecad";
-    desktopName = "FreeCAD";
-    genericName = "CAD Application";
-    comment = meta.description;
-    exec = "@out@/bin/FreeCAD %F";
-    categories = "Science;Education;Engineering;";
-    startupNotify = "true";
-    mimeType = "application/x-extension-fcstd;";
-    extraEntries = ''
-      Path=@out@/share/freecad
-    '';
-  };
-
+    
   meta = with stdenv.lib; {
     description = "General purpose Open Source 3D CAD/MCAD/CAx/CAE/PLM modeler";
     homepage = https://www.freecadweb.org/;
diff --git a/pkgs/applications/graphics/goxel/default.nix b/pkgs/applications/graphics/goxel/default.nix
index 371abafbe72d..488c3eacc019 100644
--- a/pkgs/applications/graphics/goxel/default.nix
+++ b/pkgs/applications/graphics/goxel/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     description = "Open Source 3D voxel editor";
     homepage = https://guillaumechereau.github.io/goxel/;
     license = licenses.gpl3;
-    platforms = [ "x86_64-linux" ]; # see https://github.com/guillaumechereau/goxel/issues/125
+    platforms = platforms.linux;
     maintainers = with maintainers; [ tilpner ];
   };
 }
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 626b62ed7d0c..2552cf18f078 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   name = "dbeaver-ce-${version}";
-  version = "6.0.2";
+  version = "6.0.3";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "12zqz9zi4jryvlk1rjxfl4jdj4a6n00018yyk95glfdrxda2xyib";
+    sha256 = "0pcf8p9nmbj6kf32zrjjrfyxb07x37h56zm3s5gdf1jk2hvrarvl";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/evopedia/default.nix b/pkgs/applications/misc/evopedia/default.nix
deleted file mode 100644
index 69767c11d6aa..000000000000
--- a/pkgs/applications/misc/evopedia/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ stdenv, fetchFromGitHub, bzip2, qt4, qmake4Hook, libX11 }:
-
-stdenv.mkDerivation rec {
-  name = "evopedia-${version}";
-  version = "0.4.4";
-
-  src = fetchFromGitHub {
-    owner = "evopedia";
-    repo = "evopedia_qt";
-    rev = "v${version}";
-    sha256 = "0snp5qiywj306kfaywvkl7j34fivgxcb8dids1lzmbqq5xcpqqvc";
-  };
-
-  buildInputs = [ bzip2 qt4 libX11 ];
-  nativeBuildInputs = [ qmake4Hook ];
-
-  postInstall = ''
-    # Patch the `evopedia.desktop' file.
-    substituteInPlace $out/share/applications/evopedia.desktop \
-        --replace '/usr/bin/evopedia' $out/bin/evopedia
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Offline Wikipedia Viewer";
-    homepage = http://www.evopedia.info;
-    license = licenses.gpl3Plus;
-    maintainers = [ maintainers.qknight ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/font-manager/correct-post-install.patch b/pkgs/applications/misc/font-manager/correct-post-install.patch
deleted file mode 100644
index 47e9800d2657..000000000000
--- a/pkgs/applications/misc/font-manager/correct-post-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/meson_post_install.py b/meson_post_install.py
-index 8d00e70..c28d19e 100644
---- a/meson_post_install.py
-+++ b/meson_post_install.py
-@@ -7,7 +7,7 @@ prefix = environ['MESON_INSTALL_PREFIX']
- data_dir = path.join(prefix, 'share')
- schema_dir = path.join(data_dir, 'glib-2.0', 'schemas')
- 
--if not environ['DESTDIR']:
-+if not environ.get('DESTDIR'):
-     print('Compiling gsettings schemas...')
-     call(['glib-compile-schemas', schema_dir])
-     print('Updating desktop database...')
diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix
index f8a02d2f78c6..f00d6cfc60da 100644
--- a/pkgs/applications/misc/font-manager/default.nix
+++ b/pkgs/applications/misc/font-manager/default.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "FontManager";
     repo = "master";
-    rev = "cc057f3e93f5b1033b04decee03cdb44177e48b3";
-    sha256 = "1xg80bi2465p5r8zfmb34iga9yqs3is1k4f13hw0ligvhb58gas0";
+    rev = version;
+    sha256 = "16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g";
   };
 
   nativeBuildInputs = [
@@ -38,10 +38,6 @@ stdenv.mkDerivation rec {
     gnome3.adwaita-icon-theme
   ];
 
-  patches = [
-   ./correct-post-install.patch
-  ];
-
   mesonFlags = [
     "-Ddisable_pycompile=true"
   ];
diff --git a/pkgs/applications/misc/guake/default.nix b/pkgs/applications/misc/guake/default.nix
index 1e2c57a34691..0d7f460fb062 100644
--- a/pkgs/applications/misc/guake/default.nix
+++ b/pkgs/applications/misc/guake/default.nix
@@ -2,7 +2,7 @@
 , gtk3, keybinder3, libnotify, libutempter, vte }:
 
 let
-  version = "3.4.0";
+  version = "3.5.0";
 in python3.pkgs.buildPythonApplication rec {
   name = "guake-${version}";
   format = "other";
@@ -11,7 +11,7 @@ in python3.pkgs.buildPythonApplication rec {
     owner = "Guake";
     repo = "guake";
     rev = version;
-    sha256 = "1j38z968ha8ij6wrgbwvr8ad930nvhybm9g7pf4s4zv6d3vln0vm";
+    sha256 = "0fz0gciw5fpxrp6yyji27l7q8c0r9ljsq6vw584mr70bcl1gzjqx";
   };
 
   # Strict deps breaks guake
@@ -29,12 +29,6 @@ in python3.pkgs.buildPythonApplication rec {
 
   PBR_VERSION = version; # pbr needs either .git directory, sdist, or env var
 
-  postPatch = ''
-    # unnecessary /usr/bin/env in Makefile
-    # https://github.com/Guake/guake/pull/1285
-    substituteInPlace "Makefile" --replace "/usr/bin/env python3" "python3"
-  '';
-
   makeFlags = [
     "prefix=$(out)"
   ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index f9f67b6cdaae..0bb3f15fdc18 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   name = "hugo-${version}";
-  version = "0.55.3";
+  version = "0.55.4";
 
   goPackagePath = "github.com/gohugoio/hugo";
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner  = "gohugoio";
     repo   = "hugo";
     rev    = "v${version}";
-    sha256 = "0hpyaxfjgfm04fcw3qha2rdx93fr326mw5aiw95vnj5i0x1xbs3x";
+    sha256 = "0hbkl8dhhdic0admrkvlp1h1bmfrrwfnvipx27clyk0f88jcvb7y";
   };
 
   modSha256 = "0yrwkaaasj9ihjjfbywnzkppix1y2znagg3dkyikk21sl5n0nz23";
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index 615ca619aec7..57f564fdc667 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -1,31 +1,26 @@
-{ stdenv, appimage-run, fetchurl, gsettings-desktop-schemas, gtk3, gobject-introspection, wrapGAppsHook }:
+{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
 
 let
+  pname = "joplin-desktop";
   version = "1.0.143";
-  sha256 = "1waglwxpr18a07m7ix9al6ac4hrdqzzqmy1qgp45b922nbkw9g10";
-in
-  stdenv.mkDerivation rec {
-  name = "joplin-${version}";
-
+in appimageTools.wrapType2 rec {
+  name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/laurent22/joplin/releases/download/v${version}/Joplin-${version}-x86_64.AppImage";
-    inherit sha256;
+    sha256 = "1waglwxpr18a07m7ix9al6ac4hrdqzzqmy1qgp45b922nbkw9g10";
   };
 
-  nativeBuildInputs = [ wrapGAppsHook ];
-  buildInputs = [ appimage-run gtk3 gsettings-desktop-schemas gobject-introspection ];
-
-  unpackPhase = ":";
 
-  installPhase = ''
-    mkdir -p $out/{bin,share}
-    cp $src $out/share/joplin.AppImage
-    echo "#!/bin/sh" > $out/bin/joplin-desktop
-    echo "${appimage-run}/bin/appimage-run $out/share/joplin.AppImage" >> $out/bin/joplin-desktop
-    chmod +x $out/bin/joplin-desktop $out/share/joplin.AppImage
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
-  meta = with stdenv.lib; {
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
+
+  meta = with lib; {
     description = "An open source note taking and to-do application with synchronisation capabilities";
     longDescription = ''
       Joplin is a free, open source note taking and to-do application, which can
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 7995c8875b82..ecfcc7717281 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   name = "kanboard-${version}";
-  version = "1.0.48";
+  version = "1.2.9";
 
-  src = fetchzip {
-    url = "https://github.com/kanboard/kanboard/releases/download/v${version}/${name}.zip";
-    sha256 = "0ipyijlfcnfqlz9n20wcnaf9pw404a675x404pm9h2n4ld8x6m5v";
+  src = fetchFromGitHub {
+    owner = "kanboard";
+    repo = "kanboard";
+    rev = "v${version}";
+    sha256 = "1hdr95cpxgdzrzhffs63gdl0g7122ma2zg8bkqwp42p5xphx0xan";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index d15926ba6fb7..b92a7ac476c9 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -20,12 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdeconnect";
-  version = "1.3.3";
-  name = "${pname}-${version}";
+  version = "1.3.4";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${version}/src/${pname}-kde-${version}.tar.xz";
-    sha256 = "1vac0mw1myrswr61adv7lgif0c4wzw5wnsj0sqxj6msp4l4pfgsg";
+    url = "mirror://kde/stable/${pname}/${version}/${pname}-kde-${version}.tar.xz";
+    sha256 = "12ijvp86wm6k81dggypxh3c0dmwg5mczxy43ra8rgv63aavmf42h";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix
index ca9a90777e33..c049ed2374fd 100644
--- a/pkgs/applications/misc/librecad/default.nix
+++ b/pkgs/applications/misc/librecad/default.nix
@@ -18,8 +18,11 @@ stdenv.mkDerivation rec {
   qmakeFlags = [ "MUPARSER_DIR=${muparser}" "BOOST_DIR=${boost.dev}" ];
 
   installPhase = ''
-    mkdir -p $out/bin $out/share
-    cp -R unix/librecad $out/bin
+    install -m 555 -D unix/librecad $out/bin/librecad
+    install -m 444 -D desktop/librecad.desktop $out/share/applications/librecad.desktop
+    install -m 444 -D desktop/librecad.sharedmimeinfo $out/share/mime/packages/librecad.xml
+    install -m 444 -D desktop/graphics_icons_and_splash/Icon\ LibreCAD/Icon_Librecad.svg \
+      $out/share/icons/hicolor/scalable/apps/librecad.svg
     cp -R unix/resources $out/share/librecad
   '';
 
diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix
new file mode 100644
index 000000000000..055728ee046c
--- /dev/null
+++ b/pkgs/applications/misc/notable/default.nix
@@ -0,0 +1,30 @@
+{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+
+let
+  pname = "notable";
+  version = "1.4.0";
+in
+appimageTools.wrapType2 rec {
+  name = "${pname}-${version}";
+  src = fetchurl {
+    url = "https://github.com/notable/notable/releases/download/v${version}/Notable.${version}.AppImage";
+    sha256 = "0ldmxnhqcphr92rb7imgb1dfx7bb3p515nrdds8jn4b8x6jgmnjr";
+  };
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
+
+  meta = with lib; {
+    description = "The markdown-based note-taking app that doesn't suck";
+    homepage = https://github.com/notable/notable;
+    license = licenses.agpl3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index b20227590572..98ebde981c0a 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -4,7 +4,7 @@
 , python, pygobject3, gtk3, gnome3, substituteAll
 , at-spi2-atk, at-spi2-core, pyatspi, dbus, dbus-python, pyxdg
 , xkbcomp, procps, lsof, coreutils, gsettings-desktop-schemas
-, speechd, brltty, setproctitle, gst_all_1, gst-python
+, speechd, brltty, liblouis, setproctitle, gst_all_1, gst-python
 }:
 
 buildPythonApplication rec {
@@ -34,10 +34,11 @@ buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = [
-    # TODO: re-add liblouis when it is fixed
-    pygobject3 pyatspi dbus-python pyxdg brltty speechd gst-python setproctitle
+    pygobject3 pyatspi dbus-python pyxdg brltty liblouis speechd gst-python setproctitle
   ];
 
+  strictDeps = false;
+
   buildInputs = [
     python gtk3 at-spi2-atk at-spi2-core dbus gsettings-desktop-schemas
     gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
index 25b3a6b4e7af..82b8f2cf8471 100644
--- a/pkgs/applications/misc/pwsafe/default.nix
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -1,26 +1,29 @@
 { stdenv, fetchFromGitHub, cmake, pkgconfig, zip, gettext, perl
-, wxGTK31, libXi, libXt, libXtst, xercesc, xorgproto
+, wxGTK31, libXext, libXi, libXt, libXtst, xercesc
 , qrencode, libuuid, libyubikey, yubikey-personalization
+, curl, openssl
 }:
 
 stdenv.mkDerivation rec {
   pname = "pwsafe";
-  version = "1.06";
-  name = "${pname}-${version}";
+  version = "1.07";
 
   src = fetchFromGitHub {
     owner = "${pname}";
     repo = "${pname}";
     rev = "${version}BETA";
-    sha256 = "1q3xi7i4r3nmz3hc79lx8l15sr1nqhwbi3lrnfqr356nv6aaf03y";
+    sha256 = "0syxmliybgvm9j6d426l7j12ryrl42azy80m66jc56fv9nkqwaya";
   };
 
-  nativeBuildInputs = [ cmake pkgconfig zip ];
+  nativeBuildInputs = [ 
+  	cmake gettext perl pkgconfig zip
+  ];
   buildInputs = [
-    gettext perl qrencode libuuid
-    libXi libXt libXtst wxGTK31 xercesc xorgproto
+    libXext libXi libXt libXtst wxGTK31
+    curl qrencode libuuid openssl xercesc
     libyubikey yubikey-personalization
   ];
+
   cmakeFlags = [
     "-DNO_GTEST=ON"
     "-DCMAKE_CXX_FLAGS=-I${yubikey-personalization}/include/ykpers-1"
diff --git a/pkgs/applications/misc/pydf/default.nix b/pkgs/applications/misc/pydf/default.nix
new file mode 100644
index 000000000000..bfbee1bea24d
--- /dev/null
+++ b/pkgs/applications/misc/pydf/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "pydf";
+  version = "12";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "7f47a7c3abfceb1ac04fc009ded538df1ae449c31203962a1471a4eb3bf21439";
+  };
+
+  meta = with stdenv.lib; {
+    description = "colourised df(1)-clone";
+    homepage = http://kassiopeia.juls.savba.sk/~garabik/software/pydf/;
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ monsieurp ];
+  };
+}
diff --git a/pkgs/applications/misc/taskopen/default.nix b/pkgs/applications/misc/taskopen/default.nix
new file mode 100644
index 000000000000..9f1773b191d2
--- /dev/null
+++ b/pkgs/applications/misc/taskopen/default.nix
@@ -0,0 +1,34 @@
+{ fetchurl, stdenv, makeWrapper, which, perl, perlPackages }:
+
+stdenv.mkDerivation rec {
+  name = "taskopen-1.1.4";
+  src = fetchurl {
+    url = "https://github.com/ValiValpas/taskopen/archive/v1.1.4.tar.gz";
+    sha256 = "774dd89f5c92462098dd6227e181268e5ec9930bbc569f25784000df185c71ba";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ which perl ] ++ (with perlPackages; [ JSON ]);
+
+  installPhase = ''
+    # We don't need a DESTDIR and an empty string results in an absolute path
+    # (due to the trailing slash) which breaks the build.
+    sed 's|$(DESTDIR)/||' -i Makefile
+
+    make PREFIX=$out
+    make PREFIX=$out install
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/taskopen \
+         --set PERL5LIB "$PERL5LIB"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Script for taking notes and open urls with taskwarrior";
+    homepage = https://github.com/ValiValpas/taskopen;
+    platforms = platforms.linux;
+    license = stdenv.lib.licenses.free ;
+    maintainers = [ maintainers.winpat ];
+  };
+}
diff --git a/pkgs/applications/misc/zola/default.nix b/pkgs/applications/misc/zola/default.nix
index 6fc7de1d4d57..f945da612748 100644
--- a/pkgs/applications/misc/zola/default.nix
+++ b/pkgs/applications/misc/zola/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zola";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "getzola";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11y5gb6lx040ax4b16fr3whkj4vmv8hlkvb50h58gs77payglf6l";
+    sha256 = "02lr1n3gf0agj8x451ndyvv16lq7rccazp4nz9zy0pzwxwrlwhra";
   };
 
-  cargoSha256 = "19hqkj27dbsy4pi0i8mjjlhi4351yifvc6zln6scc2nd60p251h6";
+  cargoSha256 = "003dhh41fh337k3djibpj6hyd16xprbgws3lbp7x37p4lx7qlnfy";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ openssl ] ++ stdenv.lib.optionals stdenv.isDarwin [ CoreServices cf-private ];
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index de83e0e0646c..566ec6006aa1 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1lpgkf292f6v6v19zjp1si6vvizixk9192yjx76pq1d790678qrb";
-    sha256bin64 = "028c3gjh5zbxr53wkk3s5jvgwc2fz9cnvnyr58q4la91vyrbjslm";
-    version = "74.0.3729.61";
+    sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy";
+    sha256bin64 = "1zzmk08y2rhirm297a91bvq5q30vvxll8fzfp7z5cpqb6az80y2h";
+    version = "74.0.3729.108";
   };
   dev = {
-    sha256 = "15197r2gbx4h7dsasvgz0vcl7mqmj0glc4sip99dw145drwdpmsq";
-    sha256bin64 = "1qf089l5k7l69msrn49z5lkg932n1rgnzgr9yg5ja89arcgynacv";
-    version = "75.0.3753.4";
+    sha256 = "1wrg4r2q043i8i4vq9zn69yvnzjxzmxyn21k367909kci83hhi44";
+    sha256bin64 = "1jv9wi4nddijjp9y0r77rxciqsd1rkd87ipvagyq5nzpxr6wdzsa";
+    version = "75.0.3766.2";
   };
   stable = {
-    sha256 = "1bskjr7yiwvdab1b5mp36y6964xqpgks6dqazm4qifwqvqcw80pb";
-    sha256bin64 = "00ndrqhmnk567sw6xj22m84126qvivq0jzfx0v46ya3kq6ln22gr";
-    version = "73.0.3683.103";
+    sha256 = "0vsvjhmrc2p8mf4rfp9bf9y4nqkbbi5v8008cdvr6c14zq35w7hy";
+    sha256bin64 = "0zs3khzszppmjf5s4rs6fbmhgc9y0abj4q4q8j3hn6nisddi9q9c";
+    version = "74.0.3729.108";
   };
 }
diff --git a/pkgs/applications/networking/flent/default.nix b/pkgs/applications/networking/flent/default.nix
index 2f97b39da60f..bc0a519a0eee 100644
--- a/pkgs/applications/networking/flent/default.nix
+++ b/pkgs/applications/networking/flent/default.nix
@@ -14,6 +14,8 @@ buildPythonApplication rec {
 
   buildInputs = [ sphinx ];
 
+  checkInputs = [ procps ];
+
   propagatedBuildInputs = [
     matplotlib
     procps
diff --git a/pkgs/applications/networking/instant-messengers/matrique/default.nix b/pkgs/applications/networking/instant-messengers/matrique/default.nix
deleted file mode 100644
index 91ba8e7175ce..000000000000
--- a/pkgs/applications/networking/instant-messengers/matrique/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{ stdenv, fetchFromGitLab, fetchFromGitHub, qmake
-, qtquickcontrols2, qtmultimedia, qtgraphicaleffects
-, libqmatrixclient
-}:
-
-let
-
-  libqmatrixclient_git = libqmatrixclient.overrideDerivation (oldAttrs: {
-    name = "libqmatrixclient-git-for-matrique";
-    src = fetchFromGitHub {
-      owner = "QMatrixClient";
-      repo = "libqmatrixclient";
-      rev = "d9ff200f";
-      sha256 = "0qxkffg1499wnn8rbndq6z51sz6hiij2pkp40cvs530sl0zg0c69";
-    };
-  });
-
-  SortFilterProxyModel = fetchFromGitLab {
-    owner = "b0";
-    repo = "SortFilterProxyModel";
-    rev = "3c2c125c";
-    sha256 = "1494dvq7kiq0ymf5f9hr47pw80zv3m3dncnaw1pnzs7mhkf2s5fr";
-  };
-
-in stdenv.mkDerivation rec {
-  name = "matrique-${version}";
-  version = "250";
-
-  src = fetchFromGitLab {
-    owner = "b0";
-    repo = "matrique";
-    rev = version;
-    sha256 = "0l7ag2q3l8ixczwc43igvkkl81g5s5j032gzizmgpzb1bjpdgry7";
-  };
-
-  postPatch = ''
-    rm -r include/*
-    ln -sf ${libqmatrixclient_git.src} include/libqmatrixclient
-    ln -sf ${SortFilterProxyModel} include/SortFilterProxyModel
-  '';
-
-  nativeBuildInputs = [ qmake ];
-  buildInputs = [
-    qtquickcontrols2 qtmultimedia qtgraphicaleffects
-    libqmatrixclient_git
-  ];
-
-  meta = with stdenv.lib; {
-    inherit (src.meta) homepage;
-    description = "A glossy client for Matrix";
-    maintainers = with maintainers; [ fpletz ];
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/instant-messengers/quaternion/default.nix b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
index 55b24f71fb64..5acf71dbcb63 100644
--- a/pkgs/applications/networking/instant-messengers/quaternion/default.nix
+++ b/pkgs/applications/networking/instant-messengers/quaternion/default.nix
@@ -1,36 +1,42 @@
 { stdenv, lib, fetchFromGitHub, qtbase, qtquickcontrols, cmake
-, qttools, libqmatrixclient }:
+, qttools, qtmultimedia
+, libqmatrixclient_0_4, libqmatrixclient_0_5 }:
 
-stdenv.mkDerivation rec {
-  name = "quaternion-${version}";
-  version = "0.0.9.3";
+let
+  generic = version: sha256: prefix: library: stdenv.mkDerivation rec {
+    name = "quaternion-${version}";
 
-  src = fetchFromGitHub {
-    owner  = "QMatrixClient";
-    repo   = "Quaternion";
-    rev    = "v${version}";
-    sha256 = "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3";
-  };
+    src = fetchFromGitHub {
+      owner = "QMatrixClient";
+      repo  = "Quaternion";
+      rev   = "${prefix}${version}";
+      inherit sha256;
+    };
 
-  buildInputs = [ qtbase qtquickcontrols qttools libqmatrixclient ];
+    buildInputs = [ qtbase qtmultimedia qtquickcontrols qttools library ];
 
-  nativeBuildInputs = [ cmake ];
+    nativeBuildInputs = [ cmake ];
 
-  postInstall = if stdenv.isDarwin then ''
-    mkdir -p $out/Applications
-    mv $out/bin/quaternion.app $out/Applications
-    rmdir $out/bin || :
-  '' else ''
-    substituteInPlace $out/share/applications/quaternion.desktop \
-      --replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
-  '';
+    postInstall = if stdenv.isDarwin then ''
+      mkdir -p $out/Applications
+      mv $out/bin/quaternion.app $out/Applications
+      rmdir $out/bin || :
+    '' else ''
+      substituteInPlace $out/share/applications/quaternion.desktop \
+        --replace 'Exec=quaternion' "Exec=$out/bin/quaternion"
+    '';
 
-  meta = with lib; {
-    description = "Cross-platform desktop IM client for the Matrix protocol";
-    homepage    = https://matrix.org/docs/projects/client/quaternion.html;
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ peterhoeg ];
-    inherit (qtbase.meta) platforms;
-    inherit version;
+    meta = with lib; {
+      description = "Cross-platform desktop IM client for the Matrix protocol";
+      homepage    = https://matrix.org/docs/projects/client/quaternion.html;
+      license     = licenses.gpl3;
+      maintainers = with maintainers; [ peterhoeg ];
+      inherit (qtbase.meta) platforms;
+      inherit version;
+    };
   };
+
+in rec {
+  quaternion     = generic "0.0.9.3"     "1hr9zqf301rg583n9jv256vzj7y57d8qgayk7c723bfknf1s6hh3" "v" libqmatrixclient_0_4;
+  quaternion-git = generic "0.0.9.4-rc3" "1fc3ya9fr3zw1cx7565s2rswzry98avslrryvdi0qa9yn0m3sw7p" ""  libqmatrixclient_0_5;
 }
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 28eec458ee03..7b4d40a5a633 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -1,24 +1,19 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, fetchgx }:
+{ stdenv, buildGoPackage, fetchFromGitHub }:
 
 buildGoPackage rec {
   name = "ipfs-${version}";
-  version = "0.4.19";
+  version = "0.4.20";
   rev = "v${version}";
 
   goPackagePath = "github.com/ipfs/go-ipfs";
 
-  extraSrcPaths = [
-    (fetchgx {
-      inherit name src;
-      sha256 = "0bj2kzxjssp7szp1wr9pp08bsi55jgf0k7gi4h70phlib2q673j2";
-    })
-  ];
+  goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "ipfs";
     repo = "go-ipfs";
     inherit rev;
-    sha256 = "061mgkawimhw3gq506h8m6kw50a2v26qysa5kc5jdqgaqx5yvqh4";
+    sha256 = "1xnjn4pcgknywfndrp2zwln3v1msaffhhfiym5mdz543rsxav0yp";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/ipfs/deps.nix b/pkgs/applications/networking/ipfs/deps.nix
new file mode 100644
index 000000000000..181b55d28d94
--- /dev/null
+++ b/pkgs/applications/networking/ipfs/deps.nix
@@ -0,0 +1,2190 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/dgraph-io/badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgraph-io/badger";
+      rev = "1fcc96ec";
+      sha256 = "09sdr64ay8wbw4m8a7dppha357wx2395vpni554353v7b22gyk59";
+    };
+  }
+  {
+    goPackagePath = "bazil.org/fuse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bazil/fuse";
+      rev = "65cc252bf669";
+      sha256 = "0qjm9yrhc5h632wwhklqzhalid4lxcm9iwsqs3jahp303rm27vpk";
+    };
+  }
+  {
+    goPackagePath = "github.com/AndreasBriese/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/AndreasBriese/bbloom";
+      rev = "343706a395b7";
+      sha256 = "0pz4wph915gm2b0admq4bc5d2ir218s954z27gmc86l0rik13a5d";
+    };
+  }
+  {
+    goPackagePath = "github.com/Kubuxu/go-os-helper";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Kubuxu/go-os-helper";
+      rev = "v0.0.1";
+      sha256 = "08v88ylhvv65hdqr2pp94qf2ncppzib5sx66fv432vhgkz00ddyr";
+    };
+  }
+  {
+    goPackagePath = "github.com/Kubuxu/gocovmerge";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Kubuxu/gocovmerge";
+      rev = "7ecaa51963cd";
+      sha256 = "0xbx83h44hsiidmr69sn4k0zn7bmbwcna76fn0akjb5il1r4bjyr";
+    };
+  }
+  {
+    goPackagePath = "github.com/Stebalien/go-bitfield";
+    fetch = {
+      type = "git";
+      url = "https://github.com/Stebalien/go-bitfield";
+      rev = "076a62f9ce6e";
+      sha256 = "17iqkx2dyh6ykgapgvbyrm8c15qw24pspjhi3ww2sx4y0qhkycf4";
+    };
+  }
+  {
+    goPackagePath = "github.com/aead/siphash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/aead/siphash";
+      rev = "v1.0.1";
+      sha256 = "01kd1z82sc4nh3nj9c25aryyp396s7jrqc2kz9d7qq1vy2hdbznc";
+    };
+  }
+  {
+    goPackagePath = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev = "3a771d992973";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+    };
+  }
+  {
+    goPackagePath = "github.com/blang/semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/blang/semver";
+      rev = "v3.5.1";
+      sha256 = "13ws259bwcibkclbr82ilhk6zadm63kxklxhk12wayklj8ghhsmy";
+    };
+  }
+  {
+    goPackagePath = "github.com/bren2010/proquint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bren2010/proquint";
+      rev = "38337c27106d";
+      sha256 = "1ws3hb27n4c4mfp2pfj9nc59ch6dv93333a83n7qazf74lhf8ixl";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/btcd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/btcd";
+      rev = "306aecffea32";
+      sha256 = "130np0bfic9q7ga8a9y5gd3amy6mgfb7igd3lgicikjclfhiqwf4";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/btclog";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/btclog";
+      rev = "84c8d2346e9f";
+      sha256 = "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/btcutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/btcutil";
+      rev = "4c204d697803";
+      sha256 = "16s27k8xnvhlpv0ibs60sqgnyn3zhnvprv1647svmzs3rwcsqgvp";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/go-socks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/go-socks";
+      rev = "4720035b7bfd";
+      sha256 = "18cv2icj059lq4s99p6yh91hlas5f2gi3f1p4c10sjgwrs933d7b";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/goleveldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/goleveldb";
+      rev = "7834afc9e8cd";
+      sha256 = "0gy156sn2cy2maii3p058f7q60gjdbmba34i9qvk8msxlg7hlfjv";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/snappy-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/snappy-go";
+      rev = "0bdef8d06723";
+      sha256 = "00i5fsb1wf2dwal1jfwbpk9a7cbzjyg7rnz2xib3qfz9h82kd4jw";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/websocket";
+      rev = "31079b680792";
+      sha256 = "0xpkf257ml6fpfdgv7hxxc41n0d5yxxm3njm50qpzp7j71l9cjwa";
+    };
+  }
+  {
+    goPackagePath = "github.com/btcsuite/winsvc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/btcsuite/winsvc";
+      rev = "v1.0.0";
+      sha256 = "0nsw8y86a5hzr2a3j6ch9myrpccj5bnsgaxpgajhzfk5d31xlw1z";
+    };
+  }
+  {
+    goPackagePath = "github.com/cenkalti/backoff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cenkalti/backoff";
+      rev = "v2.1.1";
+      sha256 = "1mf4lsl3rbb8kk42x0mrhzzy4ikqy0jf6nxpzhkr02rdgwh6rjk8";
+    };
+  }
+  {
+    goPackagePath = "github.com/cheekybits/genny";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cheekybits/genny";
+      rev = "v1.0.0";
+      sha256 = "1pcir5ic86713aqa51581rfb67rgc3m0c72ddjfcp3yakv9vyq87";
+    };
+  }
+  {
+    goPackagePath = "github.com/coreos/go-semver";
+    fetch = {
+      type = "git";
+      url = "https://github.com/coreos/go-semver";
+      rev = "v0.2.0";
+      sha256 = "1gghi5bnqj50hfxhqc1cxmynqmh2yk9ii7ab9gsm75y5cp94ymk0";
+    };
+  }
+  {
+    goPackagePath = "github.com/cskr/pubsub";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cskr/pubsub";
+      rev = "v1.0.2";
+      sha256 = "0wr8cg5axrlz9xg33r9dqvkp5ix9q8h8c7qw78mj22qprwh3zj9f";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/davidlazar/go-crypto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davidlazar/go-crypto";
+      rev = "dcfb0a7ac018";
+      sha256 = "1lir8slwykn0h5bg5lj22qsdg4kw09kcqlks974g1428d42rqlcp";
+    };
+  }
+  {
+    goPackagePath = "github.com/dgryski/go-farm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-farm";
+      rev = "3adb47b1fb0f";
+      sha256 = "04bkvr6xvfh83cn83gqzyxx45wbk3j1bdpgrck0b424x48z2x4jh";
+    };
+  }
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "v1.0.0";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+    };
+  }
+  {
+    goPackagePath = "github.com/elgris/jsondiff";
+    fetch = {
+      type = "git";
+      url = "https://github.com/elgris/jsondiff";
+      rev = "765b5c24c302";
+      sha256 = "0jm1q0s531hmkqdx8jqphfpmzysn44aphkpwlzqwp3hkz89g4d4q";
+    };
+  }
+  {
+    goPackagePath = "github.com/facebookgo/atomicfile";
+    fetch = {
+      type = "git";
+      url = "https://github.com/facebookgo/atomicfile";
+      rev = "2de1f203e7d5";
+      sha256 = "1vsx6r6y601jxvjqc8msbpr5v1037dfxxdd8h1q3s8wm6xhvj2v6";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.7.0";
+      sha256 = "0v8msvg38r8d1iiq2i5r4xyfx0invhc941kjrsg5gzwvagv55inv";
+    };
+  }
+  {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fsnotify/fsnotify";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "github.com/go-check/check";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go-check/check";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "v1.2.1";
+      sha256 = "06yqa6h0kw3gr5pc3qmas7f7435a96zf7iw7p0l00r2hqf6fqq6m";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/mock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/mock";
+      rev = "v1.2.0";
+      sha256 = "12ddj2g8ab87id6n2n67vnbhq6p8dvgsq1pzpqfriym4dk8w54fg";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.3.0";
+      sha256 = "0dm1ip7742qz2k1cr6ywy0av6mpcxd2kc4ayfqi8cxz3ai7zhbdr";
+    };
+  }
+  {
+    goPackagePath = "github.com/golang/snappy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/snappy";
+      rev = "2e65f85255db";
+      sha256 = "05w6mpc4qcy0pv8a2bzng8nf4s5rf5phfang4jwy9rgf808q0nxf";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev = "v0.2.0";
+      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+    };
+  }
+  {
+    goPackagePath = "github.com/google/uuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/uuid";
+      rev = "v1.1.1";
+      sha256 = "0hfxcf9frkb57k6q0rdkrmnfs78ms21r1qfk9fhlqga2yh5xg8zb";
+    };
+  }
+  {
+    goPackagePath = "github.com/gopherjs/gopherjs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gopherjs/gopherjs";
+      rev = "0766667cb4d1";
+      sha256 = "13pfc9sxiwjky2lm1xb3i3lcisn8p6mgjk2d927l7r92ysph8dmw";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev = "v1.4.0";
+      sha256 = "00i4vb31nsfkzzk7swvx3i75r2d960js3dri1875vypk3v2s0pzk";
+    };
+  }
+  {
+    goPackagePath = "github.com/gxed/go-shellwords";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gxed/go-shellwords";
+      rev = "v1.0.3";
+      sha256 = "1pg7pl25wvpl2dbpyrv9p1r7prnqimxlf6136vn0dfm54j2x4mnr";
+    };
+  }
+  {
+    goPackagePath = "github.com/gxed/hashland";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gxed/hashland";
+      rev = "v0.0.1";
+      sha256 = "1b921dh9i6zw7y8jfzwvrmdbhnwid12a5z1zjawslfq2vvsajwmm";
+    };
+  }
+  {
+    goPackagePath = "github.com/gxed/pubsub";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gxed/pubsub";
+      rev = "26ebdf44f824";
+      sha256 = "0q0r6bvimjxwi3yd0w2wjkx1x8m0d9pwi25b7n4s4g10h36rabjp";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/errwrap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/errwrap";
+      rev = "v1.0.0";
+      sha256 = "0slfb6w3b61xz04r32bi0a1bygc82rjzhqkxj2si2074wynqnr1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-multierror";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-multierror";
+      rev = "v1.0.0";
+      sha256 = "00nyn8llqzbfm8aflr9kwsvpzi4kv8v45c141v88xskxp5xf6z49";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/golang-lru";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/golang-lru";
+      rev = "v0.5.1";
+      sha256 = "13f870cvk161bzjj6x41l45r5x9i1z9r2ymwmvm7768kg08zznpy";
+    };
+  }
+  {
+    goPackagePath = "github.com/hpcloud/tail";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
+      rev = "v1.0.0";
+      sha256 = "1njpzc0pi1acg5zx9y6vj9xi6ksbsc5d387rd6904hy6rh2m6kn0";
+    };
+  }
+  {
+    goPackagePath = "github.com/hsanjuan/go-libp2p-gostream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hsanjuan/go-libp2p-gostream";
+      rev = "v0.0.31";
+      sha256 = "0q4k1ahns9j061iajp8525330mwgbdv5mnyzldpg64r5c2igp9qf";
+    };
+  }
+  {
+    goPackagePath = "github.com/hsanjuan/go-libp2p-http";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hsanjuan/go-libp2p-http";
+      rev = "v0.0.2";
+      sha256 = "0pq80qvhm2f53gx438ws5nnj1r2ara48radzxc5br57scp2bjlgk";
+    };
+  }
+  {
+    goPackagePath = "github.com/huin/goupnp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/huin/goupnp";
+      rev = "v1.0.0";
+      sha256 = "12f7rigf1f4xh1an1qis61xkj5s1r8ygk48zahf3n4gaqxmgm7i6";
+    };
+  }
+  {
+    goPackagePath = "github.com/huin/goutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/huin/goutil";
+      rev = "1ca381bf3150";
+      sha256 = "0alhyacsfqic2wxyqn4gvk9wzjl4pkmy8rhvqjk84xsghgx5xf12";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/bbloom";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/bbloom";
+      rev = "v0.0.1";
+      sha256 = "0ji1dgxvg338wx2agh0ld9x6wwr6zc8zwjxs5mwdb99p56dc34nz";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/dir-index-html";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/dir-index-html";
+      rev = "v1.0.3";
+      sha256 = "1asd58w53i97jxk2r1asy8h5lgq0086lnjq3gi7fs20xvgv20bfy";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-bitswap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-bitswap";
+      rev = "v0.0.4";
+      sha256 = "0998qyxzp5frmkf5kjqxrhdwl4c0i7a2kh24rldix934afbmfz3r";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-block-format";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-block-format";
+      rev = "v0.0.2";
+      sha256 = "1j73r946z0gs98a2r1z7q3vkpk8v7wqwc68x8c3ngiff9sijq1kf";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-blockservice";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-blockservice";
+      rev = "v0.0.3";
+      sha256 = "1c2fnrqlvg16xf7jla1x38qi56yw61w1ms70kghhafmw008bgkvn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-cid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-cid";
+      rev = "v0.0.1";
+      sha256 = "11hdrac0wf82m69fkpwby1mg2k7swmw884rv3250i0kymwi93lak";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-cidutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-cidutil";
+      rev = "v0.0.1";
+      sha256 = "00bdn7cg7rg8amh8zaqakf6phd14sn2z9kw73cscfhpyg9di1p9h";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-datastore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-datastore";
+      rev = "v0.0.3";
+      sha256 = "147nnmgb2b4iiky4hsn5wn4hk0kp39xs1yj3blm2gxxxkmjqsdk4";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-detect-race";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-detect-race";
+      rev = "v0.0.1";
+      sha256 = "0rqb0q66d7z852j5mhlr025dz698c44w014g4mx587amr1rvwqna";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-badger";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-badger";
+      rev = "v0.0.3";
+      sha256 = "0bl7zh8gmas54577v501n17z1254f1yaggkgslz9qjz4rihq4wq1";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-flatfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-flatfs";
+      rev = "v0.0.2";
+      sha256 = "1z6z717pkv2yqb0wdhw73vir253305wkqcg5pln8km8kl2fjwwyi";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-leveldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-leveldb";
+      rev = "v0.0.2";
+      sha256 = "0x70z31g0l04lm6nsv1p0wnhdwqvck2pzy59ygfxk707n0x5vqpc";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ds-measure";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ds-measure";
+      rev = "v0.0.1";
+      sha256 = "1ndb10x5g95g8kapfr116qa3cav2xcwwm4dppp99bi15kq1yk742";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-fs-lock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-fs-lock";
+      rev = "v0.0.1";
+      sha256 = "02mr83xkflf0sjrii11pd9k4a4545jggqgq6pdpsmkx2r3b01j2q";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-addr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-addr";
+      rev = "v0.0.1";
+      sha256 = "02f7vhf6kra7h58ny71zfb0k5q9mz6yplypnk36i6gv4fn5v9c5i";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-blockstore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-blockstore";
+      rev = "v0.0.1";
+      sha256 = "0vw6i4n9xss21yri5wkj9pvzapm9yqgxh5l6vq2858n50xz72r31";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-blocksutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-blocksutil";
+      rev = "v0.0.1";
+      sha256 = "06bip9adk70i0g0hkf4aczvhkhd3s31x19668ls26dl62rq9h7di";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-chunker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-chunker";
+      rev = "v0.0.1";
+      sha256 = "19p8a4xfi62fj5nw7ad81yppn0slq3pddk0gb0c3zydaxcjkhzw6";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-cmdkit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-cmdkit";
+      rev = "v0.0.1";
+      sha256 = "1aqdpszvibkm1h7p852ajzb9gjgsz5jlk4j2s9j8q1wbmz3vslms";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-cmds";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-cmds";
+      rev = "v0.0.5";
+      sha256 = "1b302hvah5scykcjn5al9a6jf7sygqi6snd664a6sxf2xgpwk0s8";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-config";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-config";
+      rev = "v0.0.1";
+      sha256 = "055igsi5bv312p2590dvpr9d290c4c0cwbzvwv52l7j60v79vlkc";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-delay";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-delay";
+      rev = "v0.0.1";
+      sha256 = "0a5acj622sk1hibnh893mya4h86nsy1dan0wlh9q444c04iqpviw";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-ds-help";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-ds-help";
+      rev = "v0.0.1";
+      sha256 = "173kmvyk2f5f1p30avb8nzvkcmq9xkdfpydavqw3bxg0yq0714ic";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-exchange-interface";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-exchange-interface";
+      rev = "v0.0.1";
+      sha256 = "12h4pj5g9d1j5gmd8gf774fqwkx0x5cm3pg7c81hi0f43x5lrmwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-exchange-offline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-exchange-offline";
+      rev = "v0.0.1";
+      sha256 = "0nlb5llmj9kjas2p5jqg2x3krk5jm40xd36k0g5l87c992dy7f0i";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-files";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-files";
+      rev = "v0.0.2";
+      sha256 = "12554whcmg60rgnzyd7673hgxnrs1j176lw8839wf260pjq6rs39";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-flags";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-flags";
+      rev = "v0.0.1";
+      sha256 = "0pf9nq0n6nlfxbfhn9v46a2s7kkkwmvl04si8ihz08nahanb13r6";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-posinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-posinfo";
+      rev = "v0.0.1";
+      sha256 = "0hh88i9sk5h53z2xx2nwxrpcx0r0jhlb5sq54x5qyhp5mjfqbyi2";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-pq";
+      rev = "v0.0.1";
+      sha256 = "05q7b7g49ni59c6593v51kkkd6ppc2ipkfsx05qbfg8md9r7a93x";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-routing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-routing";
+      rev = "v0.0.1";
+      sha256 = "15vvvc0z5sbyhmwl3nfrpziiy3gsivb02xcalsz6mxvam68xy4x5";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipfs-util";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipfs-util";
+      rev = "v0.0.1";
+      sha256 = "1j87wqxh8ap5qqvnhnhz3zg6fn50axnnd69wqg287hh36xcpy6ss";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipld-cbor";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipld-cbor";
+      rev = "v0.0.1";
+      sha256 = "0zppzca1ar8pqrzi68ysx4ih1mnhlyrg046xwj7sggr4aki1fh5j";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipld-format";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipld-format";
+      rev = "v0.0.1";
+      sha256 = "0lb4wp30jlamk604bagzf28zf2hm2b4lxnayqvq7rh0jxhbdb61d";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipld-git";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipld-git";
+      rev = "v0.0.1";
+      sha256 = "0d5kl3kvam1hv589cg9cg1dkjyanzp727zrnzyjnrysv3fk8yv66";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-ipns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-ipns";
+      rev = "v0.0.1";
+      sha256 = "1r9531v35336sf36s8pzi3jiyqd22ld9p7xpaznzmp57ygwfxlwj";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-log";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-log";
+      rev = "v0.0.1";
+      sha256 = "0r3pk46g9vjjb9ljaxda18w488xa9vyj30g23y9vprknkd9dqfgw";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-merkledag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-merkledag";
+      rev = "v0.0.3";
+      sha256 = "0j7dgca9vyhj6ra074cddblcjkxh1c1k51krch09lqxxjwasgg60";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-metrics-interface";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-metrics-interface";
+      rev = "v0.0.1";
+      sha256 = "09xc71175sfnqlizkbw066jagnbag9ihvs240z6g6dm2yx3w5xgy";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-metrics-prometheus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-metrics-prometheus";
+      rev = "v0.0.2";
+      sha256 = "1z1zwjj0a3gyzs4r25b9kl7z3kmsqp3jskvy7x02a3v1dlr3nkfp";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-mfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-mfs";
+      rev = "v0.0.4";
+      sha256 = "13jjxbfjl6wd89nxqibvp8q3hd2vzh0vpfhp3vrbapghkzp08rbb";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-path";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-path";
+      rev = "v0.0.3";
+      sha256 = "019zpy92k2rilkhn928jf91d8y3x8cxcw04mc2pxv5ja29nkyc91";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-todocounter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-todocounter";
+      rev = "v0.0.1";
+      sha256 = "1nsf56hh6n2y3m14b1ismcpsyi65ffxa5i6ks6il9qppm21mm5nx";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-unixfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-unixfs";
+      rev = "v0.0.4";
+      sha256 = "0fbqqi9h2xalnyc58ppaiyac3qd6hb4ycn46wwnr7idp0z7wxl5j";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/go-verifcid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/go-verifcid";
+      rev = "v0.0.1";
+      sha256 = "06ii8934s52d9n1lvzx29didh667pm2i7qdag443vqn0ilmkjvh9";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/hang-fds";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/hang-fds";
+      rev = "v0.0.1";
+      sha256 = "0axgmx1vcqsvys4vhqfrixfss2vk3qly1cqlm0aqrlhscggflkn4";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/interface-go-ipfs-core";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/interface-go-ipfs-core";
+      rev = "v0.0.6";
+      sha256 = "13sr18vzsfsik1nnkdcmi7afagbcnzh95mxzlbss366x802g8d8q";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/iptb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/iptb";
+      rev = "v1.4.0";
+      sha256 = "0nfiqf1k114ydp6c37yq4qn6j3bmw94wvc096vfljq8493jr8jvv";
+    };
+  }
+  {
+    goPackagePath = "github.com/ipfs/iptb-plugins";
+    fetch = {
+      type = "git";
+      url = "https://github.com/ipfs/iptb-plugins";
+      rev = "v0.0.2";
+      sha256 = "10kyvjhmlvza3xlmfvwhndscjm6807pmk9nld7d2660mvh18w626";
+    };
+  }
+  {
+    goPackagePath = "github.com/jackpal/gateway";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jackpal/gateway";
+      rev = "v1.0.5";
+      sha256 = "1ird5xmizj632l3dq24s2xgb8w1dn6v8xznlqz252gvngyr2gjl1";
+    };
+  }
+  {
+    goPackagePath = "github.com/jackpal/go-nat-pmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jackpal/go-nat-pmp";
+      rev = "v1.0.1";
+      sha256 = "0sr23mcxbv9f65is4p1amb5yn026p7cfamlwpb2f8q218idwy3zk";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-cienv";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-cienv";
+      rev = "1bb1476777ec";
+      sha256 = "0mk04dk572gdd0y63vark0362y42w7kbwdlmmw9bg78qmmiikjb3";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-context";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-context";
+      rev = "d14ea06fba99";
+      sha256 = "0q91f5549n81w3z5927n4a1mdh220bdmgl42zi3h992dcc4ls0sl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-is-domain";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-is-domain";
+      rev = "v1.0.2";
+      sha256 = "1cf4qmlg54975z5j7njyqsq0vr8gsxzg85c5iys08nr3cizr7551";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-random";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-random";
+      rev = "123a90aedc0c";
+      sha256 = "0kgx19m8p76rmin8s8y6j1padciv1dx37qzy7jkh9bw49ai3haw3";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-random-files";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-random-files";
+      rev = "31b3f20ebded";
+      sha256 = "0d52wwzgxxh2a1bwmixfa6nfhhqdq6l9g4s6kmsdnc6kqf38c818";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/go-temp-err-catcher";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/go-temp-err-catcher";
+      rev = "aac704a3f4f2";
+      sha256 = "1fyqkcggnrzwxa8iii15g60w2jikdm26sr7l36km7y0nc2kvf7jc";
+    };
+  }
+  {
+    goPackagePath = "github.com/jbenet/goprocess";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jbenet/goprocess";
+      rev = "b497e2f366b8";
+      sha256 = "1lnvkzki7vnqn5c4m6bigk0k85haicmg27w903kwg30rdvblm82s";
+    };
+  }
+  {
+    goPackagePath = "github.com/jessevdk/go-flags";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jessevdk/go-flags";
+      rev = "1679536dcc89";
+      sha256 = "15jgsymwg0wjslxrw391sw7qzwwjcnjxiiksq84z7ng9sqy96c1c";
+    };
+  }
+  {
+    goPackagePath = "github.com/jonboulle/clockwork";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jonboulle/clockwork";
+      rev = "v0.1.0";
+      sha256 = "1pqxhsdavbp1n5grgyx2j6ylvql2fzn2cvpsgkc8li69dil7sibl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jrick/logrotate";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jrick/logrotate";
+      rev = "v1.0.0";
+      sha256 = "0srl6figwjqpi3nbp7br8sxpmvh4v8lzbny1b4lar4ny0156p5nl";
+    };
+  }
+  {
+    goPackagePath = "github.com/jtolds/gls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jtolds/gls";
+      rev = "v4.2.1";
+      sha256 = "1vm37pvn0k4r6d3m620swwgama63laz8hhj3pyisdhxwam4m2g1h";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/errcheck";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/errcheck";
+      rev = "v1.1.0";
+      sha256 = "19vd4rxmqbk5lpiav3pf7df3yjlz0l0dwx9mn0gjq5f998iyhy6y";
+    };
+  }
+  {
+    goPackagePath = "github.com/kisielk/gotool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kisielk/gotool";
+      rev = "v1.0.0";
+      sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
+    };
+  }
+  {
+    goPackagePath = "github.com/kkdai/bstream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kkdai/bstream";
+      rev = "f391b8402d23";
+      sha256 = "1hd9caz0yf3r8kciw2pqwrsr8z4w0rhbqv1z7iq08d0542s05j3z";
+    };
+  }
+  {
+    goPackagePath = "github.com/koron/go-ssdp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/koron/go-ssdp";
+      rev = "4a0ed625a78b";
+      sha256 = "11d1xf07xs4j7qbxpndxbrfk2zk48k9fa3cxnhfb5lh24bd4sa0f";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pretty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pretty";
+      rev = "v0.1.0";
+      sha256 = "18m4pwg2abd0j9cn5v3k2ksk9ig4vlwxmlw9rrglanziv9l967qp";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/pty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/pty";
+      rev = "v1.1.1";
+      sha256 = "0383f0mb9kqjvncqrfpidsf8y6ns5zlrc91c6a74xpyxjwvzl2y6";
+    };
+  }
+  {
+    goPackagePath = "github.com/kr/text";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kr/text";
+      rev = "v0.1.0";
+      sha256 = "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-addr-util";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-addr-util";
+      rev = "v0.0.1";
+      sha256 = "1kjdk5214l8gna7f4hvb0iwmmlzsfccjankkxjmil80ibhcvjw60";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-buffer-pool";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-buffer-pool";
+      rev = "v0.0.1";
+      sha256 = "1239hkhckgx1fzd43k56q3c0283p1mjl8w7i2j4xymvs6f6q6ygi";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-conn-security";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-conn-security";
+      rev = "v0.0.1";
+      sha256 = "0z1zw0aq5jcks0vcdm5zxjyz9z6c6jklm0s74gc2m7jfs2jj2r5r";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-conn-security-multistream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-conn-security-multistream";
+      rev = "v0.0.1";
+      sha256 = "19slvlmapzs952gfn4aym4dg0l49x0vpn5v696vf80v2k00ipa32";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-flow-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-flow-metrics";
+      rev = "v0.0.1";
+      sha256 = "04zrwl579qkhiw3b655cw7lnlp2yvq1xl3f1rkxnhx8llwsy3x49";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p";
+      rev = "v0.0.12";
+      sha256 = "04hm36fi45jpq5zjl1a7jlyq82adwwrgvvgnkllppq2zg85mlvvi";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-autonat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-autonat";
+      rev = "v0.0.4";
+      sha256 = "03523s4kdwswgfnwly5ynld2lny142j8xl6mr88vni4xn7pijn1l";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-autonat-svc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-autonat-svc";
+      rev = "v0.0.5";
+      sha256 = "0plph1nnh0ig9d54hizpiyhfrlrwhb1ylx6pry5jcppgpxngi79c";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-blankhost";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-blankhost";
+      rev = "v0.0.1";
+      sha256 = "1q29b880l95811ara95187y9pmqq542bxh50cg0ykwzfj94xgla4";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-circuit";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-circuit";
+      rev = "v0.0.4";
+      sha256 = "1bnwjf3p5r8ng360l2fjx0szdiwm2yfiifjkwflin00hx0gzyq7d";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-connmgr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-connmgr";
+      rev = "v0.0.1";
+      sha256 = "07kvnhavr4k1birgqp9c4y0yl1ii3pl1cc8pn4dzci87krachz2z";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-crypto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-crypto";
+      rev = "v0.0.1";
+      sha256 = "0wgq0ayg1656gvmi4d1nwgq7dbnyyb30xp3z571q495mmq483fbk";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-daemon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-daemon";
+      rev = "v0.0.6";
+      sha256 = "0pq6557ykbi3a8pasvm9zlhdysrq6h1fj48z4imv2gq30nmy3l6l";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-discovery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-discovery";
+      rev = "v0.0.1";
+      sha256 = "06h621llfx7bmkcnrkkxb3j85221albf18ig8mbh9c8wrpmsi438";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-host";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-host";
+      rev = "v0.0.1";
+      sha256 = "102qyl7qkmq8p1gpxbfi5z2lrd8mysji28fx25ma4h312ci96rqz";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-interface-connmgr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-interface-connmgr";
+      rev = "v0.0.1";
+      sha256 = "107khappq5w48p17s22cp7djd5ii1bbg968wsa9bq9znzxdkzm43";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-interface-pnet";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-interface-pnet";
+      rev = "v0.0.1";
+      sha256 = "1kqxm4rpcss2ajfnc3gzww4ng5pjj5qc0szr5x2vz15vvx2kp9bi";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-kad-dht";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-kad-dht";
+      rev = "v0.0.7";
+      sha256 = "1nbq4240vnd3sfmiy8ry6pwnnf2k7hnwn1ln32mgqq32dywx664r";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-kbucket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-kbucket";
+      rev = "v0.1.1";
+      sha256 = "0pgy89mp9r23axs8gapnkzks89q7539l2g46r6ffyd4a675qampg";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-loggables";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-loggables";
+      rev = "v0.0.1";
+      sha256 = "15whxhipm06fnd8ky7gxf59bvbw2wxl44g0v2dbnbr2j9a2n5ivv";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-metrics";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-metrics";
+      rev = "v0.0.1";
+      sha256 = "14wvnmcwr40iwbpvfwdcbb6cff7rcrhqf42z32aqjhisp32irn1x";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-nat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-nat";
+      rev = "v0.0.4";
+      sha256 = "179d5jj4sznjns9p17gmrd86pf7ba7k4qq5kiv17ra4b666kd88f";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-net";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-net";
+      rev = "v0.0.2";
+      sha256 = "0cfi57hvkz6yhi2nw63p2p7fnaw91zrcphxmchk2a4xn5rnwgjak";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-netutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-netutil";
+      rev = "v0.0.1";
+      sha256 = "1zzkfddfmja6dsk8nxybi5cccd2v38sahp8xx676a38g3ydvqvs6";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-peer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-peer";
+      rev = "v0.0.1";
+      sha256 = "0hixdbj47njyzj885fzm9dlylw21g406yqxfidag2qrn06b2qicl";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-peerstore";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-peerstore";
+      rev = "v0.0.2";
+      sha256 = "1asfl9sp3mi5pg9gpy45wvsc8hpdf48i7ml37sh5sjmn30aj4f6i";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-pnet";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-pnet";
+      rev = "v0.0.1";
+      sha256 = "1gh2hw0dbywwp7vr4n9xws8nxraa00rigzxa86g8nf50n9cdq2cr";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-protocol";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-protocol";
+      rev = "v0.0.1";
+      sha256 = "18fhmhfsdzw7dd618y4344qka08zq4b5jzpdgxbglar9dkkralg7";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-pubsub";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-pubsub";
+      rev = "v0.0.1";
+      sha256 = "1n67ajql9527mzrc06jk4rb3xb63vmlnzx6i4aywcfn66pjg9kmh";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-pubsub-router";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-pubsub-router";
+      rev = "v0.0.3";
+      sha256 = "1cjscq213ky11vzdalcfnkqkj2s53npymzjvv6ahn34c6bidan4s";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-quic-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-quic-transport";
+      rev = "v0.0.3";
+      sha256 = "0kiisb35fvblg4xaz188by4rn90chynzm94f83prqq7h9y9b3s5s";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-record";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-record";
+      rev = "v0.0.1";
+      sha256 = "131zjkplylwam3gnw8f9lfvjgzi8xbjhb2qf57fys4c89pz868mg";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-routing";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-routing";
+      rev = "v0.0.1";
+      sha256 = "09mm12abdzy6k1dw3ix8v2c8w3warc52jazvwwwvwhlq924jzdp0";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-routing-helpers";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-routing-helpers";
+      rev = "v0.0.2";
+      sha256 = "0lxpf1vzhapj2q18wv5g7kkqhnwz1b08lyxjp57qa33z5j4jclgw";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-secio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-secio";
+      rev = "v0.0.1";
+      sha256 = "1v51whaww3bv14kl7gpapq6ld6m6v7w9cipkflh8czpgrs096yyq";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-swarm";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-swarm";
+      rev = "v0.0.2";
+      sha256 = "0v75wb96rddjxd8faqri076xba5ffqg4bpddw16k4bw8kk2b46w0";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-transport";
+      rev = "v0.0.4";
+      sha256 = "0pgyxzb489xzcm9q11br6sgsz166cw65xhfcksy3yy5n0c1c6mvb";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-libp2p-transport-upgrader";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-libp2p-transport-upgrader";
+      rev = "v0.0.1";
+      sha256 = "0czy16zvbz2k9jn8w7iddf7xph3bn054abxybjxm4dhp7g83mf65";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-maddr-filter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-maddr-filter";
+      rev = "v0.0.1";
+      sha256 = "039qj86k4dam6kch52kcdk5dsg36gfrfwambqjg1nv2xaq8j1hx8";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-mplex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-mplex";
+      rev = "v0.0.1";
+      sha256 = "1f0h2hmh4c0xvv1fsjciyc8v7sn0ymanr9my2smr6z1nar7nziqn";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-msgio";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-msgio";
+      rev = "v0.0.1";
+      sha256 = "1my8w8k7c3mz2aazsg45q7nlr4ywmix6jspri2sv7fqrs1kjxrjm";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-nat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-nat";
+      rev = "v0.0.3";
+      sha256 = "19ihybcpmz2wpi6mk3rhgjbv4cgiiang92d9ym3xw7y3iv8mlzc0";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-reuseport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-reuseport";
+      rev = "v0.0.1";
+      sha256 = "1qbxhycckjv7mazg06llbx9708f1z4453yaxxp4641gwcrbns7zk";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-reuseport-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-reuseport-transport";
+      rev = "v0.0.2";
+      sha256 = "14lqhdkx5nmrvislim7qlvnx78dnfngxvcrll9d851r04p703qrn";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-stream-muxer";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-stream-muxer";
+      rev = "v0.0.1";
+      sha256 = "1swqw77jn00a7cl3lb7x5wyybhv4mkqk36z407ihid44gds7djqh";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-tcp-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-tcp-transport";
+      rev = "v0.0.2";
+      sha256 = "0qrl4mgs16wnc0dnwg3x2k3mlv9grzl8maclbkq22vqk34c5in4y";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-testutil";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-testutil";
+      rev = "v0.0.1";
+      sha256 = "1jmqk6cyp52fgmayx0dwas27rswrvn9lpsiv6bnabhz1gvb91ahp";
+    };
+  }
+  {
+    goPackagePath = "github.com/libp2p/go-ws-transport";
+    fetch = {
+      type = "git";
+      url = "https://github.com/libp2p/go-ws-transport";
+      rev = "v0.0.2";
+      sha256 = "1j321z8m82a43v70jmglh2v0hv1wmgsizr5zrlgwqsx3wsih9phx";
+    };
+  }
+  {
+    goPackagePath = "github.com/lucas-clemente/quic-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lucas-clemente/quic-go";
+      rev = "v0.11.1";
+      sha256 = "1vhswcbiyaq94rwc6vd8vl13x3lfwilpfw7kqx7bflxj7zvvd18y";
+    };
+  }
+  {
+    goPackagePath = "github.com/marten-seemann/qtls";
+    fetch = {
+      type = "git";
+      url = "https://github.com/marten-seemann/qtls";
+      rev = "v0.2.3";
+      sha256 = "0b9p7bwkm9hfg1mb565q4nw5k7xyks0z2xagz5fp95azy2psbnfg";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.1";
+      sha256 = "0l640974j804c1yyjfgyxqlsivz0yrzmbql4mhcw2azryigkp08p";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.5";
+      sha256 = "114d5xm8rfxplzd7nxz97gfngb4bhqy102szl084d1afcxsvm4aa";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.4";
+      sha256 = "00b3ssm7wiqln3k54z2wcnxr3k3c7m1ybyhb9h8ixzbzspld0qzs";
+    };
+  }
+  {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev = "v1.0.1";
+      sha256 = "1d0c1isd2lk9pnfq2nk0aih356j30k3h1gi2w0ixsivi5csl7jya";
+    };
+  }
+  {
+    goPackagePath = "github.com/mgutz/ansi";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mgutz/ansi";
+      rev = "9520e82c474b";
+      sha256 = "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j";
+    };
+  }
+  {
+    goPackagePath = "github.com/miekg/dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
+      rev = "v1.1.4";
+      sha256 = "17apnm7q5v7bhmpvrk3rbi0gjqk8z3cwkm90q1dfzrfvbvp71z5d";
+    };
+  }
+  {
+    goPackagePath = "github.com/minio/blake2b-simd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/minio/blake2b-simd";
+      rev = "3f5f724cb5b1";
+      sha256 = "0b6jbnj62c0gmmfd4zdmh8xbg01p80f13yygir9xprqkzk6fikmd";
+    };
+  }
+  {
+    goPackagePath = "github.com/minio/sha256-simd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/minio/sha256-simd";
+      rev = "2d45a736cd16";
+      sha256 = "1hfhpy8fczd0mnwvxkp2nk3dydv1nzqx59ig8ajqjraq6kli66p5";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "v1.1.0";
+      sha256 = "0ydzkipf28hwj2bfxqmwlww47khyk6d152xax4bnyh60f4lq3nx1";
+    };
+  }
+  {
+    goPackagePath = "github.com/mr-tron/base58";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mr-tron/base58";
+      rev = "v1.1.0";
+      sha256 = "00w28mhinf8dvzrh71dijryfhrggi7j9wqiiyddpk41ixx3rmfy4";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-base32";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-base32";
+      rev = "v0.0.3";
+      sha256 = "1f4pjnqw4687p8l7vr1qaq6g6i9pcr80fc4pk2kpgrcwzpd1lprg";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multiaddr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multiaddr";
+      rev = "v0.0.1";
+      sha256 = "1r1w4036bpi97xb70833bpdpdhqm5gl6m8fllfdxqbg10ab1a938";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multiaddr-dns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multiaddr-dns";
+      rev = "v0.0.2";
+      sha256 = "1fnv7lbd7q1kssaxp2fgrvj9dhn5aiqspd4090iqwys5hjr1xvmf";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multiaddr-net";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multiaddr-net";
+      rev = "v0.0.1";
+      sha256 = "1075xs6gbiblfbwgf84yvg1nrywmvvrrxzqa8wp9j75zyakab81p";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multibase";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multibase";
+      rev = "v0.0.1";
+      sha256 = "083adnq79pyxhngv91saygh076196qin1nw1vppz7nk04zw4aymg";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multicodec";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multicodec";
+      rev = "v0.1.6";
+      sha256 = "08wnxhb4rd7rln2mzxnhv3csy19l9qgf5dx3437x4zsgkaqabb96";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multihash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multihash";
+      rev = "v0.0.1";
+      sha256 = "1aw4ra22g3l98bk7c3h1n968vi5a3gk528g4byj3xig76r0r731n";
+    };
+  }
+  {
+    goPackagePath = "github.com/multiformats/go-multistream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/multiformats/go-multistream";
+      rev = "v0.0.1";
+      sha256 = "1k79w7zd92cs9sjvsr31vi6n3j30xqz83mb3a3pqva11wl1gbnlz";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/ginkgo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/ginkgo";
+      rev = "v1.7.0";
+      sha256 = "14wgpdrvpc35rdz3859bz53sc1g4vpr1fysy15wy3ff9gmqs14yg";
+    };
+  }
+  {
+    goPackagePath = "github.com/onsi/gomega";
+    fetch = {
+      type = "git";
+      url = "https://github.com/onsi/gomega";
+      rev = "v1.4.3";
+      sha256 = "1c8rqg5i2hz3snmq7s41yar1zjnzilb0fyiyhkg83v97afcfx79v";
+    };
+  }
+  {
+    goPackagePath = "github.com/opentracing/opentracing-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opentracing/opentracing-go";
+      rev = "v1.0.2";
+      sha256 = "0i0ghg94dg8lk05mw5n23983wq04yjvkjmdkc9z5y1f3508938h9";
+    };
+  }
+  {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pkg/errors";
+      rev = "v0.8.1";
+      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "v1.0.0";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
+    };
+  }
+  {
+    goPackagePath = "github.com/polydawn/refmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/polydawn/refmt";
+      rev = "df39d6c2d992";
+      sha256 = "07hj5wimwgwj8xzzbvk0y7d6fmqf44d7fjicp1digh4kvjsbg3dz";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev = "v0.9.2";
+      sha256 = "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev = "5c3871d89910";
+      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev = "4724e9255275";
+      sha256 = "0pcx8hlnrxx5nnmpk786cn99rsgqk1jrd3c9f6fsx8qd8y5iwjy6";
+    };
+  }
+  {
+    goPackagePath = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev = "1dc9a6cbc91a";
+      sha256 = "1zlv1x30xp7z5c3vn5vp870v4bjim0zcidzc3mr2l3xhazc0svab";
+    };
+  }
+  {
+    goPackagePath = "github.com/rs/cors";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rs/cors";
+      rev = "v1.6.0";
+      sha256 = "12j838rj6xl9y1xqs1mnh9zkc3dkpn94iqkp6jkdkxw631aa94dr";
+    };
+  }
+  {
+    goPackagePath = "github.com/sirupsen/logrus";
+    fetch = {
+      type = "git";
+      url = "https://github.com/sirupsen/logrus";
+      rev = "v1.0.5";
+      sha256 = "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/assertions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/assertions";
+      rev = "b2de0cb4f26d";
+      sha256 = "1i7ldgavgl35c7gk25p7bvdr282ckng090zr4ch9mk1705akx09y";
+    };
+  }
+  {
+    goPackagePath = "github.com/smartystreets/goconvey";
+    fetch = {
+      type = "git";
+      url = "https://github.com/smartystreets/goconvey";
+      rev = "a17d461953aa";
+      sha256 = "1942lhpv7c16dq27wjj2cjxsgra5lpsnxn52a9zvj8d0nip8nhq6";
+    };
+  }
+  {
+    goPackagePath = "github.com/spaolacci/murmur3";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spaolacci/murmur3";
+      rev = "f09979ecbc72";
+      sha256 = "1lv3zyz3jy2d76bhvvs8svygx66606iygdvwy5cwc0p5z8yghq25";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "v1.0.1";
+      sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/objx";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/objx";
+      rev = "v0.1.0";
+      sha256 = "19ynspzjdynbi85xw06mh8ad5j0qa1vryvxjgvbnyrr8rbm4vd8w";
+    };
+  }
+  {
+    goPackagePath = "github.com/stretchr/testify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
+      rev = "v1.3.0";
+      sha256 = "0wjchp2c8xbgcbbq32w3kvblk6q6yn533g78nxl6iskq6y95lxsy";
+    };
+  }
+  {
+    goPackagePath = "github.com/syndtr/goleveldb";
+    fetch = {
+      type = "git";
+      url = "https://github.com/syndtr/goleveldb";
+      rev = "v1.0.0";
+      sha256 = "042k0gbzs5waqpxmd7nv5h93mlva861s66c3s9gfg1fym5dx4vmd";
+    };
+  }
+  {
+    goPackagePath = "github.com/texttheater/golang-levenshtein";
+    fetch = {
+      type = "git";
+      url = "https://github.com/texttheater/golang-levenshtein";
+      rev = "d188e65d659e";
+      sha256 = "0dmaxmwz2vx2v51hybjpcwz260apaq3v8gm84ran38fcs8xl529c";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev = "v1.20.0";
+      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
+    };
+  }
+  {
+    goPackagePath = "github.com/warpfork/go-wish";
+    fetch = {
+      type = "git";
+      url = "https://github.com/warpfork/go-wish";
+      rev = "5ad1f5abf436";
+      sha256 = "1jns04jdb07f695ipf0pfal2k7ss47jxgdi2ahqmskzglb26zm62";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/base32";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/base32";
+      rev = "c30ac30633cc";
+      sha256 = "060jj8j9rnm3m47vv7jfz9ddybch3ryvn1p9vhc63bqn73knalhf";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/cbor";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/cbor";
+      rev = "63513f603b11";
+      sha256 = "0v3kgzk8grz17my2vhv12qi9dgpx3z86hy9ff1c4qw83mg8hm67s";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/chunker";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/chunker";
+      rev = "fe64bd25879f";
+      sha256 = "13q4flp9iwwyi0izqar786h42713rf3m22qlvg0masbmdi69qjr2";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-ctrlnet";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-ctrlnet";
+      rev = "f564fbbdaa95";
+      sha256 = "1ni4fb9bbaiicy8yd9w8i442v94k59czlmpvjqg0y5am67x73gxk";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-keyspace";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-keyspace";
+      rev = "5b898ac5add1";
+      sha256 = "0fkk7i7qxwbz1g621mm6a6inb69lr57cyc9ayyfiwhnjwfz78rbb";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-logging";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-logging";
+      rev = "0457bb6b88fc";
+      sha256 = "1bl180mhg03hdqhyr5sfjcg16ns2ppal625g9ag5m10l2pvlwnqn";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-notifier";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-notifier";
+      rev = "097c5d47330f";
+      sha256 = "081h4a33603n0mlh53by1mg21rr42xjvxk7r10x8l4v671bq0kha";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-smux-multiplex";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-smux-multiplex";
+      rev = "v3.0.16";
+      sha256 = "0y696zqrbdyvz9gkxd9armhxa82z2fg0wpm8yqp7swyxdsg15f8k";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-smux-multistream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-smux-multistream";
+      rev = "v2.0.2";
+      sha256 = "0sbxmn56fx1py6nijk9prkm4rqswynsw68frvlm11w5m57szi5pj";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-smux-yamux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-smux-yamux";
+      rev = "v2.0.9";
+      sha256 = "046nx0d9974shd6y3ic2dznij0yzaijp6z6g46kpa4iwf2w41jwk";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/go-sysinfo";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/go-sysinfo";
+      rev = "4a357d4b90b1";
+      sha256 = "0s6yjp9incc579wbbga33vq0hcanv8j2xh9l90ya0r4fihz39jiq";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/mafmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/mafmt";
+      rev = "v1.2.8";
+      sha256 = "0sr602pbxid3ncfd8v0dgjd1a79qg3k4bzniq811jjdq9zm9jccv";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/mdns";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/mdns";
+      rev = "ef14215e6b30";
+      sha256 = "17hid8s9asqyqgbw20wp4ip5sy03b5sayzld2i09w9l42217502q";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/multiaddr-filter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/multiaddr-filter";
+      rev = "e903e4adabd7";
+      sha256 = "0ksd8vnp207dvphmhrazwldj8if900fnyc1pqa9pfvj04qp92640";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/tar-utils";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/tar-utils";
+      rev = "8c6c8ba81d5c";
+      sha256 = "14jjdw3yics0k467xsyk388684wdpi0bbx8nqj0y4pqxa0s0in6s";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/timecache";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/timecache";
+      rev = "cfcb2f1abfee";
+      sha256 = "0nnra7ivq7cj34rj2ib8hgfdpik3smr1hy7x18svhfin8z1xsj2s";
+    };
+  }
+  {
+    goPackagePath = "github.com/whyrusleeping/yamux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/whyrusleeping/yamux";
+      rev = "v1.1.5";
+      sha256 = "08a4v0akdxg16g6mi32ixsldjbg3pp3j4x0xicaxc4fd6cfmi1wv";
+    };
+  }
+  {
+    goPackagePath = "go4.org";
+    fetch = {
+      type = "git";
+      url = "https://github.com/go4org/go4";
+      rev = "ce4c26f7be8e";
+      sha256 = "0lzvmspdqqf251lrgawnss2wn3bnd3pj89xjxlvpgg6q0853580j";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "8dd112bcdc25";
+      sha256 = "0gbcz7gxmgg88s28vb90dsp1vdq0har7zvg2adsqbp8bm05x9q6b";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "c95aed5357e7";
+      sha256 = "0b1vjnzd67sp9lggs0yn9qfgp6f5djqgx40lyncd7j720q04kk2h";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "42b317875d0f";
+      sha256 = "0mrjhk7al7yyh76x9flvxy4jm5jyqh2fxbxagpaazxn1xdgkaif3";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "b6889370fb10";
+      sha256 = "01c1ag1qr95iksp38rypfbrlk6sdqjhk7jgj3qf342ndhvqb08sa";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "90fa682c2a6e";
+      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/xerrors";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/xerrors";
+      rev = "a5947ffaace3";
+      sha256 = "1bgn7j704mf891qcwcbqzr5sq9ar7z2a81887k8pp0b1g2giwgfz";
+    };
+  }
+  {
+    goPackagePath = "google.golang.org/genproto";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-genproto";
+      rev = "11092d34479b";
+      sha256 = "12qcrjq658zga5fj4n0wgm11pzpr3gafwg25cinl5qcq4p9cnl0r";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/airbrake/gobrake.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/airbrake/gobrake.v2";
+      rev = "v2.0.9";
+      sha256 = "1x06f7n7qlyzqgyz0sdfcidf3w4ldn6zs6qx2mhibggk2z4whcjw";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "788fd7840127";
+      sha256 = "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/cheggaaa/pb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/cheggaaa/pb.v1";
+      rev = "v1.0.28";
+      sha256 = "13a66cqbpdif804qj12z9ad8r24va9q41gfk71qbc4zg1wsxs3rh";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/fsnotify.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/fsnotify.v1";
+      rev = "v1.4.7";
+      sha256 = "07va9crci0ijlivbb7q57d2rz9h27zgn2fsm60spjsqpdbvyrx4g";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/gemnasium/logrus-airbrake-hook.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/gemnasium/logrus-airbrake-hook.v2";
+      rev = "v2.1.2";
+      sha256 = "0sbg0dn6cysmf8f2bi209jwl4jnpiwp4rdghnxlzirw3c32ms5y5";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/tomb.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/tomb.v1";
+      rev = "dd632973f1e7";
+      sha256 = "1lqmq1ag7s4b3gc3ddvr792c5xb5k6sfn0cchr3i2s7f1c231zjv";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.1";
+      sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
+    };
+  }
+  {
+    goPackagePath = "gotest.tools";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gotestyourself/gotest.tools";
+      rev = "v2.1.0";
+      sha256 = "11k6hmfhaf0qxpddp3i5kfpacdx51q6pv4n1kn3jnf1hjs0yny2k";
+    };
+  }
+  {
+    goPackagePath = "gotest.tools/gotestsum";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gotestyourself/gotestsum";
+      rev = "v0.3.3";
+      sha256 = "0wkh49yixvh5y1z96sanjfyvd7c63pvryz605lz0hzdbvcwciy7i";
+    };
+  }
+]
diff --git a/pkgs/applications/networking/mpop/default.nix b/pkgs/applications/networking/mpop/default.nix
index a48cc47106c5..c4dd8e402eca 100644
--- a/pkgs/applications/networking/mpop/default.nix
+++ b/pkgs/applications/networking/mpop/default.nix
@@ -3,12 +3,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "1.4.3";
-  name = "mpop-${version}";
+  pname = "mpop";
+  version = "1.4.4";
 
   src = fetchurl {
-    url = "https://marlam.de/mpop/releases/${name}.tar.xz";
-    sha256 = "1di86frxv4gj8fasni409m87qmv0j0vmj13lawkz1pwv9hbynhjb";
+    url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
+    sha256 = "0j21cp8bw12vgfymxi3i4av3j97lrcyb5y9xa3mb59wr17izz73x";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index b5973fc8d3ee..940e2d74be49 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -9,12 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "msmtp";
-  name = "${pname}-${version}";
-  version = "1.8.3";
+  version = "1.8.4";
 
   src = fetchurl {
-    url = "https://marlam.de/msmtp/releases/${name}.tar.xz";
-    sha256 = "1d4jdgrx4czp66nnwdsy938lzr4llhwyy0715pwg0j6h6gyyxciw";
+    url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
+    sha256 = "1xr926lyy44baqdgv9q0sw5z6ll2cb4lx2g4lgpgbqn8bglpzpg5";
   };
 
   patches = [
diff --git a/pkgs/applications/office/atlassian-cli/default.nix b/pkgs/applications/office/atlassian-cli/default.nix
index 6bb84c523362..462e6fbb7a04 100644
--- a/pkgs/applications/office/atlassian-cli/default.nix
+++ b/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-cli-${version}";
-  version = "8.0.0";
+  version = "8.2.0";
   
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${name}-distribution.zip";
-    sha256  = "0ysyam06ll70d0baa3hb7wcgqnqflssr64bqjr3db6fnk1q096m8";
+    sha256  = "0lcyyay2fyywcn096y33d77r6fpvwggv5qdkky5qy16lh6rfx1lm";
     extraPostFetch = "chmod go-w $out";
   };
   
diff --git a/pkgs/applications/office/kexi/default.nix b/pkgs/applications/office/kexi/default.nix
index 66fde2497e3f..784126ba3d87 100644
--- a/pkgs/applications/office/kexi/default.nix
+++ b/pkgs/applications/office/kexi/default.nix
@@ -9,12 +9,12 @@
 
 mkDerivation rec {
   pname = "kexi";
-  version = "3.1.0";
+  version = "3.2.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1ysj44qq75wglw4d080l3gfw47695gapf29scxhb1g3py55csmbd";
+    sha256 = "1zy1q7q9rfdaws3rwf3my22ywkn6g747s3ixfcg9r80mm2g3z0bs";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
@@ -29,13 +29,6 @@ mkDerivation rec {
 
   propagatedUserEnvPkgs = [ kproperty ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://phabricator.kde.org/file/data/6iwzltiifyqwjnzbvyo6/PHID-FILE-li4a7j35wkdkm2qdtnp4/D11503.diff";
-      sha256 = "0yj717m4x1zb4xjy1ayhz78xkxpawxgsvjgvf5iw81jnlr8absq9";
-    })
-  ];
-
   meta = with lib; {
     description = "A open source visual database applications creator, a long-awaited competitor for programs like MS Access or Filemaker";
     longDescription = ''
diff --git a/pkgs/applications/office/minetime/default.nix b/pkgs/applications/office/minetime/default.nix
new file mode 100644
index 000000000000..85e8bc131ce3
--- /dev/null
+++ b/pkgs/applications/office/minetime/default.nix
@@ -0,0 +1,31 @@
+{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+
+let
+  pname = "minetime";
+  version = "1.5.1";
+in
+appimageTools.wrapType2 rec {
+  name = "${pname}-${version}";
+  src = fetchurl {
+    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}-x86_64.AppImage";
+    sha256 = "0099cq4p7j01bzs7q79y9xi7g6ji17v9g7cykfjggwsgqfmvd0hz";
+  };
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraInstallCommands = "mv $out/bin/{${name},${pname}}";
+
+  meta = with lib; {
+    description = "Modern, intuitive and smart calendar application";
+    homepage = https://minetime.ai;
+    license = licenses.unfree;
+    # Should be cross-platform, but for now we just grab the appimage
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index 9b417a8a5b63..eee6c7de4e5f 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   name = "skrooge-${version}";
-  version = "2.18.0";
+  version = "2.19.1";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
-    sha256 = "00zk152clnmq8rjjnrxmd7lfflf2pnzljaw73bjjsb6r6vkxywa6";
+    sha256 = "04pajy540vwff1y84ndrnscvlggiwfkr6w65g4hpa75cg7m169ya";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/wordgrinder/default.nix b/pkgs/applications/office/wordgrinder/default.nix
index 9518aaca878e..4271e3d17aa2 100644
--- a/pkgs/applications/office/wordgrinder/default.nix
+++ b/pkgs/applications/office/wordgrinder/default.nix
@@ -16,7 +16,11 @@ stdenv.mkDerivation rec {
     "PREFIX=$(out)"
     "LUA_INCLUDE=${lua52Packages.lua}/include"
     "LUA_LIB=${lua52Packages.lua}/lib/liblua.so"
-  ] ++ stdenv.lib.optional stdenv.isLinux "XFT_PACKAGE=--libs=\{-lX11 -lXft\}";
+  ];
+
+  preBuild = stdenv.lib.optionalString stdenv.isLinux ''
+    makeFlagsArray+=('XFT_PACKAGE=--cflags={} --libs={-lX11 -lXft}')
+  '';
 
   dontUseNinjaBuild = true;
   dontUseNinjaInstall = true;
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 81c254763d3a..c31284c2747f 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -9,11 +9,11 @@
 
 python3Packages.buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.70";
+  version = "0.71.0";
 
   src = fetchurl {
     url = "http://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "1g1xj86iph1a2k4n9yykq0gipbd5jdd7fsh9qpv4v2h5lggadjdd";
+    sha256 = "0mr3911ls5zp3z776ysrdm3sg89zg29r3ip23msydcdbl8wymw30";
   };
 
   buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
diff --git a/pkgs/applications/science/biology/sumatools/default.nix b/pkgs/applications/science/biology/sumatools/default.nix
new file mode 100644
index 000000000000..6f7227d7a3e9
--- /dev/null
+++ b/pkgs/applications/science/biology/sumatools/default.nix
@@ -0,0 +1,65 @@
+{ gccStdenv, fetchFromGitLab, zlib }:
+
+let
+  stdenv = gccStdenv;
+  meta = with stdenv.lib; {
+    description = "Fast and exact comparison and clustering of sequences";
+    homepage = https://metabarcoding.org/sumatra;
+    maintainers = [ maintainers.bzizou ];
+    platforms = platforms.unix;
+  };
+
+in rec {
+
+  # Suma library
+  sumalibs = stdenv.mkDerivation rec {
+    version = "1.0.34";
+    pname = "sumalibs";
+    src = fetchFromGitLab {
+      domain = "git.metabarcoding.org";
+      owner = "obitools";
+      repo = pname;
+      rev = "sumalib_v${version}";
+      sha256 = "0hwkrxzfz7m5wdjvmrhkjg8kis378iaqr5n4nhdhkwwhn8x1jn5a";
+    };
+    makeFlags = "PREFIX=$(out)";
+  };
+
+  # Sumatra
+  sumatra = stdenv.mkDerivation rec {
+    version = "1.0.34";
+    pname = "sumatra";
+    src = fetchFromGitLab {
+      domain = "git.metabarcoding.org";
+      owner = "obitools";
+      repo = pname;
+      rev = "${pname}_v${version}";
+      sha256 = "1bbpbdkshdc3xffqnr1qfy8qk64ldsmdc3s8mrcrlx132rgbi5f6";
+    };
+    buildInputs = [ sumalibs zlib ];
+    makeFlags = [
+      "LIBSUMA=${sumalibs}/lib/libsuma.a"
+      "LIBSUMAPATH=-L${sumalibs}"
+      "PREFIX=$(out)"
+    ];
+  };
+
+  # Sumaclust
+  sumaclust = stdenv.mkDerivation rec {
+    version = "1.0.34";
+    pname = "sumaclust";
+    src = fetchFromGitLab {
+      domain = "git.metabarcoding.org";
+      owner = "obitools";
+      repo = pname;
+      rev = "${pname}_v${version}";
+      sha256 = "0x8yi3k3jxhmv2krp4rcjlj2f9zg0qrk7gx4kpclf9c3yxgsgrds";
+    };
+    buildInputs = [ sumalibs ];
+    makeFlags = [
+      "LIBSUMA=${sumalibs}/lib/libsuma.a"
+      "LIBSUMAPATH=-L${sumalibs}"
+      "PREFIX=$(out)"
+    ];
+  };
+}
diff --git a/pkgs/applications/science/electronics/eagle/eagle.nix b/pkgs/applications/science/electronics/eagle/eagle.nix
index 831ec9662b09..286dbc07f3da 100644
--- a/pkgs/applications/science/electronics/eagle/eagle.nix
+++ b/pkgs/applications/science/electronics/eagle/eagle.nix
@@ -13,11 +13,11 @@ let
   in
   stdenv.mkDerivation rec {
     name = "eagle-${version}";
-    version = "9.3.1";
+    version = "9.3.2";
 
     src = fetchurl {
       url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz";
-      sha256 = "0hrbw368kskjzwjnqrri5j7c10d0z5m81h3s9zhqfrmwym42vdc5";
+      sha256 = "0xrrd2d86gxrkbqvssbg8zki40hk05h48w73b0hv7wnc7wg1msir";
     };
 
     desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index 7c32641e9c30..4111677ce455 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -108,6 +108,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     hydraPlatforms = platforms.linux;
 
-    maintainers = [ maintainers.peti ];
+    maintainers = with maintainers; [ peti timokau ];
   };
 }
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 8f96eb8f3060..503c98f55913 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg
 , zlib, libGLU_combined, libGLU, xorg }:
 
-let version = "4.2.2"; in
+let version = "4.2.3"; in
 
 stdenv.mkDerivation {
   name = "gmsh-${version}";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "e9ee9f5c606bbec5f2adbb8c3d6023c4e2577f487fa4e4ecfcfc94a241cc8dcc";
+    sha256 = "0n18wmj8i4m1pzri3r0676lx1427zf8qmsrgnn07drv6if1cia2q";
   };
 
   buildInputs = [ cmake openblasCompat gmm fltk libjpeg zlib libGLU_combined
diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix
index 101770da8885..ecc054df47e7 100644
--- a/pkgs/applications/version-management/git-review/default.nix
+++ b/pkgs/applications/version-management/git-review/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchurl, pythonPackages} :
+{ stdenv, fetchFromGitHub, pythonPackages} :
 
 pythonPackages.buildPythonApplication rec {
-  name = "git-review-${version}";
-  version = "1.27.0";
+  pname = "git-review";
+  version = "1.28.0";
 
   # Manually set version because prb wants to get it from the git
   # upstream repository (and we are installing from tarball instead)
   PBR_VERSION = "${version}";
 
-  postPatch = ''
-    sed -i -e '/argparse/d' requirements.txt
-  '';
-
-  src = fetchurl rec {
-    url = "https://github.com/openstack-infra/git-review/archive/${version}.tar.gz";
-    sha256 = "0smdkps9avnj58izyfc5m0amq8nafgs9iqlyaf7ncrlvypia1f3q";
+  src = fetchFromGitHub rec {
+    owner = "openstack-infra";
+    repo = pname;
+    rev = version;
+    sha256 = "1hgw1dkl94m3idv4izc7wf2j7al2c7nnsqywy7g53nzkv9pfv47s";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pbr requests setuptools ];
diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix
index 238540a1c981..0587bc9af767 100644
--- a/pkgs/applications/version-management/gogs/default.nix
+++ b/pkgs/applications/version-management/gogs/default.nix
@@ -27,8 +27,11 @@ buildGoPackage rec {
   nativeBuildInputs = [ makeWrapper ]
     ++ optional pamSupport pam;
 
-  buildFlags = optional sqliteSupport "-tags sqlite"
-    ++ optional pamSupport "-tags pam";
+  buildFlags = "-tags";
+
+  buildFlagsArray =
+    (  optional sqliteSupport "sqlite"
+    ++ optional pamSupport "pam");
 
   outputs = [ "bin" "out" "data" ];
 
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index b634625206a6..719626fe40a8 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -200,14 +200,14 @@ rec {
   # Get revisions from
   # https://github.com/docker/docker-ce/tree/v${version}/components/engine/hack/dockerfile/install/*
 
-  docker_18_09 = dockerGen rec {
-    version = "18.09.2";
-    rev = "62479626f213818ba5b4565105a05277308587d5"; # git commit
-    sha256 = "05kvpy1c4g661xfds6dfzb8r5q76ndblxjykfj06had18pv0xxd4";
-    runcRev = "09c8266bf2fcf9519a651b04ae54c967b9ab86ec";
-    runcSha256 = "08h45vs1f25byapqzy6x42r86m232z166v6z81gc2a3id8v0nzia";
-    containerdRev = "9754871865f7fe2f4e74d43e2fc7ccd237edcbce";
-    containerdSha256 = "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya";
+  docker_18_09 = makeOverridable dockerGen {
+    version = "18.09.5";
+    rev = "e8ff056dbcfadaeca12a5f508b0cec281126c01d";
+    sha256 = "16nd9vg2286m6v47fjq2zicmfvi8vwiwn24yylxia8b9mk417kdb";
+    runcRev = "2b18fe1d885ee5083ef9f0838fee39b62d653e30";
+    runcSha256 = "0g0d9mh5fcvsjgddiyw98ph5zpz5ivlwy89m45jxwbzkxb21gy7w";
+    containerdRev = "bb71b10fd8f58240ca47fbb579b9d1028eea7c84";
+    containerdSha256 = "0npbzixf3c0jvzm159vygvkydrr8h36c9sq50yv0mdinrys2bvg0";
     tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662";
     tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
   };
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 908e888503e7..04fead5209c0 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -47,9 +47,10 @@ stdenv.mkDerivation rec {
     sha256 = "08frr1fdjx8qcfh3fafn10kibdwbvkqqvfl7hpqbm7i9dg4f1zlq";
   };
 
+  nativeBuildInputs = [ python2 pkgconfig flex bison ];
   buildInputs =
-    [ python2 zlib pkgconfig glib ncurses perl pixman
-      vde2 texinfo flex bison makeWrapper lzo snappy
+    [ zlib glib ncurses perl pixman
+      vde2 texinfo makeWrapper lzo snappy
       gnutls nettle curl
     ]
     ++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix
index 364771de80fd..fa86257a1a95 100644
--- a/pkgs/applications/window-managers/awesome/default.nix
+++ b/pkgs/applications/window-managers/awesome/default.nix
@@ -42,17 +42,17 @@ with luaPackages; stdenv.mkDerivation rec {
   cmakeFlags = "-DOVERRIDE_VERSION=${version}";
 
   GI_TYPELIB_PATH = "${pango.out}/lib/girepository-1.0";
+  # LUA_CPATH and LUA_PATH are used only for *building*, see the --search flags
+  # below for how awesome finds the libraries it needs at runtime.
   LUA_CPATH = "${lgi}/lib/lua/${lua.luaversion}/?.so";
-  LUA_PATH  = "?.lua;${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua";
+  LUA_PATH  = "${lgi}/share/lua/${lua.luaversion}/?.lua;;";
 
   postInstall = ''
     wrapProgram $out/bin/awesome \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
       --add-flags '--search ${lgi}/lib/lua/${lua.luaversion}' \
       --add-flags '--search ${lgi}/share/lua/${lua.luaversion}' \
-      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-      --prefix LUA_PATH ';'  "${lgi}/share/lua/${lua.luaversion}/?.lua;${lgi}/share/lua/${lua.luaversion}/lgi/?.lua" \
-      --prefix LUA_CPATH ';' "${lgi}/lib/lua/${lua.luaversion}/?.so"
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
 
     wrapProgram $out/bin/awesome-client \
       --prefix PATH : "${which}/bin"
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index ad06b1ee832c..3299811c4978 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
       sha256 = "0r583nmqvq43ib93yv6flw8pj833v32lbs0q0xld56s3rnzvvdcp";
     })
     ./sway-config-no-nix-store-references.patch
+    ./load-configuration-from-etc.patch
   ];
 
   nativeBuildInputs = [ pkgconfig meson ninja scdoc ];
diff --git a/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch b/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch
new file mode 100644
index 000000000000..26a3d40d66cb
--- /dev/null
+++ b/pkgs/applications/window-managers/sway/load-configuration-from-etc.patch
@@ -0,0 +1,42 @@
+From 26f9c65ef037892977a824f0d7d7111066856b53 Mon Sep 17 00:00:00 2001
+From: Michael Weiss <dev.primeos@gmail.com>
+Date: Sat, 27 Apr 2019 14:26:16 +0200
+Subject: [PATCH] Load configs from /etc but fallback to /nix/store
+
+This change will load all configuration files from /etc, to make it easy
+to override them, but fallback to /nix/store/.../etc/sway/config to make
+Sway work out-of-the-box with the default configuration on non NixOS
+systems.
+---
+ meson.build   | 3 ++-
+ sway/config.c | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 02b5d606..c03a9c0f 100644
+--- a/meson.build
++++ b/meson.build
+@@ -129,7 +129,8 @@ if scdoc.found()
+ 	endforeach
+ endif
+ 
+-add_project_arguments('-DSYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
++add_project_arguments('-DSYSCONFDIR="/@0@"'.format(sysconfdir), language : 'c')
++add_project_arguments('-DNIX_SYSCONFDIR="/@0@"'.format(join_paths(prefix, sysconfdir)), language : 'c')
+ 
+ version = '"@0@"'.format(meson.project_version())
+ if git.found()
+diff --git a/sway/config.c b/sway/config.c
+index 4cd21bbc..dd855753 100644
+--- a/sway/config.c
++++ b/sway/config.c
+@@ -317,6 +317,7 @@ static char *get_config_path(void) {
+ 		"$XDG_CONFIG_HOME/i3/config",
+ 		SYSCONFDIR "/sway/config",
+ 		SYSCONFDIR "/i3/config",
++		NIX_SYSCONFDIR "/sway/config",
+ 	};
+ 
+ 	char *config_home = getenv("XDG_CONFIG_HOME");
+-- 
+2.19.2