summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS8
-rw-r--r--maintainers/maintainer-list.nix46
-rw-r--r--nixos/doc/manual/configuration/gpu-accel.xml25
-rw-r--r--nixos/doc/manual/man-nixos-enter.xml2
-rw-r--r--nixos/doc/manual/release-notes/rl-2009.xml61
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-amis.sh2
-rw-r--r--nixos/modules/misc/ids.nix4
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/rename.nix1
-rw-r--r--nixos/modules/security/acme.nix21
-rw-r--r--nixos/modules/services/hardware/undervolt.nix18
-rw-r--r--nixos/modules/services/logging/logrotate.nix146
-rw-r--r--nixos/modules/services/logging/logstash.nix6
-rw-r--r--nixos/modules/services/mail/dovecot.nix33
-rw-r--r--nixos/modules/services/misc/gitlab.nix8
-rw-r--r--nixos/modules/services/misc/gollum.nix7
-rw-r--r--nixos/modules/services/misc/ssm-agent.nix6
-rw-r--r--nixos/modules/services/monitoring/monit.nix18
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix27
-rw-r--r--nixos/modules/services/monitoring/smartd.nix6
-rw-r--r--nixos/modules/services/monitoring/zabbix-proxy.nix17
-rw-r--r--nixos/modules/services/monitoring/zabbix-server.nix17
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix19
-rw-r--r--nixos/modules/services/web-servers/meguca.nix174
-rw-r--r--nixos/modules/services/x11/imwheel.nix3
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh6
-rw-r--r--nixos/modules/virtualisation/cri-o.nix1
-rw-r--r--nixos/tests/all-tests.nix1
-rw-r--r--nixos/tests/bitwarden.nix188
-rw-r--r--nixos/tests/prometheus.nix7
-rw-r--r--nixos/tests/transmission.nix2
-rw-r--r--pkgs/applications/audio/ashuffle/default.nix26
-rw-r--r--pkgs/applications/audio/csound/default.nix4
-rw-r--r--pkgs/applications/audio/ft2-clone/default.nix4
-rw-r--r--pkgs/applications/audio/lv2-cpp-tools/default.nix28
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/audio/talentedhack/default.nix36
-rw-r--r--pkgs/applications/audio/virtual-ans/default.nix89
-rw-r--r--pkgs/applications/audio/vocproc/default.nix27
-rw-r--r--pkgs/applications/blockchains/bitcoin-abc.nix4
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/monero/default.nix4
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix6
-rw-r--r--pkgs/applications/graphics/qosmic/default.nix70
-rw-r--r--pkgs/applications/graphics/runwayml/default.nix9
-rw-r--r--pkgs/applications/misc/coolreader/default.nix26
-rw-r--r--pkgs/applications/misc/foot/default.nix38
-rw-r--r--pkgs/applications/misc/imag/default.nix63
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/mlterm/default.nix5
-rw-r--r--pkgs/applications/misc/moolticute/default.nix4
-rw-r--r--pkgs/applications/misc/rescuetime/default.nix12
-rw-r--r--pkgs/applications/misc/sidequest/default.nix4
-rw-r--r--pkgs/applications/misc/super_user_spark/default.nix32
-rw-r--r--pkgs/applications/misc/taskell/default.nix66
-rw-r--r--pkgs/applications/misc/wofi/default.nix5
-rw-r--r--pkgs/applications/misc/wofi/do_not_follow_symlinks.patch39
-rw-r--r--pkgs/applications/networking/browsers/eolie/default.nix18
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/atlantis/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kpt/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/ssm-agent/default.nix47
-rw-r--r--pkgs/applications/networking/cluster/tanka/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/nheko/default.nix5
-rw-r--r--pkgs/applications/networking/ipfs/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/ssb-patchwork/default.nix26
-rw-r--r--pkgs/applications/science/biology/star/default.nix4
-rw-r--r--pkgs/applications/science/electronics/adms/default.nix4
-rw-r--r--pkgs/applications/science/electronics/hyp2mat/default.nix6
-rw-r--r--pkgs/applications/science/electronics/vhd2vl/default.nix39
-rw-r--r--pkgs/applications/science/logic/z3/default.nix6
-rw-r--r--pkgs/applications/science/math/calculix/calculix.patch27
-rw-r--r--pkgs/applications/science/math/calculix/default.nix4
-rw-r--r--pkgs/applications/science/math/qalculate-gtk/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix15
-rw-r--r--pkgs/applications/video/streamlink-twitch-gui/bin.nix100
-rw-r--r--pkgs/applications/virtualization/docker-slim/default.nix4
-rw-r--r--pkgs/data/fonts/kanji-stroke-order-font/default.nix20
-rw-r--r--pkgs/data/fonts/recursive/default.nix12
-rw-r--r--pkgs/data/themes/arc/default.nix4
-rw-r--r--pkgs/desktops/deepin/dde-api/default.nix1
-rw-r--r--pkgs/development/compilers/llvm/rocm/clang.nix3
-rw-r--r--pkgs/development/compilers/llvm/rocm/default.nix4
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix8
-rw-r--r--pkgs/development/compilers/souffle/default.nix4
-rw-r--r--pkgs/development/coq-modules/coqprime/default.nix10
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix108
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-head.nix1
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml69
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix10
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix70
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1766
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix5
-rw-r--r--pkgs/development/interpreters/php/default.nix6
-rw-r--r--pkgs/development/libraries/amdvlk/default.nix4
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix62
-rw-r--r--pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch11
-rw-r--r--pkgs/development/libraries/draco/default.nix34
-rw-r--r--pkgs/development/libraries/duckdb/default.nix4
-rw-r--r--pkgs/development/libraries/fcft/default.nix7
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/libunibreak/default.nix20
-rw-r--r--pkgs/development/libraries/rocclr/default.nix14
-rw-r--r--pkgs/development/libraries/rocm-comgr/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-device-libs/default.nix7
-rw-r--r--pkgs/development/libraries/rocm-opencl-icd/default.nix2
-rw-r--r--pkgs/development/libraries/rocm-opencl-runtime/default.nix29
-rw-r--r--pkgs/development/libraries/rocm-runtime-ext/default.nix42
-rw-r--r--pkgs/development/libraries/rocm-runtime-ext/setup-hook.sh7
-rw-r--r--pkgs/development/libraries/rocm-runtime/default.nix31
-rw-r--r--pkgs/development/libraries/rocm-runtime/rocr-ext-dir.diff23
-rw-r--r--pkgs/development/libraries/rocm-thunk/default.nix4
-rw-r--r--pkgs/development/libraries/utf8proc/default.nix8
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix3
-rw-r--r--pkgs/development/libraries/zimg/default.nix4
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/default.nix28
-rw-r--r--pkgs/development/ocaml-modules/ocamlgraph/destdir.patch13
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix4
-rw-r--r--pkgs/development/python-modules/awkward1/default.nix4
-rw-r--r--pkgs/development/python-modules/behave/default.nix36
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix7
-rw-r--r--pkgs/development/python-modules/cucumber-tag-expressions/default.nix21
-rw-r--r--pkgs/development/python-modules/django-widget-tweaks/default.nix25
-rw-r--r--pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfxa/default.nix7
-rw-r--r--pkgs/development/python-modules/pytorch-lightning/default.nix46
-rw-r--r--pkgs/development/python-modules/rethinkdb/default.nix5
-rw-r--r--pkgs/development/python-modules/sabyenc3/default.nix22
-rw-r--r--pkgs/development/python-modules/zodb/default.nix17
-rw-r--r--pkgs/development/ruby-modules/solargraph/Gemfile.lock26
-rw-r--r--pkgs/development/ruby-modules/solargraph/gemset.nix56
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix4
-rw-r--r--pkgs/development/tools/azcopy/default.nix6
-rw-r--r--pkgs/development/tools/bazelisk/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/rocm-cmake/default.nix2
-rw-r--r--pkgs/development/tools/go-migrate/default.nix24
-rw-r--r--pkgs/development/tools/godot/headless.nix18
-rw-r--r--pkgs/development/tools/godot/server.nix18
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/default.nix35
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/hls-ghcide.nix24
-rwxr-xr-xpkgs/development/tools/haskell/haskell-language-server/update.sh2
-rw-r--r--pkgs/development/tools/lattice-diamond/default.nix3
-rw-r--r--pkgs/development/tools/metals/default.nix4
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix4
-rw-r--r--pkgs/development/tools/misc/fujprog/default.nix37
-rw-r--r--pkgs/development/tools/misc/replacement/default.nix46
-rw-r--r--pkgs/development/tools/ocaml/camlp4/default.nix5
-rw-r--r--pkgs/development/tools/pipenv/default.nix6
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rw-r--r--pkgs/development/tools/rebazel/default.nix21
-rw-r--r--pkgs/development/tools/rust/cargo-make/Cargo.lock176
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/maturin/default.nix6
-rw-r--r--pkgs/development/tools/summon/default.nix35
-rw-r--r--pkgs/development/tools/summon/resolve-paths.patch39
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/deno/update/common.ts15
-rw-r--r--pkgs/development/web/grails/default.nix4
-rw-r--r--pkgs/games/crawl/crawl_purify.patch43
-rw-r--r--pkgs/games/crawl/default.nix4
-rw-r--r--pkgs/games/dwarf-fortress/dfhack/default.nix29
-rw-r--r--pkgs/games/dwarf-fortress/twbt/default.nix13
-rw-r--r--pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in2
-rw-r--r--pkgs/games/hyperrogue/default.nix4
-rw-r--r--pkgs/games/legendary-gl/default.nix30
-rw-r--r--pkgs/games/minecraft-server/default.nix6
-rw-r--r--pkgs/games/sm64ex/default.nix69
-rw-r--r--pkgs/misc/screensavers/pipes/default.nix7
-rw-r--r--pkgs/os-specific/linux/iputils/default.nix27
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.7.nix4
-rw-r--r--pkgs/os-specific/linux/rtl8821cu/default.nix37
-rw-r--r--pkgs/servers/freeradius/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix2
-rw-r--r--pkgs/servers/home-assistant/default.nix4
-rw-r--r--pkgs/servers/meguca/default.nix50
-rw-r--r--pkgs/servers/meguca/server_deps.nix390
-rw-r--r--pkgs/servers/monitoring/loki/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix8
-rw-r--r--pkgs/servers/monitoring/prometheus/webui-yarndeps.nix16
-rw-r--r--pkgs/servers/monitoring/zabbix/server.nix11
-rw-r--r--pkgs/servers/monitoring/zabbix/versions.nix6
-rw-r--r--pkgs/servers/monitoring/zabbix/web.nix2
-rw-r--r--pkgs/servers/nosql/rethinkdb/default.nix18
-rw-r--r--pkgs/servers/sabnzbd/default.nix24
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix4
-rw-r--r--pkgs/servers/unifi/default.nix4
-rw-r--r--pkgs/tools/X11/xpra/default.nix5
-rw-r--r--pkgs/tools/X11/xpra/libfakeXinerama.nix3
-rw-r--r--pkgs/tools/admin/ansible/default.nix29
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix6
-rw-r--r--pkgs/tools/archivers/innoextract/default.nix4
-rw-r--r--pkgs/tools/archivers/maxcso/default.nix26
-rw-r--r--pkgs/tools/bluetooth/blueberry/default.nix96
-rw-r--r--pkgs/tools/filesystems/wiimms-iso-tools/default.nix37
-rw-r--r--pkgs/tools/filesystems/wiimms-iso-tools/fix-paths.diff12
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix8
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix7
-rw-r--r--pkgs/tools/misc/clpeak/default.nix25
-rw-r--r--pkgs/tools/misc/fzf/default.nix9
-rw-r--r--pkgs/tools/misc/mcfly/default.nix12
-rw-r--r--pkgs/tools/misc/pubs/default.nix27
-rw-r--r--pkgs/tools/misc/rargs/default.nix24
-rw-r--r--pkgs/tools/networking/clash/default.nix6
-rw-r--r--pkgs/tools/networking/croc/default.nix4
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--pkgs/tools/networking/shadowsocks-v2ray-plugin/default.nix23
-rw-r--r--pkgs/tools/networking/wireguard-tools/default.nix4
-rw-r--r--pkgs/tools/networking/wstunnel/default.nix18
-rw-r--r--pkgs/tools/security/bitwarden_rs/default.nix4
-rw-r--r--pkgs/tools/security/bitwarden_rs/vault.nix4
-rw-r--r--pkgs/tools/security/doppler/default.nix4
-rw-r--r--pkgs/tools/system/rocm-smi/default.nix4
-rw-r--r--pkgs/tools/system/smartmontools/default.nix5
-rw-r--r--pkgs/tools/system/storebrowse/default.nix44
-rw-r--r--pkgs/top-level/aliases.nix5
-rw-r--r--pkgs/top-level/all-packages.nix123
-rw-r--r--pkgs/top-level/coq-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix18
-rw-r--r--pkgs/top-level/python-packages.nix8
232 files changed, 4052 insertions, 2581 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index d362d857838..29fbfa2a0bc 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -195,10 +195,10 @@
 /pkgs/top-level/php-packages.nix         @NixOS/php
 
 # Podman, CRI-O modules and related
-/nixos/modules/virtualisation/containers.nix @NixOS/podman
-/nixos/modules/virtualisation/cri-o.nix      @NixOS/podman
-/nixos/modules/virtualisation/podman.nix     @NixOS/podman
-/nixos/tests/podman.nix                      @NixOS/podman
+/nixos/modules/virtualisation/containers.nix @NixOS/podman @zowoq
+/nixos/modules/virtualisation/cri-o.nix      @NixOS/podman @zowoq
+/nixos/modules/virtualisation/podman.nix     @NixOS/podman @zowoq
+/nixos/tests/podman.nix                      @NixOS/podman @zowoq
 
 # Blockchains
 /pkgs/applications/blockchains  @mmahut
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 0acf720c4eb..e53e8e5f832 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -254,6 +254,12 @@
     githubId = 732652;
     name = "Andreas Herrmann";
   };
+  ahrzb = {
+    email = "ahrzb5@gmail.com";
+    github = "ahrzb";
+    githubId = 5220438;
+    name = "AmirHossein Roozbahani";
+  };
   ahuzik = {
     email = "ales.guzik@gmail.com";
     github = "alesguzik";
@@ -3835,6 +3841,12 @@
     githubId = 51518420;
     name = "jitwit";
   };
+  jjjollyjim = {
+    email = "jamie@kwiius.com";
+    github = "JJJollyjim";
+    githubId = 691552;
+    name = "Jamie McClymont";
+  };
   jk = {
     email = "hello+nixpkgs@j-k.io";
     github = "06kellyjac";
@@ -5206,6 +5218,12 @@
     githubId = 35892750;
     name = "Maxine Aubrey";
   };
+  maxxk = {
+    email = "maxim.krivchikov@gmail.com";
+    github = "maxxk";
+    githubId = 1191859;
+    name = "Maxim Krivchikov";
+  };
   mbakke = {
     email = "mbakke@fastmail.com";
     github = "mbakke";
@@ -6359,6 +6377,12 @@
     githubId = 157610;
     name = "Piotr Bogdan";
   };
+  pblkt = {
+    email = "pebblekite@gmail.com";
+    github = "pblkt";
+    githubId = 6498458;
+    name = "pebble kite";
+  };
   pcarrier = {
     email = "pc@rrier.ca";
     github = "pcarrier";
@@ -6743,6 +6767,12 @@
     githubId = 115877;
     name = "Kenny Shen";
   };
+  quentini = {
+    email = "quentini@airmail.cc";
+    github = "QuentinI";
+    githubId = 18196237;
+    name = "Quentin Inkling";
+  };
   qyliss = {
     email = "hi@alyssa.is";
     github = "alyssais";
@@ -8121,6 +8151,12 @@
     githubId = 863327;
     name = "Tyler Benster";
   };
+  tcbravo = {
+    email = "tomas.bravo@protonmail.ch";
+    github = "tcbravo";
+    githubId = 66133083;
+    name = "Tomas Bravo";
+  };
   tckmn = {
     email = "andy@tck.mn";
     github = "tckmn";
@@ -9120,6 +9156,16 @@
       fingerprint = "85F8 E850 F8F2 F823 F934  535B EC50 6589 9AEA AF4C";
     }];
   };
+  yusdacra = {
+    email = "y.bera003.06@protonmail.com";
+    github = "yusdacra";
+    githubId = 19897088;
+    name = "Yusuf Bera Ertan";
+    keys = [{
+      longkeyid = "rsa2048/0x61807181F60EFCB2";
+      fingerprint = "9270 66BD 8125 A45B 4AC4 0326 6180 7181 F60E FCB2";
+    }];
+  };
   yvesf = {
     email = "yvesf+nix@xapek.org";
     github = "yvesf";
diff --git a/nixos/doc/manual/configuration/gpu-accel.xml b/nixos/doc/manual/configuration/gpu-accel.xml
index 9928121a56e..251e5c26ba4 100644
--- a/nixos/doc/manual/configuration/gpu-accel.xml
+++ b/nixos/doc/manual/configuration/gpu-accel.xml
@@ -70,35 +70,12 @@ Platform Vendor      Advanced Micro Devices, Inc.</screen>
 	Core Next</link> (GCN) GPUs are supported through the
 	<package>rocm-opencl-icd</package> package. Adding this package to
 	<xref linkend="opt-hardware.opengl.extraPackages"/> enables OpenCL
-	support. However, OpenCL Image support is provided through the
-	non-free <package>rocm-runtime-ext</package> package. This package can
-	be added to the same configuration option, but requires that
-	<varname>allowUnfree</varname> option is is enabled for nixpkgs.  Full
-	OpenCL support on supported AMD GPUs is thus enabled as follows:
+	support:
 
 	<programlisting><xref linkend="opt-hardware.opengl.extraPackages"/> = [
   rocm-opencl-icd
-  rocm-runtime-ext
 ];</programlisting>
       </para>
-
-      <para>
-	It is also possible to use the OpenCL Image extension without a
-	system-wide installation of the <package>rocm-runtime-ext</package>
-	package by setting the <varname>ROCR_EXT_DIR</varname> environment
-	variable to the directory that contains the extension:
-
-	<screen><prompt>$</prompt> export \
-ROCR_EXT_DIR=`nix-build '&lt;nixpkgs&gt;' --no-out-link -A rocm-runtime-ext`/lib/rocm-runtime-ext</screen>
-      </para>
-
-      <para>
-	With either approach, you can verify that OpenCL Image support
-	is indeed working with the <command>clinfo</command> command:
-
-	<screen><prompt>$</prompt> clinfo | grep Image
-  Image support      Yes</screen>
-      </para>
     </section>
 
     <section xml:id="sec-gpu-accel-opencl-intel">
diff --git a/nixos/doc/manual/man-nixos-enter.xml b/nixos/doc/manual/man-nixos-enter.xml
index c32e1c7f8ca..f533d66099d 100644
--- a/nixos/doc/manual/man-nixos-enter.xml
+++ b/nixos/doc/manual/man-nixos-enter.xml
@@ -136,7 +136,7 @@
    <filename>/mnt</filename>:
   </para>
 <screen>
-# nixos-enter /mnt
+# nixos-enter --root /mnt
 </screen>
   <para>
    Run a shell command:
diff --git a/nixos/doc/manual/release-notes/rl-2009.xml b/nixos/doc/manual/release-notes/rl-2009.xml
index f70b2f2856a..83bc2f82bbf 100644
--- a/nixos/doc/manual/release-notes/rl-2009.xml
+++ b/nixos/doc/manual/release-notes/rl-2009.xml
@@ -137,7 +137,7 @@ GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
    </listitem>
    <listitem>
     <para>
-     <varname>services.postfix.sslCACert</varname> was replaced by <varname>services.postfix.tlsTrustedAuthorities</varname> which now defaults to system certifcate authorities.
+     <varname>services.postfix.sslCACert</varname> was replaced by <varname>services.postfix.tlsTrustedAuthorities</varname> which now defaults to system certificate authorities.
     </para>
    </listitem>
    <listitem>
@@ -156,6 +156,45 @@ GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
        Support for built-in LCDs in various pieces of Logitech hardware (keyboards and USB speakers). <varname>hardware.logitech.lcd.enable</varname> enables support for all hardware supported by the g15daemon project.
      </para>
    </listitem>
+   <listitem>
+    <para>
+      Zabbix now defaults to 5.0, updated from 4.4. Please carefully read through
+      <link xlink:href="https://www.zabbix.com/documentation/current/manual/installation/upgrade/sources">the upgrade guide</link>
+      and apply any changes required. Be sure to take special note of the section on
+      <link xlink:href="https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500#enabling_extended_range_of_numeric_float_values">enabling extended range of numeric (float) values</link>
+      as you will need to apply this database migration manually.
+    </para>
+    <para>
+      If you are using Zabbix Server with a MySQL or MariaDB database you should note that using a character set of <literal>utf8</literal> and a collate of <literal>utf8_bin</literal> has become mandatory with
+      this release. See the upstream <link xlink:href="https://support.zabbix.com/browse/ZBX-17357">issue</link> for further discussion. Before upgrading you should check the character set and collation used by
+      your database and ensure they are correct:
+<programlisting>
+  SELECT
+    default_character_set_name,
+    default_collation_name
+  FROM
+    information_schema.schemata
+  WHERE
+    schema_name = 'zabbix';
+</programlisting>
+      If these values are not correct you should take a backup of your database and convert the character set and collation as required. Here is an
+      <link xlink:href="https://www.zabbix.com/forum/zabbix-help/396573-reinstall-after-upgrade?p=396891#post396891">example</link> of how to do so, taken from
+      the Zabbix forums:
+<programlisting>
+  ALTER DATABASE `zabbix` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
+
+  -- the following will produce a list of SQL commands you should subsequently execute
+  SELECT CONCAT("ALTER TABLE ", TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;") AS ExecuteTheString
+  FROM information_schema.`COLUMNS`
+  WHERE table_schema = "zabbix" AND COLLATION_NAME = "utf8_general_ci";
+</programlisting>
+    </para>
+   </listitem>
+   <listitem>
+     <para>
+      The NixOS module system now supports freeform modules as a mix between <literal>types.attrsOf</literal> and <literal>types.submodule</literal>. These allow you to explicitly declare a subset of options while still permitting definitions without an associated option. See <xref linkend='sec-freeform-modules'/> for how to use them.
+     </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -199,7 +238,7 @@ GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
      in the source tree for downloaded modules instead of using go's <link
      xlink:href="https://golang.org/cmd/go/#hdr-Module_proxy_protocol">module
      proxy protocol</link>. This storage format is simpler and therefore less
-     likekly to break with future versions of go. As a result
+     likely to break with future versions of go. As a result
      <literal>buildGoModule</literal> switched from
      <literal>modSha256</literal> to the <literal>vendorSha256</literal>
      attribute to pin fetched version data.
@@ -211,7 +250,7 @@ GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
      <link xlink:href="https://grafana.com/docs/grafana/latest/guides/whats-new-in-v6-4/">deprecated in Grafana</link>
      and the <package>phantomjs</package> project is
      <link xlink:href="https://github.com/ariya/phantomjs/issues/15344#issue-302015362">currently unmaintained</link>.
-     It can still be enabled by providing <literal>phantomJsSupport = true</literal> to the package instanciation:
+     It can still be enabled by providing <literal>phantomJsSupport = true</literal> to the package instantiation:
 <programlisting>{
   services.grafana.package = pkgs.grafana.overrideAttrs (oldAttrs: rec {
     phantomJsSupport = false;
@@ -223,7 +262,7 @@ GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost' WITH GRANT OPTION;
     <para>
       The <link linkend="opt-services.supybot.enable">supybot</link> module now uses <literal>/var/lib/supybot</literal>
       as its default <link linkend="opt-services.supybot.stateDir">stateDir</link> path if <literal>stateVersion</literal>
-      is 20.09 or higher. It also enables number of
+      is 20.09 or higher. It also enables a number of
       <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html#Sandboxing">systemd sandboxing options</link>
       which may possibly interfere with some plugins. If this is the case you can disable the options through attributes in
       <option>systemd.services.supybot.serviceConfig</option>.
@@ -697,6 +736,13 @@ CREATE ROLE postgres LOGIN SUPERUSER;
      The USBGuard module now removes options and instead hardcodes values for <literal>IPCAccessControlFiles</literal>, <literal>ruleFiles</literal>, and <literal>auditFilePath</literal>. Audit logs can be found in the journal.
     </para>
    </listitem>
+   <listitem>
+    <para>
+     The NixOS module system now evaluates option definitions more strictly, allowing it to detect a larger set of problems.
+     As a result, what previously evaluated may not do so anymore.
+     See <link xlink:href="https://github.com/NixOS/nixpkgs/pull/82743#issuecomment-674520472">the PR that changed this</link> for more info.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
@@ -918,6 +964,13 @@ services.transmission.settings.rpc-bind-address = "0.0.0.0";
       The packages <package>perl</package>, <package>rsync</package> and <package>strace</package> were removed from <option>systemPackages</option>. If you need them, install them again with <code><xref linkend="opt-environment.systemPackages"/> = with pkgs; [ perl rsync strace ];</code> in your <filename>configuration.nix</filename>.
     </para>
    </listitem>
+   <listitem>
+    <para>
+      The <literal>undervolt</literal> option no longer needs to apply its
+      settings every 30s. If they still become undone, open an issue and restore
+      the previous behaviour using <literal>undervolt.useTimer</literal>.
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 </section>
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index 145eb49ced7..89e24f2ccfd 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -29,7 +29,7 @@ log() {
     echo "$@" >&2
 }
 
-if [ -z "$1" ]; then
+if [ "$#" -ne 1 ]; then
     log "Usage: ./upload-amazon-image.sh IMAGE_OUTPUT"
     exit 1
 fi
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index bdb7fa3b12c..394da9a3889 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -321,7 +321,7 @@ in
       monetdb = 290;
       restic = 291;
       openvpn = 292;
-      meguca = 293;
+      # meguca = 293; # removed 2020-08-21
       yarn = 294;
       hdfs = 295;
       mapred = 296;
@@ -622,7 +622,7 @@ in
       monetdb = 290;
       restic = 291;
       openvpn = 292;
-      meguca = 293;
+      # meguca = 293; # removed 2020-08-21
       yarn = 294;
       hdfs = 295;
       mapred = 296;
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 522a7992919..aee1fdb368d 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -886,7 +886,6 @@
   ./services/web-servers/lighttpd/collectd.nix
   ./services/web-servers/lighttpd/default.nix
   ./services/web-servers/lighttpd/gitweb.nix
-  ./services/web-servers/meguca.nix
   ./services/web-servers/mighttpd2.nix
   ./services/web-servers/minio.nix
   ./services/web-servers/molly-brown.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 86cd3bf8dcf..1fe00e9142b 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -48,6 +48,7 @@ with lib;
       instead, or any other display manager in NixOS as they all support auto-login.
     '')
     (mkRemovedOptionModule [ "services" "dnscrypt-proxy" ] "Use services.dnscrypt-proxy2 instead")
+    (mkRemovedOptionModule [ "services" "meguca" ] "Use meguca has been removed from nixpkgs")
     (mkRemovedOptionModule ["hardware" "brightnessctl" ] ''
       The brightnessctl module was removed because newer versions of
       brightnessctl don't require the udev rules anymore (they can use the
diff --git a/nixos/modules/security/acme.nix b/nixos/modules/security/acme.nix
index 1f63e7b88bd..29635dbe864 100644
--- a/nixos/modules/security/acme.nix
+++ b/nixos/modules/security/acme.nix
@@ -150,6 +150,14 @@ let
         '';
       };
 
+      extraLegoFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Additional global flags to pass to all lego commands.
+        '';
+      };
+
       extraLegoRenewFlags = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -157,6 +165,14 @@ let
           Additional flags to pass to lego renew.
         '';
       };
+
+      extraLegoRunFlags = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Additional flags to pass to lego run.
+        '';
+      };
     };
   };
 
@@ -313,9 +329,10 @@ in
                           ++ optionals (data.dnsProvider != null && !data.dnsPropagationCheck) [ "--dns.disable-cp" ]
                           ++ concatLists (mapAttrsToList (name: root: [ "-d" name ]) data.extraDomains)
                           ++ (if data.dnsProvider != null then [ "--dns" data.dnsProvider ] else [ "--http" "--http.webroot" data.webroot ])
-                          ++ optionals (cfg.server != null || data.server != null) ["--server" (if data.server == null then cfg.server else data.server)];
+                          ++ optionals (cfg.server != null || data.server != null) ["--server" (if data.server == null then cfg.server else data.server)]
+                          ++ data.extraLegoFlags;
                 certOpts = optionals data.ocspMustStaple [ "--must-staple" ];
-                runOpts = escapeShellArgs (globalOpts ++ [ "run" ] ++ certOpts);
+                runOpts = escapeShellArgs (globalOpts ++ [ "run" ] ++ certOpts ++ data.extraLegoRunFlags);
                 renewOpts = escapeShellArgs (globalOpts ++
                   [ "renew" "--days" (toString cfg.validMinDays) ] ++
                   certOpts ++ data.extraLegoRenewFlags);
diff --git a/nixos/modules/services/hardware/undervolt.nix b/nixos/modules/services/hardware/undervolt.nix
index 828032dc573..054ffa35050 100644
--- a/nixos/modules/services/hardware/undervolt.nix
+++ b/nixos/modules/services/hardware/undervolt.nix
@@ -103,6 +103,17 @@ in
         The temperature target on battery power in Celsius degrees.
       '';
     };
+
+    useTimer = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to set a timer that applies the undervolt settings every 30s.
+        This will cause spam in the journal but might be required for some
+        hardware under specific conditions.
+        Enable this if your undervolt settings don't hold.
+      '';
+    };
   };
 
   config = mkIf cfg.enable {
@@ -114,6 +125,11 @@ in
       path = [ pkgs.undervolt ];
 
       description = "Intel Undervolting Service";
+
+      # Apply undervolt on boot, nixos generation switch and resume
+      wantedBy = [ "multi-user.target" "post-resume.target" ];
+      after = [ "post-resume.target" ]; # Not sure why but it won't work without this
+
       serviceConfig = {
         Type = "oneshot";
         Restart = "no";
@@ -121,7 +137,7 @@ in
       };
     };
 
-    systemd.timers.undervolt = {
+    systemd.timers.undervolt = mkIf cfg.useTimer {
       description = "Undervolt timer to ensure voltage settings are always applied";
       partOf = [ "undervolt.service" ];
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix
index 565618b27a8..7d6102b8255 100644
--- a/nixos/modules/services/logging/logrotate.nix
+++ b/nixos/modules/services/logging/logrotate.nix
@@ -5,54 +5,93 @@ with lib;
 let
   cfg = config.services.logrotate;
 
-  pathOptions = {
+  pathOpts = {
     options = {
+      enable = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to enable log rotation for this path. This can be used to explicitly disable
+          logging that has been configured by NixOS.
+        '';
+      };
+
       path = mkOption {
         type = types.str;
-        description = "The path to log files to be rotated";
+        description = ''
+          The path to log files to be rotated.
+        '';
       };
+
       user = mkOption {
-        type = types.str;
-        description = "The user account to use for rotation";
+        type = with types; nullOr str;
+        default = null;
+        description = ''
+          The user account to use for rotation.
+        '';
       };
+
       group = mkOption {
-        type = types.str;
-        description = "The group to use for rotation";
+        type = with types; nullOr str;
+        default = null;
+        description = ''
+          The group to use for rotation.
+        '';
       };
+
       frequency = mkOption {
-        type = types.enum [
-          "daily" "weekly" "monthly" "yearly"
-        ];
+        type = types.enum [ "daily" "weekly" "monthly" "yearly" ];
         default = "daily";
-        description = "How often to rotate the logs";
+        description = ''
+          How often to rotate the logs.
+        '';
       };
+
       keep = mkOption {
         type = types.int;
         default = 20;
-        description = "How many rotations to keep";
+        description = ''
+          How many rotations to keep.
+        '';
       };
+
       extraConfig = mkOption {
         type = types.lines;
         default = "";
-        description = "Extra logrotate config options for this path";
+        description = ''
+          Extra logrotate config options for this path. Refer to
+          <link xlink:href="https://linux.die.net/man/8/logrotate"/> for details.
+        '';
+      };
+
+      priority = mkOption {
+        type = types.int;
+        default = 1000;
+        description = ''
+          Order of this logrotate block in relation to the others. The semantics are
+          the same as with `lib.mkOrder`. Smaller values have a greater priority.
+        '';
       };
     };
-  };
 
-  pathConfig = options: ''
-    "${options.path}" {
-      su ${options.user} ${options.group}
-      ${options.frequency}
+    config.extraConfig = ''
       missingok
       notifempty
-      rotate ${toString options.keep}
-      ${options.extraConfig}
+    '';
+  };
+
+  mkConf = pathOpts: ''
+    # generated by NixOS using the `services.logrotate.paths.${pathOpts.name}` attribute set
+    "${pathOpts.path}" {
+      ${optionalString (pathOpts.user != null || pathOpts.group != null) "su ${pathOpts.user} ${pathOpts.group}"}
+      ${pathOpts.frequency}
+      rotate ${toString pathOpts.keep}
+      ${pathOpts.extraConfig}
     }
   '';
 
-  configFile = pkgs.writeText "logrotate.conf" (
-    (concatStringsSep "\n" ((map pathConfig cfg.paths) ++ [cfg.extraConfig]))
-  );
+  paths = sortProperties (mapAttrsToList (name: pathOpts: pathOpts // { name = name; }) (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths));
+  configFile = pkgs.writeText "logrotate.conf" (concatStringsSep "\n" ((map mkConf paths) ++ [ cfg.extraConfig ]));
 
 in
 {
@@ -65,41 +104,66 @@ in
       enable = mkEnableOption "the logrotate systemd service";
 
       paths = mkOption {
-        type = types.listOf (types.submodule pathOptions);
-        default = [];
-        description = "List of attribute sets with paths to rotate";
-        example = {
-          "/var/log/myapp/*.log" = {
-            user = "myuser";
-            group = "mygroup";
-            rotate = "weekly";
-            keep = 5;
-          };
-        };
+        type = with types; attrsOf (submodule pathOpts);
+        default = {};
+        description = ''
+          Attribute set of paths to rotate. The order each block appears in the generated configuration file
+          can be controlled by the <link linkend="opt-services.logrotate.paths._name_.priority">priority</link> option
+          using the same semantics as `lib.mkOrder`. Smaller values have a greater priority.
+        '';
+        example = literalExample ''
+          {
+            httpd = {
+              path = "/var/log/httpd/*.log";
+              user = config.services.httpd.user;
+              group = config.services.httpd.group;
+              keep = 7;
+            };
+
+            myapp = {
+              path = "/var/log/myapp/*.log";
+              user = "myuser";
+              group = "mygroup";
+              frequency = "weekly";
+              keep = 5;
+              priority = 1;
+            };
+          }
+        '';
       };
 
       extraConfig = mkOption {
         default = "";
         type = types.lines;
         description = ''
-          Extra contents to add to the logrotate config file.
-          See https://linux.die.net/man/8/logrotate
+          Extra contents to append to the logrotate configuration file. Refer to
+          <link xlink:href="https://linux.die.net/man/8/logrotate"/> for details.
         '';
       };
     };
   };
 
   config = mkIf cfg.enable {
-    systemd.services.logrotate = {
-      description   = "Logrotate Service";
-      wantedBy      = [ "multi-user.target" ];
-      startAt       = "*-*-* *:05:00";
+    assertions = mapAttrsToList (name: pathOpts:
+      { assertion = (pathOpts.user != null) == (pathOpts.group != null);
+        message = ''
+          If either of `services.logrotate.paths.${name}.user` or `services.logrotate.paths.${name}.group` are specified then *both* must be specified.
+        '';
+      }
+    ) cfg.paths;
 
-      serviceConfig.Restart = "no";
-      serviceConfig.User    = "root";
+    systemd.services.logrotate = {
+      description = "Logrotate Service";
+      wantedBy = [ "multi-user.target" ];
+      startAt = "*-*-* *:05:00";
       script = ''
         exec ${pkgs.logrotate}/sbin/logrotate ${configFile}
       '';
+
+      serviceConfig = {
+        Restart = "no";
+        User = "root";
+      };
     };
   };
 }
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index 21a83803fd8..bf92425f998 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -4,13 +4,9 @@ with lib;
 
 let
   cfg = config.services.logstash;
-  pluginPath = lib.concatStringsSep ":" cfg.plugins;
-  havePluginPath = lib.length cfg.plugins > 0;
   ops = lib.optionalString;
   verbosityFlag = "--log.level " + cfg.logLevel;
 
-  pluginsPath = "--path.plugins ${pluginPath}";
-
   logstashConf = pkgs.writeText "logstash.conf" ''
     input {
       ${cfg.inputConfig}
@@ -173,7 +169,7 @@ in
         ExecStart = concatStringsSep " " (filter (s: stringLength s != 0) [
           "${cfg.package}/bin/logstash"
           "-w ${toString cfg.filterWorkers}"
-          (ops havePluginPath pluginsPath)
+          (concatMapStringsSep " " (x: "--path.plugins ${x}") cfg.plugins)
           "${verbosityFlag}"
           "-f ${logstashConf}"
           "--path.settings ${logstashSettingsDir}"
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 51cbcbf1cbc..c166ef68f29 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ options, config, lib, pkgs, ... }:
 
 with lib;
 
@@ -83,11 +83,11 @@ let
     )
 
     (
-      optionalString (cfg.mailboxes != []) ''
+      optionalString (cfg.mailboxes != {}) ''
         protocol imap {
           namespace inbox {
             inbox=yes
-            ${concatStringsSep "\n" (map mailboxConfig cfg.mailboxes)}
+            ${concatStringsSep "\n" (map mailboxConfig (attrValues cfg.mailboxes))}
           }
         }
       ''
@@ -131,12 +131,13 @@ let
     special_use = \${toString mailbox.specialUse}
   '' + "}";
 
-  mailboxes = { ... }: {
+  mailboxes = { name, ... }: {
     options = {
       name = mkOption {
-        type = types.nullOr (types.strMatching ''[^"]+'');
+        type = types.strMatching ''[^"]+'';
         example = "Spam";
-        default = null;
+        default = name;
+        readOnly = true;
         description = "The name of the mailbox.";
       };
       auto = mkOption {
@@ -335,19 +336,11 @@ in
     };
 
     mailboxes = mkOption {
-      type = with types; let m = submodule mailboxes; in either (listOf m) (attrsOf m);
+      type = with types; coercedTo
+        (listOf unspecified)
+        (list: listToAttrs (map (entry: { name = entry.name; value = removeAttrs entry ["name"]; }) list))
+        (attrsOf (submodule mailboxes));
       default = {};
-      apply = x:
-        if isList x then warn "Declaring `services.dovecot2.mailboxes' as a list is deprecated and will break eval in 21.03!" x
-        else mapAttrsToList (name: value:
-          if value.name != null
-            then throw ''
-              When specifying dovecot2 mailboxes as attributes, declaring
-              a `name'-attribute is prohibited! The name ${value.name} should
-              be the attribute key!
-            ''
-          else value // { inherit name; }
-        ) x;
       example = literalExample ''
         {
           Spam = { specialUse = "Junk"; auto = "create"; };
@@ -471,6 +464,10 @@ in
 
     environment.systemPackages = [ dovecotPkg ];
 
+    warnings = mkIf (any isList options.services.dovecot2.mailboxes.definitions) [
+      "Declaring `services.dovecot2.mailboxes' as a list is deprecated and will break eval in 21.03! See the release notes for more info for migration."
+    ];
+
     assertions = [
       {
         assertion = intersectLists cfg.protocols [ "pop3" "imap" ] != [];
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 5d8de3b1bbd..425f35f37cb 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -54,7 +54,7 @@ let
     '') gitlabConfig.production.repositories.storages))}
   '';
 
-  gitlabShellConfig = {
+  gitlabShellConfig = flip recursiveUpdate cfg.extraShellConfig {
     user = cfg.user;
     gitlab_url = "http+unix://${pathUrlQuote gitlabSocket}";
     http_settings.self_signed_cert = false;
@@ -517,6 +517,12 @@ in {
         '';
       };
 
+      extraShellConfig = mkOption {
+        type = types.attrs;
+        default = {};
+        description = "Extra configuration to merge into shell-config.yml";
+      };
+
       extraConfig = mkOption {
         type = types.attrs;
         default = {};
diff --git a/nixos/modules/services/misc/gollum.nix b/nixos/modules/services/misc/gollum.nix
index 8842e1e4d90..0c9c7548305 100644
--- a/nixos/modules/services/misc/gollum.nix
+++ b/nixos/modules/services/misc/gollum.nix
@@ -50,6 +50,12 @@ in
       description = "Parse and interpret emoji tags";
     };
 
+    h1-title = mkOption {
+      type = types.bool;
+      default = false;
+      description = "Use the first h1 as page title";
+    };
+
     branch = mkOption {
       type = types.str;
       default = "master";
@@ -102,6 +108,7 @@ in
             --ref ${cfg.branch} \
             ${optionalString cfg.mathjax "--mathjax"} \
             ${optionalString cfg.emoji "--emoji"} \
+            ${optionalString cfg.h1-title "--h1-title"} \
             ${optionalString (cfg.allowUploads != null) "--allow-uploads ${cfg.allowUploads}"} \
             ${cfg.stateDir}
         '';
diff --git a/nixos/modules/services/misc/ssm-agent.nix b/nixos/modules/services/misc/ssm-agent.nix
index f7c05deeecb..00e806695fd 100644
--- a/nixos/modules/services/misc/ssm-agent.nix
+++ b/nixos/modules/services/misc/ssm-agent.nix
@@ -29,13 +29,15 @@ in {
 
   config = mkIf cfg.enable {
     systemd.services.ssm-agent = {
+      users.extraUsers.ssm-user = {};
+
       inherit (cfg.package.meta) description;
       after    = [ "network.target" ];
       wantedBy = [ "multi-user.target" ];
 
-      path = [ fake-lsb-release ];
+      path = [ fake-lsb-release pkgs.coreutils ];
       serviceConfig = {
-        ExecStart = "${cfg.package}/bin/agent";
+        ExecStart = "${cfg.package}/bin/amazon-ssm-agent";
         KillMode = "process";
         Restart = "on-failure";
         RestartSec = "15min";
diff --git a/nixos/modules/services/monitoring/monit.nix b/nixos/modules/services/monitoring/monit.nix
index ca935227217..aa51b83912c 100644
--- a/nixos/modules/services/monitoring/monit.nix
+++ b/nixos/modules/services/monitoring/monit.nix
@@ -4,19 +4,29 @@ with lib;
 
 let
   cfg = config.services.monit;
+  extraConfig = pkgs.writeText "monitConfig" cfg.extraConfig;
 in
 
 {
+  imports = [
+    (mkRenamedOptionModule [ "services" "monit" "config" ] ["services" "monit" "extraConfig" ])
+  ];
+
   options.services.monit = {
 
     enable = mkEnableOption "Monit";
 
-    config = mkOption {
+    configFiles = mkOption {
+      type = types.listOf types.path;
+      default = [];
+      description = "List of paths to be included in the monitrc file";
+    };
+
+    extraConfig = mkOption {
       type = types.lines;
       default = "";
-      description = "monitrc content";
+      description = "Additional monit config as string";
     };
-
   };
 
   config = mkIf cfg.enable {
@@ -24,7 +34,7 @@ in
     environment.systemPackages = [ pkgs.monit ];
 
     environment.etc.monitrc = {
-      text = cfg.config;
+      text = concatMapStringsSep "\n" (path: "include ${path}")  (cfg.configFiles ++ [extraConfig]);
       mode = "0400";
     };
 
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 84a72afac2f..d7e06484b69 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -46,7 +46,7 @@ let
   cmdlineArgs = cfg.extraFlags ++ [
     "--storage.tsdb.path=${workingDir}/data/"
     "--config.file=${prometheusYml}"
-    "--web.listen-address=${cfg.listenAddress}"
+    "--web.listen-address=${cfg.listenAddress}:${builtins.toString cfg.port}"
     "--alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity}"
     "--alertmanager.timeout=${toString cfg.alertmanagerTimeout}s"
   ] ++
@@ -489,9 +489,17 @@ in {
       '';
     };
 
+    port = mkOption {
+      type = types.port;
+      default = 9090;
+      description = ''
+        Port to listen on.
+      '';
+    };
+
     listenAddress = mkOption {
       type = types.str;
-      default = "0.0.0.0:9090";
+      default = "0.0.0.0";
       description = ''
         Address to listen on for the web interface, API, and telemetry.
       '';
@@ -619,6 +627,21 @@ in {
   };
 
   config = mkIf cfg.enable {
+    assertions = [
+      ( let
+          legacy = builtins.match "(.*):(.*)" cfg.listenAddress;
+        in {
+          assertion = legacy == null;
+          message = ''
+            Do not specify the port for Prometheus to listen on in the
+            listenAddress option; use the port option instead:
+              services.prometheus.listenAddress = ${builtins.elemAt legacy 0};
+              services.prometheus.port = ${builtins.elemAt legacy 1};
+          '';
+        }
+      )
+    ];
+
     users.groups.prometheus.gid = config.ids.gids.prometheus;
     users.users.prometheus = {
       description = "Prometheus daemon user";
diff --git a/nixos/modules/services/monitoring/smartd.nix b/nixos/modules/services/monitoring/smartd.nix
index a3612be3cc2..c72b4abfcdc 100644
--- a/nixos/modules/services/monitoring/smartd.nix
+++ b/nixos/modules/services/monitoring/smartd.nix
@@ -20,7 +20,7 @@ let
       ${pkgs.coreutils}/bin/cat << EOF
       From: smartd on ${host} <${nm.sender}>
       To: undisclosed-recipients:;
-      Subject: SMART error on $SMARTD_DEVICESTRING: $SMARTD_FAILTYPE
+      Subject: $SMARTD_SUBJECT
 
       $SMARTD_FULLMESSAGE
       EOF
@@ -239,11 +239,7 @@ in
 
     systemd.services.smartd = {
       description = "S.M.A.R.T. Daemon";
-
       wantedBy = [ "multi-user.target" ];
-
-      path = [ pkgs.nettools ]; # for hostname and dnsdomanname calls in smartd
-
       serviceConfig.ExecStart = "${pkgs.smartmontools}/sbin/smartd ${lib.concatStringsSep " " cfg.extraOptions} --no-fork --configfile=${smartdConf}";
     };
 
diff --git a/nixos/modules/services/monitoring/zabbix-proxy.nix b/nixos/modules/services/monitoring/zabbix-proxy.nix
index d51507c91a1..2c8b8b92cb3 100644
--- a/nixos/modules/services/monitoring/zabbix-proxy.nix
+++ b/nixos/modules/services/monitoring/zabbix-proxy.nix
@@ -5,8 +5,8 @@ let
   pgsql = config.services.postgresql;
   mysql = config.services.mysql;
 
-  inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption;
-  inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
+  inherit (lib) mkAfter mkDefault mkEnableOption mkIf mkMerge mkOption;
+  inherit (lib) attrValues concatMapStringsSep getName literalExample optional optionalAttrs optionalString types;
   inherit (lib.generators) toKeyValue;
 
   user = "zabbix";
@@ -232,14 +232,15 @@ in
     services.mysql = optionalAttrs mysqlLocal {
       enable = true;
       package = mkDefault pkgs.mariadb;
-      ensureDatabases = [ cfg.database.name ];
-      ensureUsers = [
-        { name = cfg.database.user;
-          ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
-        }
-      ];
     };
 
+    systemd.services.mysql.postStart = mkAfter (optionalString mysqlLocal ''
+      ( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;"
+        echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${if (getName config.services.mysql.package == getName pkgs.mariadb) then "unix_socket" else "auth_socket"};"
+        echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';"
+      ) | ${config.services.mysql.package}/bin/mysql -N
+    '');
+
     services.postgresql = optionalAttrs pgsqlLocal {
       enable = true;
       ensureDatabases = [ cfg.database.name ];
diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix
index df09488a8cc..c8658634ecb 100644
--- a/nixos/modules/services/monitoring/zabbix-server.nix
+++ b/nixos/modules/services/monitoring/zabbix-server.nix
@@ -5,8 +5,8 @@ let
   pgsql = config.services.postgresql;
   mysql = config.services.mysql;
 
-  inherit (lib) mkDefault mkEnableOption mkIf mkMerge mkOption;
-  inherit (lib) attrValues concatMapStringsSep literalExample optional optionalAttrs optionalString types;
+  inherit (lib) mkAfter mkDefault mkEnableOption mkIf mkMerge mkOption;
+  inherit (lib) attrValues concatMapStringsSep getName literalExample optional optionalAttrs optionalString types;
   inherit (lib.generators) toKeyValue;
 
   user = "zabbix";
@@ -220,14 +220,15 @@ in
     services.mysql = optionalAttrs mysqlLocal {
       enable = true;
       package = mkDefault pkgs.mariadb;
-      ensureDatabases = [ cfg.database.name ];
-      ensureUsers = [
-        { name = cfg.database.user;
-          ensurePermissions = { "${cfg.database.name}.*" = "ALL PRIVILEGES"; };
-        }
-      ];
     };
 
+    systemd.services.mysql.postStart = mkAfter (optionalString mysqlLocal ''
+      ( echo "CREATE DATABASE IF NOT EXISTS \`${cfg.database.name}\` CHARACTER SET utf8 COLLATE utf8_bin;"
+        echo "CREATE USER IF NOT EXISTS '${cfg.database.user}'@'localhost' IDENTIFIED WITH ${if (getName config.services.mysql.package == getName pkgs.mariadb) then "unix_socket" else "auth_socket"};"
+        echo "GRANT ALL PRIVILEGES ON \`${cfg.database.name}\`.* TO '${cfg.database.user}'@'localhost';"
+      ) | ${config.services.mysql.package}/bin/mysql -N
+    '');
+
     services.postgresql = optionalAttrs pgsqlLocal {
       enable = true;
       ensureDatabases = [ cfg.database.name ];
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index 46660151f76..fc4c2945394 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -661,6 +661,25 @@ in
       pkg
     ];
 
+    services.logrotate = optionalAttrs (cfg.logFormat != "none") {
+      enable = mkDefault true;
+      paths.httpd = {
+        path = "${cfg.logDir}/*.log";
+        user = cfg.user;
+        group = cfg.group;
+        frequency = "daily";
+        keep = 28;
+        extraConfig = ''
+          sharedscripts
+          compress
+          delaycompress
+          postrotate
+            systemctl reload httpd.service > /dev/null 2>/dev/null || true
+          endscript
+        '';
+      };
+    };
+
     services.httpd.phpOptions =
       ''
         ; Needed for PHP's mail() function.
diff --git a/nixos/modules/services/web-servers/meguca.nix b/nixos/modules/services/web-servers/meguca.nix
deleted file mode 100644
index 5a00070dc94..00000000000
--- a/nixos/modules/services/web-servers/meguca.nix
+++ /dev/null
@@ -1,174 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-let
-  cfg = config.services.meguca;
-  postgres = config.services.postgresql;
-in with lib; {
-  options.services.meguca = {
-    enable = mkEnableOption "meguca";
-
-    dataDir = mkOption {
-      type = types.path;
-      default = "/var/lib/meguca";
-      example = "/home/okina/meguca";
-      description = "Location where meguca stores it's database and links.";
-    };
-
-    password = mkOption {
-      type = types.str;
-      default = "meguca";
-      example = "dumbpass";
-      description = "Password for the meguca database.";
-    };
-
-    passwordFile = mkOption {
-      type = types.path;
-      default = "/run/keys/meguca-password-file";
-      example = "/home/okina/meguca/keys/pass";
-      description = "Password file for the meguca database.";
-    };
-
-    reverseProxy = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = "192.168.1.5";
-      description = "Reverse proxy IP.";
-    };
-
-    sslCertificate = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = "/home/okina/meguca/ssl.cert";
-      description = "Path to the SSL certificate.";
-    };
-
-    listenAddress = mkOption {
-      type = types.nullOr types.str;
-      default = null;
-      example = "127.0.0.1:8000";
-      description = "Listen on a specific IP address and port.";
-    };
-
-    cacheSize = mkOption {
-      type = types.nullOr types.int;
-      default = null;
-      example = 256;
-      description = "Cache size in MB.";
-    };
-
-    postgresArgs = mkOption {
-      type = types.str;
-      example = "user=meguca password=dumbpass dbname=meguca sslmode=disable";
-      description = "Postgresql connection arguments.";
-    };
-
-    postgresArgsFile = mkOption {
-      type = types.path;
-      default = "/run/keys/meguca-postgres-args";
-      example = "/home/okina/meguca/keys/postgres";
-      description = "Postgresql connection arguments file.";
-    };
-
-    compressTraffic = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Compress all traffic with gzip.";
-    };
-
-    assumeReverseProxy = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Assume the server is behind a reverse proxy, when resolving client IPs.";
-    };
-
-    httpsOnly = mkOption {
-      type = types.bool;
-      default = false;
-      description = "Serve and listen only through HTTPS.";
-    };
-
-    videoPaths = mkOption {
-      type = types.listOf types.path;
-      default = [];
-      example = [ "/home/okina/Videos/tehe_pero.webm" ];
-      description = "Videos that will be symlinked into www/videos.";
-    };
-  };
-
-  config = mkIf cfg.enable {
-    security.sudo.enable = cfg.enable;
-    services.postgresql.enable = cfg.enable;
-    services.postgresql.package = pkgs.postgresql_11;
-    services.meguca.passwordFile = mkDefault (pkgs.writeText "meguca-password-file" cfg.password);
-    services.meguca.postgresArgsFile = mkDefault (pkgs.writeText "meguca-postgres-args" cfg.postgresArgs);
-    services.meguca.postgresArgs = mkDefault "user=meguca password=${cfg.password} dbname=meguca sslmode=disable";
-
-    systemd.services.meguca = {
-      description = "meguca";
-      after = [ "network.target" "postgresql.service" ];
-      wantedBy = [ "multi-user.target" ];
-
-      preStart = ''
-        # Ensure folder exists or create it and links and permissions are correct
-        mkdir -p ${escapeShellArg cfg.dataDir}/www
-        rm -rf ${escapeShellArg cfg.dataDir}/www/videos
-        ln -sf ${pkgs.meguca}/share/meguca/www/* ${escapeShellArg cfg.dataDir}/www
-        unlink ${escapeShellArg cfg.dataDir}/www/videos
-        mkdir -p ${escapeShellArg cfg.dataDir}/www/videos
-
-        for vid in ${escapeShellArg cfg.videoPaths}; do
-          ln -sf $vid ${escapeShellArg cfg.dataDir}/www/videos
-        done
-
-        chmod 750 ${escapeShellArg cfg.dataDir}
-        chown -R meguca:meguca ${escapeShellArg cfg.dataDir}
-
-        # Ensure the database is correct or create it
-        ${pkgs.sudo}/bin/sudo -u ${postgres.superUser} ${postgres.package}/bin/createuser \
-          -SDR meguca || true
-        ${pkgs.sudo}/bin/sudo -u ${postgres.superUser} ${postgres.package}/bin/createdb \
-          -T template0 -E UTF8 -O meguca meguca || true
-        ${pkgs.sudo}/bin/sudo -u meguca ${postgres.package}/bin/psql \
-          -c "ALTER ROLE meguca WITH PASSWORD '$(cat ${escapeShellArg cfg.passwordFile})';" || true
-      '';
-
-    script = ''
-      cd ${escapeShellArg cfg.dataDir}
-
-      ${pkgs.meguca}/bin/meguca -d "$(cat ${escapeShellArg cfg.postgresArgsFile})"''
-      + optionalString (cfg.reverseProxy != null) " -R ${cfg.reverseProxy}"
-      + optionalString (cfg.sslCertificate != null) " -S ${cfg.sslCertificate}"
-      + optionalString (cfg.listenAddress != null) " -a ${cfg.listenAddress}"
-      + optionalString (cfg.cacheSize != null) " -c ${toString cfg.cacheSize}"
-      + optionalString (cfg.compressTraffic) " -g"
-      + optionalString (cfg.assumeReverseProxy) " -r"
-      + optionalString (cfg.httpsOnly) " -s" + " start";
-
-      serviceConfig = {
-        PermissionsStartOnly = true;
-        Type = "forking";
-        User = "meguca";
-        Group = "meguca";
-        ExecStop = "${pkgs.meguca}/bin/meguca stop";
-      };
-    };
-
-    users = {
-      groups.meguca.gid = config.ids.gids.meguca;
-
-      users.meguca = {
-        description = "meguca server service user";
-        home = cfg.dataDir;
-        createHome = true;
-        group = "meguca";
-        uid = config.ids.uids.meguca;
-      };
-    };
-  };
-
-  imports = [
-    (mkRenamedOptionModule [ "services" "meguca" "baseDir" ] [ "services" "meguca" "dataDir" ])
-  ];
-
-  meta.maintainers = with maintainers; [ chiiruno ];
-}
diff --git a/nixos/modules/services/x11/imwheel.nix b/nixos/modules/services/x11/imwheel.nix
index 3923df498e7..51f72dadbd4 100644
--- a/nixos/modules/services/x11/imwheel.nix
+++ b/nixos/modules/services/x11/imwheel.nix
@@ -61,7 +61,8 @@ in
             "--kill"
           ] ++ cfg.extraOptions);
           ExecStop = "${pkgs.procps}/bin/pkill imwheel";
-          Restart = "on-failure";
+          RestartSec = 3;
+          Restart = "always";
         };
       };
     };
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 54e3a691b2f..0c1be71cf53 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -378,12 +378,14 @@ mountFS() {
 
     mkdir -p "/mnt-root$mountPoint"
 
-    # For CIFS mounts, retry a few times before giving up.
+    # For ZFS and CIFS mounts, retry a few times before giving up.
+    # We do this for ZFS as a workaround for issue NixOS/nixpkgs#25383.
     local n=0
     while true; do
         mount "/mnt-root$mountPoint" && break
-        if [ "$fsType" != cifs -o "$n" -ge 10 ]; then fail; break; fi
+        if [ \( "$fsType" != cifs -a "$fsType" != zfs \) -o "$n" -ge 10 ]; then fail; break; fi
         echo "retrying..."
+        sleep 1
         n=$((n + 1))
     done
 
diff --git a/nixos/modules/virtualisation/cri-o.nix b/nixos/modules/virtualisation/cri-o.nix
index f8a75d3faa5..9c818eee73b 100644
--- a/nixos/modules/virtualisation/cri-o.nix
+++ b/nixos/modules/virtualisation/cri-o.nix
@@ -110,6 +110,7 @@ in
     '';
 
     environment.etc."cni/net.d/10-crio-bridge.conf".source = copyFile "${pkgs.cri-o-unwrapped.src}/contrib/cni/10-crio-bridge.conf";
+    environment.etc."cni/net.d/99-loopback.conf".source = copyFile "${pkgs.cri-o-unwrapped.src}/contrib/cni/99-loopback.conf";
 
     # Enable common /etc/containers configuration
     virtualisation.containers.enable = true;
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index a4a62d85a59..0ce5f89b27c 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -34,6 +34,7 @@ in
   bind = handleTest ./bind.nix {};
   bitcoind = handleTest ./bitcoind.nix {};
   bittorrent = handleTest ./bittorrent.nix {};
+  bitwarden = handleTest ./bitwarden.nix {};
   blockbook-frontend = handleTest ./blockbook-frontend.nix {};
   buildkite-agents = handleTest ./buildkite-agents.nix {};
   boot = handleTestOn ["x86_64-linux"] ./boot.nix {}; # syslinux is unsupported on aarch64
diff --git a/nixos/tests/bitwarden.nix b/nixos/tests/bitwarden.nix
new file mode 100644
index 00000000000..a47c77cec21
--- /dev/null
+++ b/nixos/tests/bitwarden.nix
@@ -0,0 +1,188 @@
+{ system ? builtins.currentSystem
+, config ? { }
+, pkgs ? import ../.. { inherit system config; }
+}:
+
+# These tests will:
+#  * Set up a bitwarden-rs server
+#  * Have Firefox use the web vault to create an account, log in, and save a password to the valut
+#  * Have the bw cli log in and read that password from the vault
+#
+# Note that Firefox must be on the same machine as the server for WebCrypto APIs to be available (or HTTPS must be configured)
+#
+# The same tests should work without modification on the official bitwarden server, if we ever package that.
+
+with import ../lib/testing-python.nix { inherit system pkgs; };
+with pkgs.lib;
+let
+  backends = [ "sqlite" "mysql" "postgresql" ];
+
+  dbPassword = "please_dont_hack";
+
+  userEmail = "meow@example.com";
+  userPassword = "also_super_secret_ZJWpBKZi668QGt"; # Must be complex to avoid interstitial warning on the signup page
+
+  storedPassword = "seeeecret";
+
+  makeBitwardenTest = backend: makeTest {
+    name = "bitwarden_rs-${backend}";
+    meta = {
+      maintainers = with pkgs.stdenv.lib.maintainers; [ jjjollyjim ];
+    };
+
+    nodes = {
+      server = { pkgs, ... }:
+        let backendConfig = {
+          mysql = {
+            services.mysql = {
+              enable = true;
+              initialScript = pkgs.writeText "mysql-init.sql" ''
+                CREATE DATABASE bitwarden;
+                CREATE USER 'bitwardenuser'@'localhost' IDENTIFIED BY '${dbPassword}';
+                GRANT ALL ON `bitwarden`.* TO 'bitwardenuser'@'localhost';
+                FLUSH PRIVILEGES;
+              '';
+              package = pkgs.mysql;
+            };
+
+            services.bitwarden_rs.config.databaseUrl = "mysql://bitwardenuser:${dbPassword}@localhost/bitwarden";
+
+            systemd.services.bitwarden_rs.after = [ "mysql.service" ];
+          };
+
+          postgresql = {
+            services.postgresql = {
+              enable = true;
+              initialScript = pkgs.writeText "postgresql-init.sql" ''
+                CREATE DATABASE bitwarden;
+                CREATE USER bitwardenuser WITH PASSWORD '${dbPassword}';
+                GRANT ALL PRIVILEGES ON DATABASE bitwarden TO bitwardenuser;
+              '';
+            };
+
+            services.bitwarden_rs.config.databaseUrl = "postgresql://bitwardenuser:${dbPassword}@localhost/bitwarden";
+
+            systemd.services.bitwarden_rs.after = [ "postgresql.service" ];
+          };
+
+          sqlite = { };
+        };
+        in
+        mkMerge [
+          backendConfig.${backend}
+          {
+            services.bitwarden_rs = {
+              enable = true;
+              dbBackend = backend;
+              config.rocketPort = 80;
+            };
+
+            networking.firewall.allowedTCPPorts = [ 80 ];
+
+            environment.systemPackages =
+              let
+                testRunner = pkgs.writers.writePython3Bin "test-runner"
+                  {
+                    libraries = [ pkgs.python3Packages.selenium ];
+                  } ''
+                  from selenium.webdriver import Firefox
+                  from selenium.webdriver.firefox.options import Options
+                  from selenium.webdriver.support.ui import WebDriverWait
+                  from selenium.webdriver.support import expected_conditions as EC
+
+                  options = Options()
+                  options.add_argument('--headless')
+                  driver = Firefox(options=options)
+
+                  driver.implicitly_wait(20)
+                  driver.get('http://localhost/#/register')
+
+                  wait = WebDriverWait(driver, 10)
+
+                  wait.until(EC.title_contains("Create Account"))
+
+                  driver.find_element_by_css_selector('input#email').send_keys(
+                    '${userEmail}'
+                  )
+                  driver.find_element_by_css_selector('input#name').send_keys(
+                    'A Cat'
+                  )
+                  driver.find_element_by_css_selector('input#masterPassword').send_keys(
+                    '${userPassword}'
+                  )
+                  driver.find_element_by_css_selector('input#masterPasswordRetype').send_keys(
+                    '${userPassword}'
+                  )
+
+                  driver.find_element_by_xpath("//button[contains(., 'Submit')]").click()
+
+                  wait.until_not(EC.title_contains("Create Account"))
+
+                  driver.find_element_by_css_selector('input#masterPassword').send_keys(
+                    '${userPassword}'
+                  )
+                  driver.find_element_by_xpath("//button[contains(., 'Log In')]").click()
+
+                  wait.until(EC.title_contains("My Vault"))
+
+                  driver.find_element_by_xpath("//button[contains(., 'Add Item')]").click()
+
+                  driver.find_element_by_css_selector('input#name').send_keys(
+                    'secrets'
+                  )
+                  driver.find_element_by_css_selector('input#loginPassword').send_keys(
+                    '${storedPassword}'
+                  )
+
+                  driver.find_element_by_xpath("//button[contains(., 'Save')]").click()
+                '';
+              in
+              [ pkgs.firefox-unwrapped pkgs.geckodriver testRunner ];
+
+            virtualisation.memorySize = 768;
+          }
+        ];
+
+      client = { pkgs, ... }:
+        {
+          environment.systemPackages = [ pkgs.bitwarden-cli ];
+        };
+    };
+
+    testScript = ''
+      start_all()
+      server.wait_for_unit("bitwarden_rs.service")
+      server.wait_for_open_port(80)
+
+      with subtest("configure the cli"):
+          client.succeed("bw --nointeraction config server http://server")
+
+      with subtest("can't login to nonexistant account"):
+          client.fail(
+              "bw --nointeraction --raw login ${userEmail} ${userPassword}"
+          )
+
+      with subtest("use the web interface to sign up, log in, and save a password"):
+          server.succeed("PYTHONUNBUFFERED=1 test-runner | systemd-cat -t test-runner")
+
+      with subtest("log in with the cli"):
+          key = client.succeed(
+              "bw --nointeraction --raw login ${userEmail} ${userPassword}"
+          ).strip()
+
+      with subtest("sync with the cli"):
+          client.succeed(f"bw --nointeraction --raw --session {key} sync -f")
+
+      with subtest("get the password with the cli"):
+          password = client.succeed(
+              f"bw --nointeraction --raw --session {key} list items | ${pkgs.jq}/bin/jq -r .[].login.password"
+          )
+          assert password.strip() == "${storedPassword}"
+    '';
+  };
+in
+builtins.listToAttrs (
+  map
+    (backend: { name = backend; value = makeBitwardenTest backend; })
+    backends
+)
diff --git a/nixos/tests/prometheus.nix b/nixos/tests/prometheus.nix
index bce489168f9..af2aa66a552 100644
--- a/nixos/tests/prometheus.nix
+++ b/nixos/tests/prometheus.nix
@@ -158,7 +158,10 @@ in import ./make-test-python.nix {
 
     s3 = { pkgs, ... } : {
       # Minio requires at least 1GiB of free disk space to run.
-      virtualisation.diskSize = 2 * 1024;
+      virtualisation = {
+        diskSize = 2 * 1024;
+        memorySize = 1024;
+      };
       networking.firewall.allowedTCPPorts = [ minioPort ];
 
       services.minio = {
@@ -235,7 +238,7 @@ in import ./make-test-python.nix {
     # Test if the Thanos bucket command is able to retrieve blocks from the S3 bucket
     # and check if the blocks have the correct labels:
     store.succeed(
-        "thanos bucket ls "
+        "thanos tools bucket ls "
         + "--objstore.config-file=${nodes.store.config.services.thanos.store.objstore.config-file} "
         + "--output=json | "
         + "jq .thanos.labels.some_label | "
diff --git a/nixos/tests/transmission.nix b/nixos/tests/transmission.nix
index f4f2186be1f..37c0352dcfb 100644
--- a/nixos/tests/transmission.nix
+++ b/nixos/tests/transmission.nix
@@ -9,6 +9,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
 
     networking.firewall.allowedTCPPorts = [ 9091 ];
 
+    security.apparmor.enable = true;
+
     services.transmission.enable = true;
   };
 
diff --git a/pkgs/applications/audio/ashuffle/default.nix b/pkgs/applications/audio/ashuffle/default.nix
new file mode 100644
index 00000000000..6bb21b5edaa
--- /dev/null
+++ b/pkgs/applications/audio/ashuffle/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, pkg-config, mpd_clientlib, meson, ninja }:
+
+stdenv.mkDerivation rec {
+  pname = "ashuffle";
+  version = "3.4.0";
+
+  src = fetchFromGitHub {
+    owner = "joshkunz";
+    repo = "ashuffle";
+    rev = "v${version}";
+    sha256 = "09q6lwgc1dc8bg1mb9js9qz3xcsxph3548nxzvyb4v8111gixrp7";
+    fetchSubmodules = true;
+  };
+
+  dontUseCmakeConfigure = true;
+  nativeBuildInputs = [ cmake pkg-config meson ninja ];
+  buildInputs = [ mpd_clientlib ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/joshkunz/ashuffle";
+    description = "Automatic library-wide shuffle for mpd";
+    maintainers = [ maintainers.tcbravo ];
+    platforms = platforms.unix;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 4b426609fea..944a2d189d7 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # When updating, please check if https://github.com/csound/csound/issues/1078
   # has been fixed in the new version so we can use the normal fluidsynth
   # version and remove fluidsynth 1.x from nixpkgs again.
-  version = "6.13.0";
+  version = "6.14.0";
 
   enableParallelBuilding = true;
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "csound";
     repo = "csound";
     rev = version;
-    sha256 = "14822ybqyp31z18gky2y9zadr9dkbhabg97y139py73w7v3af1bh";
+    sha256 = "1sr9knfhbm2m0wpkjq2l5n471vnl51wy4p6j4m95zqybimzb4s2j";
   };
 
   cmakeFlags = [ "-DBUILD_CSOUND_AC=0" ] # fails to find Score.hpp
diff --git a/pkgs/applications/audio/ft2-clone/default.nix b/pkgs/applications/audio/ft2-clone/default.nix
index 60040119d64..1db5644fc32 100644
--- a/pkgs/applications/audio/ft2-clone/default.nix
+++ b/pkgs/applications/audio/ft2-clone/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ft2-clone";
-  version = "1.26";
+  version = "1.28";
 
   src = fetchFromGitHub {
     owner = "8bitbubsy";
     repo = "ft2-clone";
     rev = "v${version}";
-    sha256 = "0fqb4415qy2nwjz7ahi43nk795ifswb2b37sc7p5n9m4yc8h53wv";
+    sha256 = "1hbcl89cpx9bsafxrjyfx6vrbs4h3lnzmqm12smcvdg8ksfgzj0d";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/audio/lv2-cpp-tools/default.nix b/pkgs/applications/audio/lv2-cpp-tools/default.nix
new file mode 100644
index 00000000000..d98135fb014
--- /dev/null
+++ b/pkgs/applications/audio/lv2-cpp-tools/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchzip, pkgconfig, lv2, gtkmm2, boost }:
+
+stdenv.mkDerivation rec {
+  pname = "lv2-cpp-tools";
+  version = "1.0.5";
+
+  src = fetchzip {
+    url = "http://deb.debian.org/debian/pool/main/l/lv2-c++-tools/lv2-c++-tools_${version}.orig.tar.bz2";
+    sha256 = "039bq7d7s2bhfcnlsfq0mqxr9a9iqwg5bwcpxfi24c6yl6krydsi";
+  };
+
+  preConfigure = ''
+    sed -r 's,/bin/bash,${stdenv.shell},g' -i ./configure
+    sed -r 's,/sbin/ldconfig,ldconfig,g' -i ./Makefile.template
+  '';
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ lv2 gtkmm2 boost ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://ll-plugins.nongnu.org/hacking.html";
+    description = "Tools and libraries that may come in handy when writing LV2 plugins in C++";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.michalrus ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index 9bc8fcb6694..76ea4efeace 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "snd-20.2";
+  name = "snd-20.3";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/${name}.tar.gz";
-    sha256 = "0ip4sfyxqlbghlggipmvvqjqs1a7qas0zcmzw8d1nwg6krjkfj0r";
+    sha256 = "016slh34gb6qqb38m8k9yg48rbhc5p12084szcwvanhh5v7fc7mk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/audio/talentedhack/default.nix b/pkgs/applications/audio/talentedhack/default.nix
new file mode 100644
index 00000000000..b30cf59f7b3
--- /dev/null
+++ b/pkgs/applications/audio/talentedhack/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, lv2, fftwFloat, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  pname = "talentedhack";
+  version = "1.86";
+
+  src = fetchFromGitHub {
+    owner = "jeremysalwen";
+    repo = "talentedhack";
+    rev = "v${version}";
+    sha256 = "0kwvayalysmk7y49jq0k16al252md8d45z58hphzsksmyz6148bx";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ lv2 fftwFloat ];
+
+  # To avoid name clashes, plugins should be compiled with symbols hidden, except for `lv2_descriptor`:
+  preConfigure = ''
+    sed -r 's/^CFLAGS.*$/\0 -fvisibility=hidden/' -i Makefile
+  '';
+
+  installPhase = ''
+    d=$out/lib/lv2/talentedhack.lv2
+    mkdir -p $d
+    cp *.so *.ttl $d
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/jeremysalwen/TalentedHack";
+    description = "LV2 port of Autotalent pitch correction plugin";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.michalrus ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/virtual-ans/default.nix b/pkgs/applications/audio/virtual-ans/default.nix
new file mode 100644
index 00000000000..24e112aff2b
--- /dev/null
+++ b/pkgs/applications/audio/virtual-ans/default.nix
@@ -0,0 +1,89 @@
+{ stdenv
+, fetchzip
+, libX11
+, libXi
+, libGL
+, alsaLib
+, SDL2
+, autoPatchelfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "virtual-ans";
+  version = "3.0.2c";
+
+  src = fetchzip {
+    url = "https://warmplace.ru/soft/ans/virtual_ans-${version}.zip";
+    sha256 = "03r1v3l7rd59dakr7ndvgsqchv00ppkvi6sslgf1ng07r3rsvb1n";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  buildInputs = [
+    stdenv.cc.cc.lib
+    libX11
+    libXi
+    libGL
+    alsaLib
+    SDL2
+  ];
+
+  installPhase = ''
+    mkdir -p $out
+    cp -R ./* $out/
+
+    # Remove all executables except for current architecture
+    ls -1d $out/START*              | grep -v ${startScript}     | xargs rm -rf
+    ls -1d $out/bin/pixilang_linux* | grep -v ${linuxExecutable} | xargs rm -rf
+
+    # Start script performs relative search for resources, so it cannot be moved
+    # to bin directory
+    ln -s $out/${startScript} $out/bin/virtual-ans
+  '';
+
+  startScript = if stdenv.isx86_32 then "START_LINUX_X86"
+    else        if stdenv.isx86_64 then "START_LINUX_X86_64"
+    #else        if stdenv.isDarwin then "START_MACOS.app" # disabled because I cannot test on Darwin
+    else abort "Unsupported platform: ${stdenv.platform.kernelArch}.";
+
+  linuxExecutable = if stdenv.isx86_32 then "pixilang_linux_x86"
+    else            if stdenv.isx86_64 then "pixilang_linux_x86_64"
+    else                                    "";
+
+  meta = with stdenv.lib; {
+    description = "Photoelectronic microtonal/spectral musical instrument";
+    longDescription = ''
+      Virtual ANS is a software simulator of the unique Russian synthesizer ANS
+      - photoelectronic musical instrument created by Evgeny Murzin from 1938 to
+      1958. The ANS made it possible to draw music in the form of a spectrogram
+      (sonogram), without live instruments and performers. It was used by
+      Stanislav Kreichi, Alfred Schnittke, Edward Artemiev and other Soviet
+      composers in their experimental works. You can also hear the sound of the
+      ANS in Andrei Tarkovsky's movies Solaris, The Mirror, Stalker.
+
+      The simulator extends the capabilities of the original instrument. Now
+      it's a full-featured graphics editor where you can convert sound into an
+      image, load and play pictures, draw microtonal/spectral music and create
+      some unusual deep atmospheric sounds. This app is for everyone who loves
+      experiments and is looking for something new.
+
+      Key features:
+
+      + unlimited number of pure tone generators;
+      + powerful sonogram editor - you can draw the spectrum and play it at the same time;
+      + any sound (from a WAV file or a Microphone/Line-in) can be converted to image (sonogram) and vice versa;
+      + support for MIDI devices;
+      + polyphonic synth mode with MIDI mapping;
+      + supported file formats: WAV, AIFF, PNG, JPEG, GIF;
+      + supported sound systems: ASIO, DirectSound, MME, ALSA, OSS, JACK, Audiobus, IAA.
+      '';
+    homepage = "https://warmplace.ru/soft/ans/";
+    license = licenses.free;
+    # I cannot test the Darwin version, so I'll leave it disabled
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = with maintainers; [ jacg ];
+  };
+
+}
diff --git a/pkgs/applications/audio/vocproc/default.nix b/pkgs/applications/audio/vocproc/default.nix
new file mode 100644
index 00000000000..ddaa5b790e2
--- /dev/null
+++ b/pkgs/applications/audio/vocproc/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchzip, pkgconfig, lvtk, lv2, fftw, lv2-cpp-tools, gtkmm2 }:
+
+stdenv.mkDerivation rec {
+  pname = "vocproc";
+  version = "0.2.1";
+
+  src = fetchzip {
+    url = "https://hyperglitch.com/files/vocproc/${pname}-${version}.default.tar.gz";
+    sha256 = "07a1scyz14mg2jdbw6fpv4qg91zsw61qqii64n9qbnny9d5pn8n2";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ lv2 fftw lv2-cpp-tools gtkmm2 ];
+
+  makeFlags = [
+    "INSTALL_DIR=$(out)/lib/lv2"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://hyperglitch.com/dev/VocProc";
+    description = "An LV2 plugin for pitch shifting (with or without formant correction), vocoding, automatic pitch correction and harmonizing of singing voice (harmonizer)";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.michalrus ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/blockchains/bitcoin-abc.nix b/pkgs/applications/blockchains/bitcoin-abc.nix
index 420e267aa82..1596ed2d357 100644
--- a/pkgs/applications/blockchains/bitcoin-abc.nix
+++ b/pkgs/applications/blockchains/bitcoin-abc.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.21.12";
+  version = "0.21.13";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1mad3aqfwrxi06135nf8hv13d67nilmxpx4dw5vjcy1zi3lljj1j";
+    sha256 = "1x8xcdi1vcskggk9bqkwr3ah4vi9b7sj2h8hf7spac6dvz8lmzav";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index cfd72db7f46..83a6cfaf05b 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "1lja4ba6bm1jk0lh2ra5v8i5g3f1gy7mk2b3yrx1w7x02ll9gr06";
+    sha256 = "1qr1vfb6mhm2hxl2ksydkhadm7phadn93lwm3f9zni01plk56bb5";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/monero/default.nix b/pkgs/applications/blockchains/monero/default.nix
index 569a9b17045..f1186564119 100644
--- a/pkgs/applications/blockchains/monero/default.nix
+++ b/pkgs/applications/blockchains/monero/default.nix
@@ -10,13 +10,13 @@ assert stdenv.isDarwin -> IOKit != null;
 
 stdenv.mkDerivation rec {
   pname = "monero";
-  version = "0.16.0.1";
+  version = "0.16.0.3";
 
   src = fetchFromGitHub {
     owner = "monero-project";
     repo = "monero";
     rev = "v${version}";
-    sha256 = "0n2cviqm8radpynx70fc0819k1xknjc58cvb4whlc49ilyvh8ky6";
+    sha256 = "1r9x3712vhb24dxxirfiwj5f9x0h4m7x0ngiiavf5983dfdlgz33";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 25d9eaabef4..0bf0435d2fc 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0rrs2v97xhlxyjvipss5dmk88j7b03kyszwyhy46755954nzm85j";
-    x86_64-darwin = "1vmr78wf6cpib6j0f5gxs8683n27jk96lm4mwg6ji1np6b00m8nx";
+    x86_64-linux = "1yar8j6h39gpnq4givxh5cvi336p56sgc8pg32j6sasqk6mxv02c";
+    x86_64-darwin = "1d68xkqkd49z7v4y3230l2v77aw34d7jkdbgj0wnc04kv6n8wx88";
   }.${system};
 in
   callPackage ./generic.nix rec {
@@ -21,7 +21,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.48.0";
+    version = "1.48.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index aa63bce7b53..edb55264354 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -11,8 +11,8 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1zf2z6rbm18cib4crnn8r6ggx3cc2irwqjhbka2zmq38z7l3qv6c";
-    x86_64-darwin = "1rgbr1q35q0q64kzap6g72nyvcp5wjmyzi8701536az7mxjfvjz4";
+    x86_64-linux = "0f8p25963i7bbm2zxb4ra935maxk3sxims6j873wqwqnzn701diq";
+    x86_64-darwin = "0k8ylcbiqvb0cnvbz3059rbyjqxmvig8zf7bfqgln1w591i411c4";
   }.${system};
 
   sourceRoot = {
@@ -27,7 +27,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.48.0";
+    version = "1.48.1";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/graphics/qosmic/default.nix b/pkgs/applications/graphics/qosmic/default.nix
new file mode 100644
index 00000000000..96823441b6e
--- /dev/null
+++ b/pkgs/applications/graphics/qosmic/default.nix
@@ -0,0 +1,70 @@
+{ mkDerivation
+, fetchFromGitHub
+, fetchpatch
+, qmake
+, wrapQtAppsHook
+, qtbase
+, pkg-config
+, lua
+, flam3
+, libxml2
+, libpng
+, libjpeg
+, lib
+}:
+
+mkDerivation rec {
+  pname = "qosmic";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "bitsed";
+    repo = "qosmic";
+    rev = "v${version}";
+    sha256 = "13nw1mkdib14430r21mj352v62vi546vf184vyhxm7yjjygyra1w";
+  };
+
+  patches = [
+    # Allow overriding PREFIX (to install to $out,
+    # written while creating this derivation)
+    # https://github.com/bitsed/qosmic/pull/39
+    (fetchpatch {
+      name = "allow-overriding-PREFIX.patch";
+      url = "https://github.com/bitsed/qosmic/commit/77fb3a577b0710efae2a1d9ed97c26ae16f3a5ba.patch";
+      sha256 = "0v9hj9s78cb6bg8ca0wjkbr3c7ml1n51n8h4a70zpzzgzz7rli5b";
+    })
+    # Fix QButtonGroup include errors with Qt 5.11:
+    # Will be part of the next post-1.6.0 release
+    (fetchpatch {
+      name = "fix-class-QButtonGroup-include-errors-with-Qt-5.11.patch";
+      url = "https://github.com/bitsed/qosmic/commit/3f6e1ea8d384a124dbc2d568171a4da798480752.patch";
+      sha256 = "0bp6b759plkqs32nvfpkfvf3qqzc9716k3ycwnjvwabbvpg1xwbl";
+    })
+  ];
+
+  nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
+
+  buildInputs = [
+    qtbase
+    lua
+    flam3
+    libxml2
+    libpng
+    libjpeg
+  ];
+
+  qmakeFlags = [
+    # Use pkg-config to correctly locate library paths
+    "-config" "link_pkgconfig"
+  ];
+
+  meta = with lib; {
+    description = "A cosmic recursive flame fractal editor";
+    homepage = "https://github.com/bitsed/qosmic";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.raboof ];
+    # It might be possible to make it work on OSX,
+    # but this has not been tested.
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/runwayml/default.nix b/pkgs/applications/graphics/runwayml/default.nix
index eb8ecc34b8f..9366276ebf8 100644
--- a/pkgs/applications/graphics/runwayml/default.nix
+++ b/pkgs/applications/graphics/runwayml/default.nix
@@ -6,20 +6,19 @@
 
 let
   pname = "runwayml";
-  version = "0.10.20";
+  version = "0.14.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "https://runway-releases.s3.amazonaws.com/Runway%20${version}.AppImage";
-    sha256 = "1wi94xi8nrwfc4v2j1crlmwr0nxg95ffp5h4hxd84crvya8ibxgz";
-    name="${pname}-${version}.AppImage";
+    url = "https://runway-releases.s3.amazonaws.com/Runway-${version}.AppImage";
+    sha256 = "1bx8j39wd2z6f32hdvmk9z77bivnizzdhn296kin2nnqgq6v6y93";
   };
 
   binary = appimageTools.wrapType2 {
     name = pname;
     inherit src;
   };
-  # we only use this to extract the icon
+  # we only use this to extract the icon and desktop file
   appimage-contents = appimageTools.extractType2 {
     inherit name src;
   };
diff --git a/pkgs/applications/misc/coolreader/default.nix b/pkgs/applications/misc/coolreader/default.nix
new file mode 100644
index 00000000000..c3efed72cb0
--- /dev/null
+++ b/pkgs/applications/misc/coolreader/default.nix
@@ -0,0 +1,26 @@
+{ mkDerivation, fetchFromGitHub, cmake, pkg-config, lib,
+  qttools, fribidi, libunibreak }:
+
+mkDerivation rec {
+  pname = "coolreader";
+  version = "3.2.45";
+
+  src = fetchFromGitHub {
+    owner = "buggins";
+    repo = pname;
+    rev = "cr${version}";
+    sha256 = "0nkk4d0j04yjwanjszq8h8hvx87rnwax2k6akm4bpjxwpcs4icws";
+  };
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ qttools fribidi libunibreak ];
+
+  meta = with lib; {
+    homepage = "https://github.com/buggins/coolreader";
+    description = "Cross platform open source e-book reader";
+    license = licenses.gpl2Plus; # see https://github.com/buggins/coolreader/issues/80
+    maintainers = with maintainers; [ gebner ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/foot/default.nix b/pkgs/applications/misc/foot/default.nix
new file mode 100644
index 00000000000..02909ee1f2f
--- /dev/null
+++ b/pkgs/applications/misc/foot/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchgit
+, fcft, freetype, pixman, libxkbcommon, fontconfig, wayland
+, meson, ninja, ncurses, scdoc, tllist, wayland-protocols, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "foot";
+  version = "1.4.4";
+
+  src = fetchgit {
+    url = "https://codeberg.org/dnkl/foot.git";
+    rev = "${version}";
+    sha256 = "1cr4sz075v18clh8nlvgyxlbvfkhbsg0qrqgnclip5rwa24ry1lg";
+  };
+
+  nativeBuildInputs = [
+    meson ninja ncurses scdoc tllist wayland-protocols pkg-config
+  ];
+  buildInputs = [
+    fontconfig freetype pixman wayland libxkbcommon fcft
+  ];
+
+  # recommended build flags for foot as per INSTALL.md
+  # https://codeberg.org/dnkl/foot/src/branch/master/INSTALL.md#user-content-release-build
+  preConfigure = ''
+    export CFLAGS+="-O3 -fno-plt"
+  '';
+
+  mesonFlags = [ "--buildtype=release" "-Db_lto=true" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://codeberg.org/dnkl/foot/";
+    description = "A fast, lightweight and minimalistic Wayland terminal emulator";
+    license = licenses.mit;
+    maintainers = [ maintainers.sternenseemann ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/imag/default.nix b/pkgs/applications/misc/imag/default.nix
new file mode 100644
index 00000000000..bb6956aaa59
--- /dev/null
+++ b/pkgs/applications/misc/imag/default.nix
@@ -0,0 +1,63 @@
+{ stdenv
+, rustPlatform
+, fetchFromGitHub
+, llvmPackages
+, openssl
+, pkg-config
+, installShellFiles
+, Security
+, gitMinimal
+, utillinuxMinimal
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "imag";
+  version = "0.10.1";
+
+  src = fetchFromGitHub {
+    owner = "matthiasbeyer";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0f9915f083z5qqcxyavj0w6m973c8m1x7kfb89pah5agryy5mkaq";
+  };
+
+  nativeBuildInputs = [ installShellFiles pkg-config ];
+  buildInputs = [ openssl ]
+    ++ stdenv.lib.optional stdenv.isDarwin Security;
+  checkInputs = [ gitMinimal utillinuxMinimal ];
+
+  LIBCLANG_PATH = "${llvmPackages.libclang}/lib";
+
+  cargoSha256 = "0n8cw70qh8g4hfwfaxwwxbrrx5hm2z037z8kdhvdpqkxljl9189x";
+
+  checkPhase = ''
+    export HOME=$TMPDIR
+    git config --global user.email "nobody@example.com"
+    git config --global user.name "Nobody"
+
+    # UI tests uses executables directly, so we need to build them before
+    # launching the tests
+    cargo build
+  '' + (
+    # CLI uses the presence of a controlling TTY to check if arguments are
+    # passed in stdin, or in the command-line, so we use script to create
+    # a PTY for us.
+    if !stdenv.isDarwin then ''
+      script -qfec "cargo test --workspace"
+    '' else ''
+      script -q "cargo test --workspace"
+    ''
+  );
+
+  postInstall = ''
+    installShellCompletion target/imag.{bash,fish} --zsh target/_imag
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Commandline personal information management suite";
+    homepage = "https://imag-pim.org/";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ filalex77 minijackson ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 86ea1d6d504..f0131712b23 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -40,13 +40,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "keepassxc";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner = "keepassxreboot";
     repo = "keepassxc";
     rev = version;
-    sha256 = "0yi6kxnsrqirjn6hxhwym2krzf86qxf3kc6bfpkmiaggnd2kqpkp";
+    sha256 = "0wgn0glmcxaa670bpxh7n7abjlxcx4h1rl1169cmah0ddxnxnxpq";
   };
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang [
diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix
index f58fb13e61f..7c7906fc841 100644
--- a/pkgs/applications/misc/mlterm/default.nix
+++ b/pkgs/applications/misc/mlterm/default.nix
@@ -3,6 +3,8 @@
 , harfbuzz #substituting glyphs with opentype fonts
 , fribidi, m17n_lib #bidi and encoding
 , openssl, libssh2 #build-in ssh
+, fcitx, ibus, uim #IME
+, wrapGAppsHook #color picker in mlconfig
 }:
 
 stdenv.mkDerivation rec {
@@ -14,10 +16,11 @@ stdenv.mkDerivation rec {
     sha256 = "17h6j4nmbyvsx2shm8mqm7smzq9i7mbqxjw19c2m0rhf5yzqhr3k";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf ];
+  nativeBuildInputs = [ pkgconfig autoconf wrapGAppsHook ];
   buildInputs = [
     libX11 gdk-pixbuf.dev cairo libXft gtk3 vte
     harfbuzz fribidi m17n_lib openssl libssh2
+    fcitx ibus uim
   ];
 
   #bad configure.ac and Makefile.in everywhere
diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix
index efd9cc4c021..c815a74e019 100644
--- a/pkgs/applications/misc/moolticute/default.nix
+++ b/pkgs/applications/misc/moolticute/default.nix
@@ -9,13 +9,13 @@
 
 mkDerivation rec {
   pname = "moolticute";
-  version = "0.43.19";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = "mooltipass";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rpkiyhy7z5zq0rmn0kj2kva57bnhkhvaplrlhfczv99h1kwsixg";
+    sha256 = "1xlbhx6f1ysx8gka8g67271whzhkzsnkavpq3x58hdxr8v88khby";
   };
 
   outputs = [ "out" "udev" ];
diff --git a/pkgs/applications/misc/rescuetime/default.nix b/pkgs/applications/misc/rescuetime/default.nix
index 837e30ee8f2..6b28b52dcf0 100644
--- a/pkgs/applications/misc/rescuetime/default.nix
+++ b/pkgs/applications/misc/rescuetime/default.nix
@@ -1,19 +1,21 @@
 { stdenv, lib, fetchurl, dpkg, patchelf, qt5, libXtst, libXext, libX11, mkDerivation, makeWrapper, libXScrnSaver }:
 
 let
+  version = "2.16.3.1";
   src =
     if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
       name = "rescuetime-installer.deb";
-      url = "https://www.rescuetime.com/installers/rescuetime_current_i386.deb";
-      sha256 = "157yg4n5ppgnrd5wrz06qfx391vggp3wifla39rvcaaysvvisl8v";
+      url = "https://www.rescuetime.com/installers/rescuetime_${version}_i386.deb";
+      sha256 = "1374nmj6g6w24cv604kzac0v57gcl1pwpw0nxpr7kv2786x1aqg2";
     } else fetchurl {
       name = "rescuetime-installer.deb";
-      url = "https://www.rescuetime.com/installers/rescuetime_current_amd64.deb";
-      sha256 = "17gjiwf0qbh1zbrxxsilnpg0qxy5kdpqxlnl28namp671rv0aic8";
+      url = "https://www.rescuetime.com/installers/rescuetime_${version}_amd64.deb";
+      sha256 = "05qs6wbc3705z8w9c3n83m4j8xfmzm673lyh5j95x1ak5czkrphk";
     };
 in mkDerivation {
   # https://www.rescuetime.com/updates/linux_release_notes.html
-  name = "rescuetime-2.16.2.1";
+  inherit version;
+  pname = "rescuetime";
   inherit src;
   nativeBuildInputs = [ dpkg ];
   # avoid https://github.com/NixOS/patchelf/issues/99
diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix
index 6c55c3157f5..883b3eec03d 100644
--- a/pkgs/applications/misc/sidequest/default.nix
+++ b/pkgs/applications/misc/sidequest/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
 	let
 		pname = "sidequest";
-		version = "0.10.2";
+		version = "0.10.11";
 
 		desktopItem = makeDesktopItem rec {
 			name = "SideQuest";
@@ -16,7 +16,7 @@
 
 			src = fetchurl {
 				url = "https://github.com/the-expanse/SideQuest/releases/download/v${version}/SideQuest-${version}.tar.xz";
-				sha256 = "1vfxn4gx5b138gj6nk4w3jlp2l56cqpb8hq2kn5mrf4dhjii8n88";
+				sha256 = "0fw952kdh1gn00y6sx2ag0rnb2paxq9ikg4bzgmbj7rrd1c6l2k9";
 			};
 
 			buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/super_user_spark/default.nix b/pkgs/applications/misc/super_user_spark/default.nix
deleted file mode 100644
index dd1218282d8..00000000000
--- a/pkgs/applications/misc/super_user_spark/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ mkDerivation, fetchgit, aeson, aeson-pretty, base, bytestring, directory
-, filepath, hspec, hspec-core, HUnit, mtl, optparse-applicative
-, parsec, process, pureMD5, QuickCheck, shelly, stdenv, text
-, transformers, unix
-}:
-mkDerivation {
-  pname = "super-user-spark";
-  version = "0.3.2.0-dev";
-  src = fetchgit {
-    url = "https://github.com/NorfairKing/super-user-spark";
-    sha256 = "0akyc51bghzkk8j75n0i8v8rrsklidwvljhx3aibxfbkqp33372g";
-    rev = "ab8635682d67842b9e6d909cf3c618014e4157f2";
-  };
-  isLibrary = true;
-  isExecutable = true;
-  libraryHaskellDepends = [
-    aeson aeson-pretty base bytestring directory filepath mtl
-    optparse-applicative parsec process pureMD5 shelly text
-    transformers unix
-  ];
-  executableHaskellDepends = [ base ];
-  testHaskellDepends = [
-    aeson aeson-pretty base bytestring directory filepath hspec
-    hspec-core HUnit mtl optparse-applicative parsec process pureMD5
-    QuickCheck shelly text transformers unix
-  ];
-  jailbreak = true;
-  description = "Configure your dotfile deployment with a DSL";
-  license = stdenv.lib.licenses.mit;
-  homepage = "https://github.com/NorfairKing/super-user-spark";
-  maintainers = [ stdenv.lib.maintainers.badi ];
-}
diff --git a/pkgs/applications/misc/taskell/default.nix b/pkgs/applications/misc/taskell/default.nix
deleted file mode 100644
index c8974c5c275..00000000000
--- a/pkgs/applications/misc/taskell/default.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ lib, haskellPackages, fetchFromGitHub }:
-
-let
-  version = "1.10.0";
-  sha256  = "102iwn6011rypdlx07fzbdll3r5cd204qf96lzwkadvjb7h8clil";
-
-in (haskellPackages.mkDerivation {
-  pname = "taskell";
-  inherit version;
-
-  src = fetchFromGitHub {
-    owner = "smallhadroncollider";
-    repo = "taskell";
-    rev = version;
-    inherit sha256;
-  };
-
-  postPatch = ''${haskellPackages.hpack}/bin/hpack'';
-
-  # basically justStaticExecutables; TODO: use justStaticExecutables
-  enableSharedExecutables = false;
-  enableLibraryProfiling = false;
-  isExecutable = true;
-  doHaddock = false;
-  postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
-
-  # copied from packages.yaml
-  libraryHaskellDepends = with haskellPackages; [
-    classy-prelude
-    # base <=5
-    aeson
-    brick
-    # bytestring
-    config-ini
-    # containers
-    # directory
-    file-embed
-    fold-debounce
-    http-conduit
-    http-client
-    http-types
-    lens
-    raw-strings-qq
-    # mtl
-    # template-haskell
-    # text
-    time
-    vty
-    tz
-  ];
-
-  executableHaskellDepends = [];
-
-  testHaskellDepends = with haskellPackages; [
-    tasty
-    tasty-discover
-    tasty-expected-failure
-    tasty-hunit
-  ];
-
-  description = "Command-line Kanban board/task manager with support for Trello boards and GitHub projects";
-  homepage    = "https://taskell.app";
-  license     = lib.licenses.bsd3;
-  maintainers = with lib.maintainers; [ matthiasbeyer ];
-  platforms = [ "x86_64-linux" ];
-})
diff --git a/pkgs/applications/misc/wofi/default.nix b/pkgs/applications/misc/wofi/default.nix
index 69ec8fffaa1..4aeff6c9ec8 100644
--- a/pkgs/applications/misc/wofi/default.nix
+++ b/pkgs/applications/misc/wofi/default.nix
@@ -13,6 +13,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config meson ninja wrapGAppsHook installShellFiles ];
   buildInputs = [ wayland gtk3 ];
 
+  patches = [
+    # https://todo.sr.ht/~scoopta/wofi/121
+    ./do_not_follow_symlinks.patch
+  ];
+
   postInstall = ''
     installManPage man/wofi*
   '';
diff --git a/pkgs/applications/misc/wofi/do_not_follow_symlinks.patch b/pkgs/applications/misc/wofi/do_not_follow_symlinks.patch
new file mode 100644
index 00000000000..f917c4c1685
--- /dev/null
+++ b/pkgs/applications/misc/wofi/do_not_follow_symlinks.patch
@@ -0,0 +1,39 @@
+diff -r 3414ab984249 modes/run.c
+--- a/modes/run.c	Tue Aug 11 19:07:49 2020 -0700
++++ b/modes/run.c	Sat Aug 22 13:39:52 2020 +0200
+@@ -91,23 +91,10 @@
+ 
+ 	char* path = strdup(getenv("PATH"));
+ 
+-	struct map* paths = map_init();
+-
+ 	char* save_ptr;
+ 	char* str = strtok_r(path, ":", &save_ptr);
+ 	do {
+ 
+-		str = realpath(str, NULL);
+-		if(str == NULL) {
+-			continue;
+-		}
+-		if(map_contains(paths, str)) {
+-			free(str);
+-			continue;
+-		}
+-
+-		map_put(paths, str, "true");
+-
+ 		DIR* dir = opendir(str);
+ 		if(dir == NULL) {
+ 			continue;
+@@ -132,11 +119,9 @@
+ 			}
+ 			free(full_path);
+ 		}
+-		free(str);
+ 		closedir(dir);
+ 	} while((str = strtok_r(NULL, ":", &save_ptr)) != NULL);
+ 	free(path);
+-	map_free(paths);
+ 	map_free(cached);
+ 	map_free(entries);
+ }
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index ca868a08077..a16beb65208 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchgit, meson, ninja, pkgconfig, nix-update-script
-, python3, gtk3, libsecret, gst_all_1, webkitgtk
+, python3, gtk3, libsecret, gst_all_1, webkitgtk, glib
 , glib-networking, gtkspell3, hunspell, desktop-file-utils
-, gobject-introspection, wrapGAppsHook }:
+, gobject-introspection, wrapGAppsHook, gnome3 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "eolie";
-  version = "0.9.63";
+  version = "0.9.99";
 
   format = "other";
   doCheck = false;
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     url = "https://gitlab.gnome.org/World/eolie";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "0z8gcfg7i842rr5p8r3vqa31kf7nnj1yv3afax3jzf4zbnhb8wm0";
+    sha256 = "077jww5mqg6bbqbj0j1gss2j3dxlfr2xw8bc43k8vg52drqg6g8w";
   };
 
   nativeBuildInputs = [
@@ -33,18 +33,23 @@ python3.pkgs.buildPythonApplication rec {
     gst-plugins-base
     gst-plugins-ugly
     gstreamer
+    gnome3.gnome-settings-daemon
     gtk3
     gtkspell3
     hunspell
     libsecret
-    webkitgtk
+    (webkitgtk.override {enableGLES = false;})
+    glib
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
+    pyfxa
     beautifulsoup4
+    cryptography
     pycairo
     pygobject3
     python-dateutil
+    pycrypto
   ];
 
   postPatch = ''
@@ -52,9 +57,11 @@ python3.pkgs.buildPythonApplication rec {
     patchShebangs meson_post_install.py
   '';
 
+  dontWrapGApps = true;
   preFixup = ''
     buildPythonPath "$out $propagatedBuildInputs"
     patchPythonScript "$out/libexec/eolie-sp"
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
   '';
 
   passthru = {
@@ -63,6 +70,7 @@ python3.pkgs.buildPythonApplication rec {
     };
   };
 
+  strictDeps = false;
 
   meta = with stdenv.lib; {
     description = "A new GNOME web browser";
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index 8d711b6de2f..fa19c4efa9d 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -119,9 +119,13 @@ in stdenv.mkDerivation {
       --replace /opt $out/share \
       --replace $out/share/google/$appname/google-$appname $exe
 
-    for icon_file in $out/share/google/chrome*/product_logo_*[0-9].png; do
+    for icon_file in $out/share/google/chrome*/product_logo_[0-9]*.png; do
       num_and_suffix="''${icon_file##*logo_}"
-      icon_size="''${num_and_suffix%.*}"
+      if [ $dist = "stable" ]; then
+        icon_size="''${num_and_suffix%.*}"
+      else
+        icon_size="''${num_and_suffix%_*}"
+      fi
       logo_output_prefix="$out/share/icons/hicolor"
       logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps"
       mkdir -p "$logo_output_path"
diff --git a/pkgs/applications/networking/cluster/atlantis/default.nix b/pkgs/applications/networking/cluster/atlantis/default.nix
index 86d1b80d061..d3e18ce691f 100644
--- a/pkgs/applications/networking/cluster/atlantis/default.nix
+++ b/pkgs/applications/networking/cluster/atlantis/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "atlantis";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "runatlantis";
     repo = "atlantis";
     rev = "v${version}";
-    sha256 = "1g1bh1v3yd3dz80ckjrhspmsf78nw8hc907hh9jzbq62psqg4459";
+    sha256 = "0nb0dm4yn6f5pw7clgb2d1khcwcxiidqyc0sdh38wwqg0zyil0cz";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index 865a892efb7..44e21de0a03 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.20.1";
+  version = "1.20.2";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "1l514rf7rg05prq9548ygj6z284sy85ddzrwiiqr74vz4kilg3vb";
+    sha256 = "1a44lmrvi5f9jr04rblhcsg3zvqzvdp9wyw4m4h4scsqp5g7dfb7";
   };
 
-  vendorSha256 = "00qm45vfz4afj8f9hikrlk96w0rdzxqq2azhzrnzfymyiwc6jk5c";
+  vendorSha256 = "1yzh6iglrzd43yqs1b6qh1i62b6qaz3232lgxyg3gmc81p0i5kr0";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/kpt/default.nix b/pkgs/applications/networking/cluster/kpt/default.nix
index 634fa22fe77..c370d122703 100644
--- a/pkgs/applications/networking/cluster/kpt/default.nix
+++ b/pkgs/applications/networking/cluster/kpt/default.nix
@@ -2,22 +2,18 @@
 
 buildGoModule rec {
   pname = "kpt";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pgv15zgv30dpv148bn6x0anv9q6x78y6ldmzarb9fbjpk6j0wxl";
+    sha256 = "1lvfbpxxddm1pk4mb4sm0chw15dalsfyhgy86npz94xjf1jssyh8";
   };
 
-  vendorSha256 = "0l8xdnv2m6byd5dwvs3zgcj1lsci7ax4xvx178a8a78sgkqalvmq";
+  vendorSha256 = "1xkjgzy9z7v5z4kl1769dgrrr0ljr0fdxfdj7xbic9hl6nm94kif";
 
-  doCheck = false;
-
-  postInstall = ''
-    rm $out/bin/{mdtogo,formula}
-  '';
+  subPackages = [ "." ];
 
   meta = with lib; {
     description = "A toolkit to help you manage, manipulate, customize, and apply Kubernetes Resource configuration data files";
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index decbdbd1fbc..0c1f452ea5b 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kube3d";
-  version = "3.0.0";
+  version = "3.0.1";
   k3sVersion = "1.18.6-k3s1";
 
   excludedPackages = ''tools'';
@@ -11,7 +11,7 @@ buildGoModule rec {
     owner  = "rancher";
     repo   = "k3d";
     rev    = "v${version}";
-    sha256 = "1p4rqzi67cr8vf1ih7zqxkpssqq0vy4pb5crvkxbbf5ad5mwrjri";
+    sha256 = "1l6mh0dpf2bw9sxpn14iivv3pr8mj4favzx2hhn8k1j71cm1w4rj";
   };
 
   buildFlagsArray = ''
diff --git a/pkgs/applications/networking/cluster/ssm-agent/default.nix b/pkgs/applications/networking/cluster/ssm-agent/default.nix
index 0835d268cd7..c6f9217b35b 100644
--- a/pkgs/applications/networking/cluster/ssm-agent/default.nix
+++ b/pkgs/applications/networking/cluster/ssm-agent/default.nix
@@ -1,22 +1,56 @@
-{ stdenv, fetchFromGitHub, buildGoPackage }:
+{ stdenv, fetchFromGitHub, buildGoPackage, bash, makeWrapper }:
 
 buildGoPackage rec {
   pname   = "amazon-ssm-agent";
-  version = "2.0.633.0";
+  version = "2.3.1319.0";
 
   goPackagePath = "github.com/aws/${pname}";
-  subPackages   = [ "agent" ];
+  subPackages   = [
+    "agent"
+    "agent/framework/processor/executer/outofproc/worker"
+    "agent/framework/processor/executer/outofproc/worker"
+    "agent/framework/processor/executer/outofproc/sessionworker"
+    "agent/session/logging"
+    "agent/cli-main"
+  ];
+
+  buildInputs = [ makeWrapper ];
 
   src = fetchFromGitHub {
-    rev    = "v${version}";
+    rev    = version;
     owner  = "aws";
     repo   = pname;
-    sha256 = "10arshfn2k3m3zzgw8b3xc6ywd0ss73746nq5srh2jir7mjzi4xv";
+    sha256 = "1yiyhj7ckqa32b1rnbwn7zx89rsj00m5imn1xlpsw002ywxsxbnv";
   };
 
   preBuild = ''
     mv go/src/${goPackagePath}/vendor strange-vendor
     mv strange-vendor/src go/src/${goPackagePath}/vendor
+
+    cd go/src/${goPackagePath}
+    echo ${version} > VERSION
+
+    substituteInPlace agent/plugins/inventory/gatherers/application/dataProvider.go \
+      --replace '"github.com/aws/amazon-ssm-agent/agent/plugins/configurepackage/localpackages"' ""
+
+    go run agent/version/versiongenerator/version-gen.go
+    substituteInPlace agent/appconfig/constants_unix.go \
+      --replace /usr/bin/ssm-document-worker $bin/bin/ssm-document-worker \
+      --replace /usr/bin/ssm-session-worker $bin/bin/ssm-session-worker \
+      --replace /usr/bin/ssm-session-logger $bin/bin/ssm-session-logger
+    cd -
+  '';
+
+  postBuild = ''
+    mv go/bin/agent go/bin/amazon-ssm-agent
+    mv go/bin/worker go/bin/ssm-document-worker
+    mv go/bin/sessionworker go/bin/ssm-session-worker
+    mv go/bin/logging go/bin/ssm-session-logger
+    mv go/bin/cli-main go/bin/ssm-cli
+  '';
+
+  postInstall = ''
+    wrapProgram $out/bin/amazon-ssm-agent --prefix PATH : ${bash}/bin
   '';
 
   meta = with stdenv.lib; {
@@ -24,7 +58,6 @@ buildGoPackage rec {
     homepage    = "https://github.com/aws/amazon-ssm-agent";
     license     = licenses.asl20;
     platforms   = platforms.unix;
-    maintainers = with maintainers; [ copumpkin ];
+    maintainers = with maintainers; [ copumpkin manveru ];
   };
 }
-
diff --git a/pkgs/applications/networking/cluster/tanka/default.nix b/pkgs/applications/networking/cluster/tanka/default.nix
index 2a7899f2fed..1793af1085a 100644
--- a/pkgs/applications/networking/cluster/tanka/default.nix
+++ b/pkgs/applications/networking/cluster/tanka/default.nix
@@ -1,4 +1,4 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib, installShellFiles }:
 
 buildGoModule rec {
   pname = "tanka";
@@ -17,6 +17,13 @@ buildGoModule rec {
 
   buildFlagsArray = [ "-ldflags=-s -w -X main.Version=${version}" ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    echo "complete -C $out/bin/tk tk" > tk.bash
+    installShellCompletion tk.bash
+  '';
+
   meta = with lib; {
     description = "Flexible, reusable and concise configuration for Kubernetes";
     homepage = "https://github.com/grafana/tanka/";
diff --git a/pkgs/applications/networking/instant-messengers/nheko/default.nix b/pkgs/applications/networking/instant-messengers/nheko/default.nix
index 2f5316c9fe2..5d9963956ed 100644
--- a/pkgs/applications/networking/instant-messengers/nheko/default.nix
+++ b/pkgs/applications/networking/instant-messengers/nheko/default.nix
@@ -54,6 +54,11 @@ mkDerivation rec {
     qtquickcontrols2
     qtgraphicaleffects
   ] ++ lib.optional stdenv.isDarwin qtmacextras;
+  # Quick and dirty fix to https://github.com/NixOS/nixpkgs/issues/94952
+  # and/or: https://github.com/NixOS/nixpkgs/issues/94905
+  cmakeFlags = [
+    "-DCMAKE_OSX_ARCHITECTURES="
+  ];
 
   meta = with stdenv.lib; {
     description = "Desktop client for the Matrix protocol";
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index 8928cafa74e..dbc6dc97ef2 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -26,8 +26,6 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
-  doCheck = false;
-
   postInstall = ''
     install -D misc/systemd/ipfs.service $out/etc/systemd/system/ipfs.service
     install -D misc/systemd/ipfs-api.socket $out/etc/systemd/system/ipfs-api.socket
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index f15e4b5fbbf..84c81ecff64 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "20200814";
+  version = "20200821";
   pname = "neomutt";
 
   src = fetchFromGitHub {
     owner  = "neomutt";
     repo   = "neomutt";
     rev    = version;
-    sha256 = "00i2xbadw7rq2b30yjla54m0df4jbh22g6phby41albw2wc2hn72";
+    sha256 = "0l66xf6qp2fdhm5h2v58bbc73pwj72c80mriqac9pfyjh5padir5";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/ssb-patchwork/default.nix b/pkgs/applications/networking/ssb-patchwork/default.nix
index db33e7e6bb2..7bc5563d470 100644
--- a/pkgs/applications/networking/ssb-patchwork/default.nix
+++ b/pkgs/applications/networking/ssb-patchwork/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ssb-patchwork";
-  version = "3.17.7";
+  version = "3.18.0";
   name = "Patchwork-${version}";
 
   src = fetchurl {
     url = "https://github.com/ssbc/patchwork/releases/download/v${version}/${name}.AppImage";
-    sha256 = "1xj2aqy7daf4r3ypch6hkvk1s0jnx70qwh0p63c7rzm16vh8kb2f";
+    sha256 = "1sb9q1qj5mj4cf8d9dsc498mg8a1ri2y0p9qbh44i8ykby8jkgjc";
   };
 
   binary = appimageTools.wrapType2 {
@@ -40,14 +40,14 @@ in
       cp ${desktopItem}/share/applications/* $out/share/applications/
     '';
 
-  meta = with lib; {
-    description = "A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB)";
-    longDescription = ''
-      sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship.
-    '';
-    homepage = "https://www.scuttlebutt.nz/";
-    license = licenses.agpl3;
-    maintainers = with maintainers; [ asymmetric ninjatrappeur thedavidmeister ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
+    meta = with lib; {
+      description = "A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB)";
+      longDescription = ''
+        sea-slang for gossip - a scuttlebutt is basically a watercooler on a ship.
+      '';
+      homepage = "https://www.scuttlebutt.nz/";
+      license = licenses.agpl3;
+      maintainers = with maintainers; [ asymmetric ninjatrappeur ];
+      platforms = [ "x86_64-linux" ];
+    };
+  }
diff --git a/pkgs/applications/science/biology/star/default.nix b/pkgs/applications/science/biology/star/default.nix
index 6f4211d0c0d..3f362e6d46a 100644
--- a/pkgs/applications/science/biology/star/default.nix
+++ b/pkgs/applications/science/biology/star/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "star";
-  version = "2.7.3a";
+  version = "2.7.4a";
 
   src = fetchFromGitHub {
     repo = "STAR";
     owner = "alexdobin";
     rev = version;
-    sha256 = "1hgiqw5qhs0pc1xazzihcfd92na02xyq2kb469z04y1v51kpvvjq";
+    sha256 = "1y4g7h6f95pa9g8kv1aihrfglavqymdx4mnqh6ascs50ibm7zdmz";
   };
 
   sourceRoot = "source/source";
diff --git a/pkgs/applications/science/electronics/adms/default.nix b/pkgs/applications/science/electronics/adms/default.nix
index f55dd2f0528..0fcf4d25e2d 100644
--- a/pkgs/applications/science/electronics/adms/default.nix
+++ b/pkgs/applications/science/electronics/adms/default.nix
@@ -2,14 +2,14 @@
   libxml2, perl, perlPackages, gd }:
 
 stdenv.mkDerivation rec {
-  version = "2.3.6";
+  version = "2.3.7";
   pname = "adms";
 
   src = fetchFromGitHub {
     owner = "Qucs";
     repo = "adms";
     rev = "release-${version}";
-    sha256 = "1pcwq5khzdq4x33lid9hq967gv78dr5i4f2sk8m8rwkfqb9vdzrg";
+    sha256 = "0i37c9k6q1iglmzp9736rrgsnx7sw8xn3djqbbjw29zsyl3pf62c";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/applications/science/electronics/hyp2mat/default.nix b/pkgs/applications/science/electronics/hyp2mat/default.nix
index 1fa2c23b569..154b68dd5aa 100644
--- a/pkgs/applications/science/electronics/hyp2mat/default.nix
+++ b/pkgs/applications/science/electronics/hyp2mat/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hyp2mat";
-  version = "0.0.17";
+  version = "0.0.18";
 
   src = fetchFromGitHub {
     owner = "koendv";
     repo = "hyp2mat";
     rev = "v${version}";
-    sha256 = "04bd2vrn8y1izir7pwl34a60cg2v05baqcrmpfdx5fvf33bbflaj";
+    sha256 = "03ibk51swxfl7pfrhcrfiffdi4mnf8kla0g1xj1lsrvrjwapfx03";
   };
 
   nativeBuildInputs = [
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Import Hyperlynx Boardsim files to openEMS, an open source 3D full-wave electromagnetic field solver";
-    homepage = https://github.com/koendv/hyp2mat;
+    homepage = "https://github.com/koendv/hyp2mat";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ matthuszagh ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/science/electronics/vhd2vl/default.nix b/pkgs/applications/science/electronics/vhd2vl/default.nix
new file mode 100644
index 00000000000..43dfdcabd02
--- /dev/null
+++ b/pkgs/applications/science/electronics/vhd2vl/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, fetchFromGitHub
+, bison
+, flex
+, verilog
+}:
+
+stdenv.mkDerivation rec {
+  pname = "vhd2vl";
+  version = "unstable-2018-09-01";
+
+  src = fetchFromGitHub {
+    owner = "ldoolitt";
+    repo = pname;
+    rev = "37e3143395ce4e7d2f2e301e12a538caf52b983c";
+    sha256 = "17va2pil4938j8c93anhy45zzgnvq3k71a7glj02synfrsv6fs8n";
+  };
+
+  nativeBuildInputs = [
+    bison
+    flex
+  ];
+
+  buildInputs = [
+    verilog
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp src/vhd2vl $out/bin/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "VHDL to Verilog converter";
+    homepage = "https://github.com/ldoolitt/vhd2vl";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ matthuszagh ];
+  };
+}
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index 53dfb84760e..350a4f99af8 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -10,13 +10,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "z3";
-  version = "4.8.7";
+  version = "4.8.8";
 
   src = fetchFromGitHub {
     owner  = "Z3Prover";
     repo   = pname;
     rev    = "z3-${version}";
-    sha256 = "0hprcdwhhyjigmhhk6514m71bnmvqci9r8gglrqilgx424r6ff7q";
+    sha256 = "1rn538ghqwxq0v8i6578j8mflk6fyv0cp4hjfqynzvinjbps56da";
   };
 
   buildInputs = [ python fixDarwinDylibNames ] ++ optional javaBindings jdk;
@@ -46,6 +46,6 @@ stdenv.mkDerivation rec {
     homepage    = "https://github.com/Z3Prover/z3";
     license     = stdenv.lib.licenses.mit;
     platforms   = stdenv.lib.platforms.x86_64;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    maintainers = with stdenv.lib.maintainers; [ thoughtpolice ttuegel ];
   };
 }
diff --git a/pkgs/applications/science/math/calculix/calculix.patch b/pkgs/applications/science/math/calculix/calculix.patch
index 5b8f492a8e7..2334d54711e 100644
--- a/pkgs/applications/science/math/calculix/calculix.patch
+++ b/pkgs/applications/science/math/calculix/calculix.patch
@@ -1,16 +1,7 @@
-diff --git a/ccx_2.15/src/Makefile b/ccx_2.15/src/Makefile
-index 9cab2fc..6e977b8 100755
---- a/ccx_2.15/src/Makefile
-+++ b/ccx_2.15/src/Makefile
-@@ -1,6 +1,6 @@
- 
- CFLAGS = -Wall -O3  -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT
--FFLAGS = -Wall -O3 
-+FFLAGS = -Wall -O3
- 
- CC=cc
- FC=gfortran
-@@ -18,15 +18,10 @@ OCCXF = $(SCCXF:.f=.o)
+diff -Naur a/ccx_2.17/src/Makefile b/ccx_2.17/src/Makefile
+--- a/ccx_2.17/src/Makefile	2020-07-23 21:41:38.507761972 +0200
++++ b/ccx_2.17/src/Makefile	2020-08-22 16:53:50.004938281 +0200
+@@ -18,15 +18,10 @@
  OCCXC = $(SCCXC:.c=.o)
  OCCXMAIN = $(SCCXMAIN:.c=.o)
  
@@ -22,10 +13,10 @@ index 9cab2fc..6e977b8 100755
 -	../../../ARPACK/libarpack_INTEL.a \
 -       -lpthread -lm -lc
 -
--ccx_2.15: $(OCCXMAIN) ccx_2.15.a  $(LIBS)
--	./date.pl; $(CC) $(CFLAGS) -c ccx_2.15.c; $(FC)  -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS)
-+ccx_2.15: $(OCCXMAIN) ccx_2.15.a
-+	$(CC) $(CFLAGS) -c ccx_2.15.c; $(FC)  -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS)
+-ccx_2.17: $(OCCXMAIN) ccx_2.17.a  $(LIBS)
+-	./date.pl; $(CC) $(CFLAGS) -c ccx_2.17.c; $(FC)  -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.17.a $(LIBS)
++ccx_2.17: $(OCCXMAIN) ccx_2.17.a
++	$(CC) $(CFLAGS) -c ccx_2.17.c; $(FC)  -Wall -O2 -o $@ $(OCCXMAIN) ccx_2.17.a $(LIBS)
  
- ccx_2.15.a: $(OCCXF) $(OCCXC)
+ ccx_2.17.a: $(OCCXF) $(OCCXC)
  	ar vr $@ $?
diff --git a/pkgs/applications/science/math/calculix/default.nix b/pkgs/applications/science/math/calculix/default.nix
index 44882594550..e37e9d0910c 100644
--- a/pkgs/applications/science/math/calculix/default.nix
+++ b/pkgs/applications/science/math/calculix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "calculix";
-  version = "2.15";
+  version = "2.17";
 
   src = fetchurl {
     url = "http://www.dhondt.de/ccx_${version}.src.tar.bz2";
-    sha256 = "0d4axfxgm3ag4p2vx9rjcky7c122k99a2nhv1jv53brm35rblzdw";
+    sha256 = "0l3fizxfdj2mpdp62wnk9v47q2yc3cy39fpsm629z7bjmba8lw6a";
   };
 
   nativeBuildInputs = [ gfortran ];
diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix
index 213530b60a9..d1ab05d4cde 100644
--- a/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,17 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.8.0a";
+  version = "3.12.1";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "0bjd61bbc5b2i09kz3ss01c0xmxrhmiv5wpbhhplkp3yhw2qrf3m";
+    sha256 = "0ylsxj9rn3dc1grn9w6jisci3ak0hxgbwzqp54azs3aj5cmvkfgg";
   };
 
   patchPhase = ''
-    substituteInPlace src/main.cc --replace 'getPackageDataDir().c_str()' \"$out/share\"
+    # https://github.com/Qalculate/qalculate-gtk/pull/178
+    substituteInPlace configure.ac --replace 'libxml-2.0' 'libxml-2.0 gio-unix-2.0'
+
+    # https://github.com/Qalculate/qalculate-gtk/pull/179
+    echo searchprovider.o: gnome-search-provider2.c >>src/Makefile.am
   '';
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
index c073edaee7d..ffdb788745a 100644
--- a/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/diff-so-fancy/default.nix
@@ -11,12 +11,19 @@ stdenv.mkDerivation rec {
     sha256 = "0aavxahzha2mms4vdwysk79pa6wzswpfwgsq2hwaxnaf66maahfl";
   };
 
-  # Perl is needed here for patchShebangs
-  nativeBuildInputs = [ perl makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+  ];
 
-  buildPhase = null;
+  buildInputs = [
+    perl # needed for patchShebangs
+  ];
+
+  dontBuild = true;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/lib/diff-so-fancy
 
     # diff-so-fancy executable searches for it's library relative to
@@ -32,6 +39,8 @@ stdenv.mkDerivation rec {
       --prefix PATH : "${git}/bin" \
       --prefix PATH : "${coreutils}/bin" \
       --prefix PATH : "${ncurses.out}/bin"
+
+    runHook postInstall
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/streamlink-twitch-gui/bin.nix b/pkgs/applications/video/streamlink-twitch-gui/bin.nix
new file mode 100644
index 00000000000..251f495b7e1
--- /dev/null
+++ b/pkgs/applications/video/streamlink-twitch-gui/bin.nix
@@ -0,0 +1,100 @@
+{ autoPatchelfHook, fetchurl, lib, makeDesktopItem, makeWrapper, stdenv, wrapGAppsHook
+, at-spi2-core, atk, alsaLib, cairo, cups, dbus, expat, gcc-unwrapped
+, gdk-pixbuf, glib, gnome2, gtk3-x11, libudev0-shim, libuuid, nss, nspr, xorg
+, streamlink }:
+
+let
+  basename = "streamlink-twitch-gui";
+  runtimeLibs = lib.makeLibraryPath [ libudev0-shim ];
+  arch =
+    if stdenv.hostPlatform.system == "x86_64-linux"
+    then
+      "linux64"
+    else
+      "linux32";
+
+in
+stdenv.mkDerivation rec {
+  pname = "${basename}-bin";
+  version = "1.10.0";
+
+  src = fetchurl {
+    url = "https://github.com/streamlink/${basename}/releases/download/v${version}/${basename}-v${version}-${arch}.tar.gz";
+    sha256 =
+      if arch == "linux64"
+      then
+        "17s9zbzj4pgz9mxxwjbp3788afkddc9s3p7xp28y5084z9wwzph2"
+      else
+        "1pww05hr48m6v0g1sz48g1c7p615lig3s12l21xgyz4gkjzmjy22";
+  };
+
+  nativeBuildInputs = with xorg; [
+    at-spi2-core
+    atk
+    alsaLib
+    autoPatchelfHook
+    cairo
+    cups.lib
+    dbus.daemon.lib
+    expat
+    gcc-unwrapped
+    gdk-pixbuf
+    glib
+    gnome2.pango
+    gtk3-x11
+    nss
+    nspr
+    libuuid
+    libX11
+    libxcb
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXScrnSaver
+    libXtst
+    makeWrapper
+    wrapGAppsHook
+  ];
+
+  buildInputs = [ streamlink ];
+
+  dontBuild = true;
+  dontConfigure = true;
+
+  installPhase = ''
+    mkdir -p $out/{bin,opt/${basename},share}
+
+    # Install all files, remove unnecessary ones
+    cp -a . $out/opt/${basename}/
+    rm -r $out/opt/${basename}/{{add,remove}-menuitem.sh,credits.html,icons/}
+
+    wrapProgram $out/opt/${basename}/${basename} --add-flags "--no-version-check" --prefix LD_LIBRARY_PATH : ${runtimeLibs}
+
+    ln -s "$out/opt/${basename}/${basename}" $out/bin/
+    ln -s "${desktopItem}/share/applications" $out/share/
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = basename;
+    exec = basename;
+    icon = basename;
+    desktopName = "Streamlink Twitch GUI";
+    genericName = meta.description;
+    categories = "AudioVideo;Network;";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Twitch.tv browser for Streamlink";
+    longDescription = "Browse Twitch.tv and watch streams in your videoplayer of choice";
+    homepage = "https://streamlink.github.io/streamlink-twitch-gui/";
+    downloadPage = https://github.com/streamlink/streamlink-twitch-gui/releases;
+    license = licenses.mit;
+    maintainers = with maintainers; [ rileyinman ];
+    platforms = [ "x86_64-linux" "i686-linux" ];
+  };
+}
diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix
index 6e5ba4abf37..c68c0d47e39 100644
--- a/pkgs/applications/virtualization/docker-slim/default.nix
+++ b/pkgs/applications/virtualization/docker-slim/default.nix
@@ -6,7 +6,7 @@
 
 buildGoPackage rec {
   pname = "docker-slim";
-  version = "1.30.0";
+  version = "1.31.0";
 
   goPackagePath = "github.com/docker-slim/docker-slim";
 
@@ -14,7 +14,7 @@ buildGoPackage rec {
     owner = "docker-slim";
     repo = "docker-slim";
     rev = version;
-    sha256 = "10w5v0qqj8yqd81hpz65pq1lx0j9pl112s7hl6y9p3i3f0m0931f";
+    sha256 = "0kj97kwyjs9hksaas0zic4m7w8b17c1d7c8vhiq2862w97ngxrsk";
   };
 
   subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
diff --git a/pkgs/data/fonts/kanji-stroke-order-font/default.nix b/pkgs/data/fonts/kanji-stroke-order-font/default.nix
index 1c1609b03f1..7b8444c3cde 100644
--- a/pkgs/data/fonts/kanji-stroke-order-font/default.nix
+++ b/pkgs/data/fonts/kanji-stroke-order-font/default.nix
@@ -1,20 +1,22 @@
-{ stdenv, fetchzip }:
+{ stdenv, fetchurl }:
 
 let
-  version = "4.002";
-in fetchzip {
+  version = "4.003";
+  debianVersion = "dfsg-1";
+in stdenv.mkDerivation {
   name = "kanji-stroke-order-font-${version}";
 
-  url = "https://sites.google.com/site/nihilistorguk/KanjiStrokeOrders_v${version}.zip?attredirects=0";
+  src = fetchurl {
+    url = "https://salsa.debian.org/fonts-team/fonts-kanjistrokeorders/-/archive/debian/${version}_${debianVersion}/fonts-kanjistrokeorders-debian-${version}_${debianVersion}.tar.bz2";
+    sha256 = "1a8hxzkrfjz0h5gl9h0panzzsn7cldlklxryyzmpam23g32q6bg1";
+  };
 
-  postFetch = ''
+  installPhase = ''
     mkdir -p $out/share/fonts/kanji-stroke-order $out/share/doc/kanji-stroke-order
-    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/kanji-stroke-order
-    unzip -j $downloadedFile \*.txt -d $out/share/doc/kanji-stroke-order
+    cp *.ttf $out/share/fonts/kanji-stroke-order
+    cp *.txt $out/share/doc/kanji-stroke-order
   '';
 
-  sha256 = "194ylkx5p7r1461wnnd3hisv5dz1xl07fyxmg8gv47zcwvdmwkc0";
-
   meta = with stdenv.lib; {
     description = "Font containing stroke order diagrams for over 6500 kanji, 180 kana and other characters";
     homepage = "https://sites.google.com/site/nihilistorguk/";
diff --git a/pkgs/data/fonts/recursive/default.nix b/pkgs/data/fonts/recursive/default.nix
index 93f5698e555..7f3b9562e89 100644
--- a/pkgs/data/fonts/recursive/default.nix
+++ b/pkgs/data/fonts/recursive/default.nix
@@ -1,21 +1,21 @@
 { lib, fetchzip }:
 
 let
-  version = "1.054";
+  version = "1.057";
 in
 fetchzip {
   name = "recursive-${version}";
 
-  url = "https://github.com/arrowtype/recursive/releases/download/${version}/ArrowType-Recursive-${version}.zip";
+  url = "https://github.com/arrowtype/recursive/releases/download/${version}/Recursive-${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts/
-    unzip -j $downloadedFile \*.otf -x __MACOSX/\* -d $out/share/fonts/opentype
-    unzip -j $downloadedFile \*.ttf -x __MACOSX/\* -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*.woff2 -x __MACOSX/\* -d $out/share/fonts/woff2
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+    unzip -j $downloadedFile \*.woff2 -d $out/share/fonts/woff2
   '';
 
-  sha256 = "12ld0w7x5lyvymrnqzfj74a3m6knv7i1795bvnpyljmxxkacscnl";
+  sha256 = "0qsqldnhgl93h1izminjajjymvyxsw91ngdbxlhgbqvadg77325y";
 
   meta = with lib; {
     homepage = "https://recursive.design/";
diff --git a/pkgs/data/themes/arc/default.nix b/pkgs/data/themes/arc/default.nix
index ff20efd816b..1e36eb2f99a 100644
--- a/pkgs/data/themes/arc/default.nix
+++ b/pkgs/data/themes/arc/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arc-theme";
-  version = "20200513";
+  version = "20200819";
 
   src = fetchFromGitHub {
     owner = "jnsh";
     repo = pname;
     rev = version;
-    sha256 = "1xiaf31v3j040hflhf09kpznc93a5fqs92m5jf79y46w3dgpia0p";
+    sha256 = "1l5sc4r5jp3526r4p32fszny0cw6pkb45cp424hq0s0k344z9px6";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/deepin/dde-api/default.nix b/pkgs/desktops/deepin/dde-api/default.nix
index 011be982df5..95e38a86416 100644
--- a/pkgs/desktops/deepin/dde-api/default.nix
+++ b/pkgs/desktops/deepin/dde-api/default.nix
@@ -123,5 +123,6 @@ buildGoPackage rec {
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ romildo ];
+    broken = true; # 2020-08-22 https://hydra.nixos.org/build/125354866/nixlog/2
   };
 }
diff --git a/pkgs/development/compilers/llvm/rocm/clang.nix b/pkgs/development/compilers/llvm/rocm/clang.nix
index 86853a97c93..6bb23b77543 100644
--- a/pkgs/development/compilers/llvm/rocm/clang.nix
+++ b/pkgs/development/compilers/llvm/rocm/clang.nix
@@ -4,7 +4,6 @@
 , python
 , llvm
 , clang-tools-extra_src ? null
-, rocm-runtime
 , lld
 
 , version
@@ -18,7 +17,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake python ];
 
-  buildInputs = [ llvm rocm-runtime ];
+  buildInputs = [ llvm ];
 
   hardeningDisable = [ "all" ];
 
diff --git a/pkgs/development/compilers/llvm/rocm/default.nix b/pkgs/development/compilers/llvm/rocm/default.nix
index e90818d8505..d29a2bda330 100644
--- a/pkgs/development/compilers/llvm/rocm/default.nix
+++ b/pkgs/development/compilers/llvm/rocm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchFromGitHub, callPackage, wrapCCWith }:
 
 let
-  version = "3.5.1";
+  version = "3.7.0";
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "llvm-project";
     rev = "rocm-${version}";
-    sha256 = "03k2xp8wf4awf1zcjc2hb3kf9bqp567c3s569gp1q3q1zjg6r2ib";
+    sha256 = "02p0s041wwsi4q0dhs1sj5l6059y02s31az505h0f22agz3jnpfn";
   };
 in rec {
   clang = wrapCCWith rec {
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index f2b61ab700d..1558756e16b 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -10,20 +10,22 @@ let
   safeX11 = stdenv: !(stdenv.isAarch32 || stdenv.isMips);
 in
 
-{ stdenv, fetchurl, ncurses, buildEnv
+{ stdenv, fetchurl, ncurses, buildEnv, libunwind
 , libX11, xorgproto, useX11 ? safeX11 stdenv && !stdenv.lib.versionAtLeast version "4.09"
 , aflSupport ? false
 , flambdaSupport ? false
+, spaceTimeSupport ? false
 }:
 
 assert useX11 -> !stdenv.isAarch32 && !stdenv.isMips;
 assert aflSupport -> stdenv.lib.versionAtLeast version "4.05";
 assert flambdaSupport -> stdenv.lib.versionAtLeast version "4.03";
+assert spaceTimeSupport -> stdenv.lib.versionAtLeast version "4.04";
 
 let
    useNativeCompilers = !stdenv.isMips;
    inherit (stdenv.lib) optional optionals optionalString;
-   name = "ocaml${optionalString aflSupport "+afl"}${optionalString flambdaSupport "+flambda"}-${version}";
+   name = "ocaml${optionalString aflSupport "+afl"}${optionalString spaceTimeSupport "+spacetime"}${optionalString flambdaSupport "+flambda"}-${version}";
 in
 
 let
@@ -53,11 +55,13 @@ stdenv.mkDerivation (args // {
       [ "-x11lib" x11lib "-x11include" x11inc ])
   ++ optional aflSupport (flags "--with-afl" "-afl-instrument")
   ++ optional flambdaSupport (flags "--enable-flambda" "-flambda")
+  ++ optional spaceTimeSupport (flags "--enable-spacetime" "-spacetime")
   ;
 
   buildFlags = [ "world" ] ++ optionals useNativeCompilers [ "bootstrap" "world.opt" ];
   buildInputs = optional (!stdenv.lib.versionAtLeast version "4.07") ncurses
     ++ optionals useX11 [ libX11 xorgproto ];
+  propagatedBuildInputs = optional spaceTimeSupport libunwind;
   installTargets = [ "install" ] ++ optional useNativeCompilers "installopt";
   preConfigure = optionalString (!stdenv.lib.versionAtLeast version "4.04") ''
     CAT=$(type -tp cat)
diff --git a/pkgs/development/compilers/souffle/default.nix b/pkgs/development/compilers/souffle/default.nix
index d7fc7b114ab..dbc5c1fa517 100644
--- a/pkgs/development/compilers/souffle/default.nix
+++ b/pkgs/development/compilers/souffle/default.nix
@@ -10,13 +10,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "souffle";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner  = "souffle-lang";
     repo   = "souffle";
     rev    = version;
-    sha256 = "1azn32x0xbbk8gagipb34qk3y1srm927j5d34w20isgjxir4xsnz";
+    sha256 = "0f7jwmgv83m85lrb2qwvr4cfwzbqww7pik884xd2593fsfqhpnkn";
   };
 
   nativeBuildInputs = [ autoreconfHook bison flex mcpp doxygen graphviz makeWrapper perl ];
diff --git a/pkgs/development/coq-modules/coqprime/default.nix b/pkgs/development/coq-modules/coqprime/default.nix
index a049fa94d41..0ead97ffbf0 100644
--- a/pkgs/development/coq-modules/coqprime/default.nix
+++ b/pkgs/development/coq-modules/coqprime/default.nix
@@ -6,6 +6,10 @@ let
           version = "8.8";
           sha256 = "075yjczk79pf1hd3lgdjiz84ilkzfxjh18lgzrhhqp7d3kz5lxp5";
         };
+        v_8_10 = {
+          version = "8.10";
+          sha256 = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz";
+        };
     in
       {
         "8.7" = {
@@ -14,10 +18,8 @@ let
         };
         "8.8" = v_8_8;
         "8.9" = v_8_8;
-        "8.10" = {
-          version = "8.10";
-          sha256 = "0r9gnh5a5ykiiz5h1i8xnzgiydpwc4z9qhndxyya85xq0f910qaz";
-        };
+        "8.10" = v_8_10;
+        "8.11" = v_8_10;
       };
   param = params.${coq.coq-version};
 in
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 97c12bfebaa..54c4e7c5465 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -296,7 +296,6 @@ self: super: {
   hs2048 = dontCheck super.hs2048;
   hsbencher = dontCheck super.hsbencher;
   hsexif = dontCheck super.hsexif;
-  hspec-core = if pkgs.stdenv.isi686 then dontCheck super.hspec-core else super.hspec-core; # tests rely on `Int` being 64-bit; https://github.com/hspec/hspec/issues/431
   hspec-server = dontCheck super.hspec-server;
   HTF = dontCheck super.HTF;
   htsn = dontCheck super.htsn;
@@ -315,6 +314,13 @@ self: super: {
     then dontCheck super.math-functions # "erf table" test fails on Darwin https://github.com/bos/math-functions/issues/63
     else super.math-functions;
   matplotlib = dontCheck super.matplotlib;
+
+  # Needs the latest version of vty and brick.
+  matterhorn = super.matterhorn.overrideScope (self: super: {
+    brick = self.brick_0_55;
+    vty = self.vty_5_30;
+  });
+
   memcache = dontCheck super.memcache;
   metrics = dontCheck super.metrics;
   milena = dontCheck super.milena;
@@ -834,6 +840,7 @@ self: super: {
           then dontCheck
           else pkgs.lib.id;
     in doJailbreak (f super.servant-docs); # jailbreak tasty < 1.2 until servant-docs > 0.11.3 is on hackage.
+  snap-templates = doJailbreak super.snap-templates; # https://github.com/snapframework/snap-templates/issues/22
   swagger2 = if (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) then dontHaddock (dontCheck super.swagger2) else super.swagger2;
 
   # Copy hledger man pages from data directory into the proper place. This code
@@ -1323,42 +1330,6 @@ self: super: {
   # https://github.com/ennocramer/monad-dijkstra/issues/4
   monad-dijkstra = dontCheck (doJailbreak super.monad-dijkstra);
 
-  # haskell-language-server uses its own fork of ghcide
-  # Test disabled: it seems to freeze (is it just that it takes a long time ?)
-  hls-ghcide =
-    dontCheck ((
-      overrideCabal super.hls-ghcide
-        (old: {
-          # The integration test run by lsp-test requires the executable to be in the PATH
-          preCheck = ''
-            export PATH=$PATH:dist/build/ghcide
-          '';
-        })).override {
-          # we are faster than stack here
-          hie-bios = dontCheck self.hie-bios_0_6_2;
-          lsp-test = dontCheck self.lsp-test_0_11_0_4;
-        });
-
-  haskell-language-server = (overrideCabal super.haskell-language-server
-    (old: {
-      # The integration test run by lsp-test requires the executable to be in the PATH
-      preCheck = ''
-        export PATH=$PATH:dist/build/haskell-language-server
-      '';
-      # The wrapper test does not work for now.
-      testTarget = "func-test";
-
-      # test needs the git tool
-      testToolDepends = old.testToolDepends
-        ++ [ pkgs.git ];
-    })).override {
-      # use a fork of ghcide
-      ghcide = self.hls-ghcide;
-      # we are faster than stack here
-      hie-bios = dontCheck self.hie-bios_0_6_2;
-      lsp-test = dontCheck self.lsp-test_0_11_0_4;
-    };
-
   # https://github.com/kowainik/policeman/issues/57
   policeman = doJailbreak super.policeman;
 
@@ -1419,23 +1390,11 @@ self: super: {
   reflex-dom-pandoc = super.reflex-dom-pandoc.override {
     pandoc-types = self.pandoc-types_1_21;
   };
-  pandoc_2_10_1 = super.pandoc_2_10_1.override {
+  pandoc_2_10_1 = super.pandoc_2_10_1.overrideScope (self: super: {
     pandoc-types = self.pandoc-types_1_21;
     hslua = self.hslua_1_1_2;
-    texmath = self.texmath.override {
-      pandoc-types = self.pandoc-types_1_21;
-    };
-    tasty-lua = self.tasty-lua.override {
-      hslua = self.hslua_1_1_2;
-    };
-    hslua-module-text = self.hslua-module-text.override {
-      hslua = self.hslua_1_1_2;
-    };
-    hslua-module-system = self.hslua-module-system.override {
-      hslua = self.hslua_1_1_2;
-    };
     jira-wiki-markup = self.jira-wiki-markup_1_3_2;
-  };
+  });
 
   # Apply version-bump patch that is not contained in released version yet.
   # Upstream PR: https://github.com/srid/neuron/pull/304
@@ -1447,14 +1406,10 @@ self: super: {
     extraPrefix = "";
   }))
     # See comment about overrides above commonmark-pandoc
-    .override {
+    .overrideScope (self: super: {
     pandoc = self.pandoc_2_10_1;
     pandoc-types = self.pandoc-types_1_21;
-    rib = super.rib.override {
-      pandoc = self.pandoc_2_10_1;
-      pandoc-types = self.pandoc-types_1_21;
-    };
-  };
+  });
 
   # Testsuite trying to run `which haskeline-examples-Test`
   haskeline_0_8_0_0 = dontCheck super.haskeline_0_8_0_0;
@@ -1469,4 +1424,41 @@ self: super: {
   # https://github.com/bos/statistics/issues/170
   statistics = dontCheck super.statistics;
 
-} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
+  hcoord = overrideCabal super.hcoord (drv: {
+    # Remove when https://github.com/danfran/hcoord/pull/8 is merged.
+    patches = [
+      (pkgs.fetchpatch {
+        url = "https://github.com/danfran/hcoord/pull/8/commits/762738b9e4284139f5c21f553667a9975bad688e.patch";
+        sha256 = "03r4jg9a6xh7w3jz3g4bs7ff35wa4rrmjgcggq51y0jc1sjqvhyz";
+      })
+    ];
+    # Remove when https://github.com/danfran/hcoord/issues/9 is closed.
+    doCheck = false;
+  });
+
+  # Tests rely on `Int` being 64-bit: https://github.com/hspec/hspec/issues/431.
+  # Also, we need QuickCheck-2.14.x to build the test suite, which isn't easy in LTS-16.x.
+  # So let's not go there any just disable the tests altogether.
+  hspec-core = dontCheck super.hspec-core;
+
+  # INSERT NEW OVERRIDES ABOVE THIS LINE
+
+} // (let
+  hlsScopeOverride = self: super: {
+    # haskell-language-server uses its own fork of ghcide
+    # Test disabled: it seems to freeze (is it just that it takes a long time ?)
+    ghcide = dontCheck self.hls-ghcide;
+    # we are faster than stack here
+    hie-bios = dontCheck self.hie-bios_0_6_2;
+    lsp-test = dontCheck self.lsp-test_0_11_0_4;
+    # fourmolu can‘t compile with an older aeson
+    aeson = dontCheck super.aeson_1_5_2_0;
+    # brittany has an aeson upper bound of 1.5
+    brittany = doJailbreak super.brittany;
+  };
+  in {
+    haskell-language-server = dontCheck (super.haskell-language-server.overrideScope hlsScopeOverride);
+    hls-ghcide = dontCheck (super.hls-ghcide.overrideScope hlsScopeOverride);
+    fourmolu = super.fourmolu.overrideScope hlsScopeOverride;
+  }
+)  // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-head.nix b/pkgs/development/haskell-modules/configuration-ghc-head.nix
index 8d084162783..cbfd4b84b2f 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-head.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-head.nix
@@ -48,6 +48,7 @@ self: super: {
   transformers = null;
   unix = null;
   xhtml = null;
+  exceptions = null;
 
   # https://github.com/tibbe/unordered-containers/issues/214
   unordered-containers = dontCheck super.unordered-containers;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index c76574cccee..a9b0b88eaef 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -72,7 +72,7 @@ default-package-overrides:
   # gi-gdkx11-4.x requires gtk-4.x, which is still under development and
   # not yet available in Nixpkgs
   - gi-gdkx11 < 4
-  # LTS Haskell 16.9
+  # LTS Haskell 16.10
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Angle ==1.0
@@ -243,7 +243,7 @@ default-package-overrides:
   - asn1-encoding ==0.9.6
   - asn1-parse ==0.9.5
   - asn1-types ==0.3.4
-  - assert-failure ==0.1.2.3
+  - assert-failure ==0.1.2.4
   - assoc ==1.0.2
   - astro ==0.4.2.1
   - async ==2.2.2
@@ -262,7 +262,7 @@ default-package-overrides:
   - attoparsec-path ==0.0.0.1
   - audacity ==0.0.2
   - aur ==7.0.3
-  - aura ==3.1.6
+  - aura ==3.1.7
   - authenticate ==1.3.5
   - authenticate-oauth ==1.6.0.1
   - auto ==0.4.3.1
@@ -671,7 +671,7 @@ default-package-overrides:
   - doldol ==0.4.1.2
   - do-list ==1.0.1
   - do-notation ==0.1.0.2
-  - dotenv ==0.8.0.4
+  - dotenv ==0.8.0.6
   - dotgen ==0.4.3
   - dotnet-timespan ==0.0.1.0
   - double-conversion ==2.0.2.0
@@ -760,7 +760,7 @@ default-package-overrides:
   - extended-reals ==0.2.4.0
   - extensible-effects ==5.0.0.1
   - extensible-exceptions ==0.1.1.4
-  - extra ==1.7.4
+  - extra ==1.7.5
   - extractable-singleton ==0.0.1
   - extrapolate ==0.4.2
   - fail ==4.9.0.0
@@ -979,7 +979,7 @@ default-package-overrides:
   - hall-symbols ==0.1.0.6
   - hamtsolo ==1.0.3
   - HandsomeSoup ==0.4.2
-  - hapistrano ==0.4.1.0
+  - hapistrano ==0.4.1.2
   - happstack-server ==7.6.1
   - happy ==1.19.12
   - HasBigDecimal ==0.1.1
@@ -1007,7 +1007,7 @@ default-package-overrides:
   - haskoin-core ==0.13.4
   - haskoin-node ==0.13.0
   - hasql ==1.4.3
-  - hasql-optparse-applicative ==0.3.0.5
+  - hasql-optparse-applicative ==0.3.0.6
   - hasql-pool ==0.5.2
   - hasql-transaction ==1.0.0.1
   - hasty-hamiltonian ==1.3.3
@@ -1088,18 +1088,18 @@ default-package-overrides:
   - HSlippyMap ==3.0.1
   - hslogger ==1.3.1.0
   - hslua ==1.0.3.2
-  - hslua-aeson ==1.0.2
+  - hslua-aeson ==1.0.3
   - hslua-module-doclayout ==0.1.0
-  - hslua-module-system ==0.2.1
+  - hslua-module-system ==0.2.2
   - hslua-module-text ==0.2.1
   - HsOpenSSL ==0.11.4.18
   - hsp ==0.10.0
-  - hspec ==2.7.1
+  - hspec ==2.7.2
   - hspec-attoparsec ==0.1.0.2
   - hspec-checkers ==0.1.0.2
   - hspec-contrib ==0.5.1
-  - hspec-core ==2.7.1
-  - hspec-discover ==2.7.1
+  - hspec-core ==2.7.2
+  - hspec-discover ==2.7.2
   - hspec-expectations ==0.8.2
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.5
@@ -1258,7 +1258,7 @@ default-package-overrides:
   - ix-shapable ==0.1.0
   - jack ==0.7.1.4
   - jira-wiki-markup ==1.1.4
-  - jose ==0.8.3
+  - jose ==0.8.3.1
   - jose-jwt ==0.8.0
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
@@ -1289,7 +1289,7 @@ default-package-overrides:
   - kmeans ==0.1.3
   - koofr-client ==1.0.0.3
   - krank ==0.2.2
-  - kubernetes-webhook-haskell ==0.2.0.2
+  - kubernetes-webhook-haskell ==0.2.0.3
   - l10n ==0.1.0.1
   - labels ==0.3.3
   - lackey ==1.0.13
@@ -1394,7 +1394,7 @@ default-package-overrides:
   - massiv-test ==0.1.3.1
   - mathexpr ==0.3.0.0
   - math-extras ==0.1.1.0
-  - math-functions ==0.3.4.0
+  - math-functions ==0.3.4.1
   - matplotlib ==0.7.5
   - matrices ==0.5.0
   - matrix ==0.3.6.1
@@ -1466,7 +1466,7 @@ default-package-overrides:
   - monad-extras ==0.6.0
   - monadic-arrays ==0.2.2
   - monad-journal ==0.8.1
-  - monad-logger ==0.3.34
+  - monad-logger ==0.3.35
   - monad-logger-json ==0.1.0.0
   - monad-logger-prefix ==0.1.11
   - monad-loops ==0.4.3
@@ -1589,7 +1589,7 @@ default-package-overrides:
   - OneTuple ==0.2.2.1
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
-  - opaleye ==0.6.7005.0
+  - opaleye ==0.6.7006.1
   - OpenAL ==1.7.0.5
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.2
@@ -1786,7 +1786,7 @@ default-package-overrides:
   - qchas ==1.1.0.1
   - qm-interpolated-string ==0.3.0.0
   - qrcode-core ==0.9.4
-  - qrcode-juicypixels ==0.8.1
+  - qrcode-juicypixels ==0.8.2
   - quadratic-irrational ==0.1.1
   - QuasiText ==0.1.2.6
   - QuickCheck ==2.13.2
@@ -1835,7 +1835,7 @@ default-package-overrides:
   - reanimate ==0.3.3.0
   - reanimate-svg ==0.9.8.0
   - rebase ==1.6.1
-  - record-dot-preprocessor ==0.2.5
+  - record-dot-preprocessor ==0.2.6
   - record-hasfield ==1.0
   - records-sop ==0.1.0.3
   - recursion-schemes ==5.1.3
@@ -2170,7 +2170,7 @@ default-package-overrides:
   - tasty-hunit ==0.10.0.2
   - tasty-kat ==0.0.3
   - tasty-leancheck ==0.0.1
-  - tasty-lua ==0.2.2
+  - tasty-lua ==0.2.3
   - tasty-program ==1.0.5
   - tasty-quickcheck ==0.10.1.1
   - tasty-rerun ==1.1.17
@@ -2294,7 +2294,7 @@ default-package-overrides:
   - tuples-homogenous-h98 ==0.1.1.0
   - tuple-sop ==0.3.1.0
   - tuple-th ==0.2.5
-  - turtle ==1.5.19
+  - turtle ==1.5.20
   - TypeCompose ==0.9.14
   - typed-process ==0.2.6.0
   - typed-uuid ==0.0.0.2
@@ -2408,7 +2408,7 @@ default-package-overrides:
   - void ==0.7.3
   - vty ==5.28.2
   - wai ==3.2.2.1
-  - wai-app-static ==3.1.7.1
+  - wai-app-static ==3.1.7.2
   - wai-conduit ==3.0.0.4
   - wai-cors ==0.2.7
   - wai-enforce-https ==0.0.2.1
@@ -2540,6 +2540,7 @@ default-package-overrides:
 
 extra-packages:
   - aeson < 0.8                         # newer versions don't work with GHC 7.6.x or earlier
+  - aeson == 1.5.2.0                    # needed for fourmolu 0.1.0.0, but 1.5.3 is to new for our purpose
   - aeson-pretty < 0.8                  # required by elm compiler
   - Agda == 2.6.1                       # allows the agdaPackage set to be fixed to this version so that it won't break when another agda version is released.
   - ansi-terminal == 0.10.3             # required by cabal-plan, and policeman in ghc-8.8.x
@@ -2580,6 +2581,7 @@ extra-packages:
   - hoogle == 5.0.14                    # required by hie-hoogle
   - html-conduit ^>= 1.2                # pre-lts-11.x versions neeed by git-annex 6.20180227
   - http-conduit ^>= 2.2                # pre-lts-11.x versions neeed by git-annex 6.20180227
+  - hslua == 1.1.2                      # required for pandoc 2.10
   - inline-c < 0.6                      # required on GHC 8.0.x
   - inline-c-cpp < 0.2                  # required on GHC 8.0.x
   - lens-labels == 0.1.*                # required for proto-lens-descriptors
@@ -2759,6 +2761,7 @@ dont-distribute-packages:
   - boolector
   - ccelerate-cuda
   - cplex-hs
+  - cuda # 2020-08-18 because of dependency nvidia-x11
   - cublas
   - cufft
   - cusolver
@@ -3744,6 +3747,7 @@ broken-packages:
   - cgen
   - cgi-utils
   - cgrep
+  - chainweb-mining-client
   - chalkboard
   - chalkboard-viewer
   - charade
@@ -5074,7 +5078,6 @@ broken-packages:
   - foscam-filename
   - foscam-sort
   - Foster
-  - fourmolu
   - fpco-api
   - fplll
   - fpnla-examples
@@ -5904,6 +5907,7 @@ broken-packages:
   - hasql-queue
   - hasql-simple
   - hasql-th
+  - hasqly-mysql
   - hastache
   - hastache-aeson
   - haste
@@ -5956,7 +5960,6 @@ broken-packages:
   - hcltest
   - hcoap
   - hcom
-  - hcoord
   - hcron
   - hCsound
   - hcube
@@ -6229,7 +6232,6 @@ broken-packages:
   - hobbes
   - hobbits
   - hocilib
-  - hocker
   - hodatime
   - HODE
   - hoe
@@ -6702,20 +6704,8 @@ broken-packages:
   - ignore
   - igraph
   - igrf
-  - ihaskell
-  - ihaskell-aeson
   - ihaskell-basic
-  - ihaskell-blaze
-  - ihaskell-charts
-  - ihaskell-diagrams
   - ihaskell-display
-  - ihaskell-gnuplot
-  - ihaskell-graphviz
-  - ihaskell-hatex
-  - ihaskell-hvega
-  - ihaskell-inline-r
-  - ihaskell-juicypixels
-  - ihaskell-magic
   - ihaskell-parsec
   - ihaskell-plot
   - ihaskell-rlangqq
@@ -6778,7 +6768,6 @@ broken-packages:
   - inject-function
   - inline-asm
   - inline-java
-  - inline-r
   - inserts
   - inspector-wrecker
   - instana-haskell-trace-sdk
@@ -9165,7 +9154,6 @@ broken-packages:
   - rethinkdb-client-driver
   - rethinkdb-model
   - rethinkdb-wereHamster
-  - retrie
   - retryer
   - reverse-geocoding
   - reversi
@@ -9724,7 +9712,6 @@ broken-packages:
   - snap-loader-static
   - snap-routes
   - snap-stream
-  - snap-templates
   - snap-testing
   - snap-utils
   - snap-web-routes
@@ -10091,6 +10078,7 @@ broken-packages:
   - sym
   - sym-plot
   - symantic
+  - symantic-atom
   - symantic-http-test
   - symantic-lib
   - symantic-xml
@@ -10170,7 +10158,6 @@ broken-packages:
   - tart
   - task
   - task-distribution
-  - taskell
   - TaskMonad
   - tasty-auto
   - tasty-bdd
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 7016192e91a..cff7cc2cd80 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -655,16 +655,16 @@ self: super: builtins.intersectAttrs super {
 
       # This defines the version of the purescript-docs-search release we are using.
       # This is defined in the src/Spago/Prelude.hs file in the spago source.
-      docsSearchVersion = "v0.0.8";
+      docsSearchVersion = "v0.0.10";
 
       docsSearchAppJsFile = pkgs.fetchurl {
         url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/docs-search-app.js";
-        sha256 = "00pzi7pgjicpa0mg0al80gh2q1q2lqiyb3kjarpydlmn8dfjny7v";
+        sha256 = "0m5ah29x290r0zk19hx2wix2djy7bs4plh9kvjz6bs9r45x25pa5";
       };
 
       purescriptDocsSearchFile = pkgs.fetchurl {
         url = "https://github.com/spacchetti/purescript-docs-search/releases/download/${docsSearchVersion}/purescript-docs-search";
-        sha256 = "1hsi1hc4p1z2xbw82w2jxmmczw6mravli1r89vrkivb72sqdjya7";
+        sha256 = "0wc1zyhli4m2yykc6i0crm048gyizxh7b81n8xc4yb7ibjqwhyj3";
       };
 
       spagoFixHpack = overrideCabal spagoWithOverrides (drv: {
@@ -767,4 +767,8 @@ self: super: builtins.intersectAttrs super {
   postgresql-libpq-notify = dontCheck super.postgresql-libpq-notify;
   postgresql-pure = dontCheck super.postgresql-pure;
 
+  retrie = overrideCabal super.retrie (drv: {
+    testToolDepends = [ pkgs.git pkgs.mercurial ];
+  });
+
 }
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 20fa2c84062..29609e86389 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -21,7 +21,7 @@ in
 , configureFlags ? []
 , buildFlags ? []
 , haddockFlags ? []
-, description ? ""
+, description ? null
 , doCheck ? !isCross && stdenv.lib.versionOlder "7.4" ghc.version
 , doBenchmark ? false
 , doHoogle ? true
@@ -50,7 +50,7 @@ in
 , jailbreak ? false
 , license
 , enableParallelBuilding ? true
-, maintainers ? []
+, maintainers ? null
 , doCoverage ? false
 , doHaddock ? !(ghc.isHaLVM or false)
 , passthru ? {}
@@ -59,14 +59,14 @@ in
 , benchmarkDepends ? [], benchmarkHaskellDepends ? [], benchmarkSystemDepends ? [], benchmarkFrameworkDepends ? []
 , testTarget ? ""
 , broken ? false
-, preCompileBuildDriver ? "", postCompileBuildDriver ? ""
-, preUnpack ? "", postUnpack ? ""
-, patches ? [], patchPhase ? "", prePatch ? "", postPatch ? ""
-, preConfigure ? "", postConfigure ? ""
-, preBuild ? "", postBuild ? ""
-, installPhase ? "", preInstall ? "", postInstall ? ""
-, checkPhase ? "", preCheck ? "", postCheck ? ""
-, preFixup ? "", postFixup ? ""
+, preCompileBuildDriver ? null, postCompileBuildDriver ? null
+, preUnpack ? null, postUnpack ? null
+, patches ? null, patchPhase ? null, prePatch ? "", postPatch ? ""
+, preConfigure ? null, postConfigure ? null
+, preBuild ? null, postBuild ? null
+, installPhase ? null, preInstall ? null, postInstall ? null
+, checkPhase ? null, preCheck ? null, postCheck ? null
+, preFixup ? null, postFixup ? null
 , shellHook ? ""
 , coreSetup ? false # Use only core packages to build Setup.hs.
 , useCpphs ? false
@@ -636,34 +636,34 @@ stdenv.mkDerivation ({
   };
 
   meta = { inherit homepage license platforms; }
-         // optionalAttrs broken               { inherit broken; }
-         // optionalAttrs (description != "")  { inherit description; }
-         // optionalAttrs (maintainers != [])  { inherit maintainers; }
-         // optionalAttrs (hydraPlatforms != null) { inherit hydraPlatforms; }
+         // optionalAttrs (args ? broken)         { inherit broken; }
+         // optionalAttrs (args ? description)    { inherit description; }
+         // optionalAttrs (args ? maintainers)    { inherit maintainers; }
+         // optionalAttrs (args ? hydraPlatforms) { inherit hydraPlatforms; }
          ;
 
 }
-// optionalAttrs (preCompileBuildDriver != "")  { inherit preCompileBuildDriver; }
-// optionalAttrs (postCompileBuildDriver != "") { inherit postCompileBuildDriver; }
-// optionalAttrs (preUnpack != "")      { inherit preUnpack; }
-// optionalAttrs (postUnpack != "")     { inherit postUnpack; }
-// optionalAttrs (patches != [])        { inherit patches; }
-// optionalAttrs (patchPhase != "")     { inherit patchPhase; }
-// optionalAttrs (preConfigure != "")   { inherit preConfigure; }
-// optionalAttrs (postConfigure != "")  { inherit postConfigure; }
-// optionalAttrs (preBuild != "")       { inherit preBuild; }
-// optionalAttrs (postBuild != "")      { inherit postBuild; }
-// optionalAttrs (doBenchmark)          { inherit doBenchmark; }
-// optionalAttrs (checkPhase != "")     { inherit checkPhase; }
-// optionalAttrs (preCheck != "")       { inherit preCheck; }
-// optionalAttrs (postCheck != "")      { inherit postCheck; }
-// optionalAttrs (preInstall != "")     { inherit preInstall; }
-// optionalAttrs (installPhase != "")   { inherit installPhase; }
-// optionalAttrs (postInstall != "")    { inherit postInstall; }
-// optionalAttrs (preFixup != "")       { inherit preFixup; }
-// optionalAttrs (postFixup != "")      { inherit postFixup; }
-// optionalAttrs (dontStrip)            { inherit dontStrip; }
-// optionalAttrs (hardeningDisable != []) { inherit hardeningDisable; }
+// optionalAttrs (args ? preCompileBuildDriver)  { inherit preCompileBuildDriver; }
+// optionalAttrs (args ? postCompileBuildDriver) { inherit postCompileBuildDriver; }
+// optionalAttrs (args ? preUnpack)              { inherit preUnpack; }
+// optionalAttrs (args ? postUnpack)             { inherit postUnpack; }
+// optionalAttrs (args ? patches)                { inherit patches; }
+// optionalAttrs (args ? patchPhase)             { inherit patchPhase; }
+// optionalAttrs (args ? preConfigure)           { inherit preConfigure; }
+// optionalAttrs (args ? postConfigure)          { inherit postConfigure; }
+// optionalAttrs (args ? preBuild)               { inherit preBuild; }
+// optionalAttrs (args ? postBuild)              { inherit postBuild; }
+// optionalAttrs (args ? doBenchmark)            { inherit doBenchmark; }
+// optionalAttrs (args ? checkPhase)             { inherit checkPhase; }
+// optionalAttrs (args ? preCheck)               { inherit preCheck; }
+// optionalAttrs (args ? postCheck)              { inherit postCheck; }
+// optionalAttrs (args ? preInstall)             { inherit preInstall; }
+// optionalAttrs (args ? installPhase)           { inherit installPhase; }
+// optionalAttrs (args ? postInstall)            { inherit postInstall; }
+// optionalAttrs (args ? preFixup)               { inherit preFixup; }
+// optionalAttrs (args ? postFixup)              { inherit postFixup; }
+// optionalAttrs (args ? dontStrip)              { inherit dontStrip; }
+// optionalAttrs (args ? hardeningDisable)       { inherit hardeningDisable; }
 // optionalAttrs (stdenv.buildPlatform.libc == "glibc"){ LOCALE_ARCHIVE = "${glibcLocales}/lib/locale/locale-archive"; }
 )
 )
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index f2953705829..f2d83c8d9fe 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -12692,6 +12692,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ListLike_4_7_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, containers, deepseq
+     , dlist, fmlist, HUnit, QuickCheck, random, text, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "ListLike";
+       version = "4.7.2";
+       sha256 = "15c1q4rl4kwpgpsdf4x7k17m2fgzimm9915k71cpjiv0sq9b2rn2";
+       libraryHaskellDepends = [
+         array base bytestring containers deepseq dlist fmlist text
+         utf8-string vector
+       ];
+       testHaskellDepends = [
+         array base bytestring containers dlist fmlist HUnit QuickCheck
+         random text utf8-string vector
+       ];
+       description = "Generalized support for list-like structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ListT" = callPackage
     ({ mkDerivation, base, smallcheck, tasty, tasty-smallcheck
      , transformers, util
@@ -13056,6 +13078,31 @@ self: {
        broken = true;
      }) {};
 
+  "MIP" = callPackage
+    ({ mkDerivation, base, bytestring, bytestring-encoding
+     , case-insensitive, containers, data-default-class, extended-reals
+     , filepath, intern, lattices, megaparsec, mtl, OptDir, process
+     , scientific, stm, tasty, tasty-hunit, tasty-quickcheck, tasty-th
+     , temporary, text, xml-conduit, zlib
+     }:
+     mkDerivation {
+       pname = "MIP";
+       version = "0.1.0.0";
+       sha256 = "0790jcwqjd33i8sqhzxarda8ihhv5iapj0apjmlqjppbipwa6awa";
+       libraryHaskellDepends = [
+         base bytestring bytestring-encoding case-insensitive containers
+         data-default-class extended-reals filepath intern lattices
+         megaparsec mtl OptDir process scientific stm temporary text
+         xml-conduit zlib
+       ];
+       testHaskellDepends = [
+         base containers data-default-class lattices tasty tasty-hunit
+         tasty-quickcheck tasty-th
+       ];
+       description = "Library for using Mixed Integer Programming (MIP)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "MSQueue" = callPackage
     ({ mkDerivation, base, ghc-prim, monad-loops, ref-mtl, stm }:
      mkDerivation {
@@ -16956,8 +17003,8 @@ self: {
      }:
      mkDerivation {
        pname = "Rattus";
-       version = "0.3";
-       sha256 = "1ks05nn9g6gp3l61bzmphxm9d0ajvlkzaws04fzz73rfv4nb97wg";
+       version = "0.3.1";
+       sha256 = "1sfjnfd3jsr095gkzxldb65ivxpyzsaphw2bv2f6svczhjc5b414";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base containers ghc simple-affine-space
@@ -23913,6 +23960,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson_1_5_2_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base-compat
+     , base-compat-batteries, base-orphans, base16-bytestring
+     , bytestring, containers, deepseq, Diff, directory, dlist, filepath
+     , generic-deriving, ghc-prim, hashable, hashable-time
+     , integer-logarithms, primitive, QuickCheck, quickcheck-instances
+     , scientific, tagged, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, th-abstraction, these
+     , time, time-compat, unordered-containers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "aeson";
+       version = "1.5.2.0";
+       sha256 = "0awk3dss79mmcxpy147mijnd9icvlnm77bq248ibbbzx9y99hdfd";
+       libraryHaskellDepends = [
+         attoparsec base base-compat-batteries bytestring containers deepseq
+         dlist ghc-prim hashable primitive scientific tagged
+         template-haskell text th-abstraction these time time-compat
+         unordered-containers uuid-types vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base-compat base-orphans base16-bytestring
+         bytestring containers Diff directory dlist filepath
+         generic-deriving ghc-prim hashable hashable-time integer-logarithms
+         QuickCheck quickcheck-instances scientific tagged tasty
+         tasty-golden tasty-hunit tasty-quickcheck template-haskell text
+         these time time-compat unordered-containers uuid-types vector
+       ];
+       description = "Fast JSON parsing and encoding";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "aeson_1_5_3_0" = callPackage
     ({ mkDerivation, attoparsec, base, base-compat
      , base-compat-batteries, base-orphans, base16-bytestring
@@ -29070,6 +29150,27 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "amqp-utils_0_4_4_1" = callPackage
+    ({ mkDerivation, amqp, base, bytestring, connection, containers
+     , data-default-class, directory, hinotify, magic, network, process
+     , text, time, tls, unix, utf8-string, x509-system
+     }:
+     mkDerivation {
+       pname = "amqp-utils";
+       version = "0.4.4.1";
+       sha256 = "1vs0p7pc6z9mfjd2vns66wnhl8v1n9rbgabyjw0v832m2pwizzmj";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         amqp base bytestring connection containers data-default-class
+         directory hinotify magic network process text time tls unix
+         utf8-string x509-system
+       ];
+       description = "AMQP toolset for the command line";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "amqp-worker" = callPackage
     ({ mkDerivation, aeson, amqp, base, bytestring, data-default
      , exceptions, monad-control, monad-loops, mtl, resource-pool
@@ -33261,25 +33362,12 @@ self: {
     ({ mkDerivation, base, pretty-show, text }:
      mkDerivation {
        pname = "assert-failure";
-       version = "0.1.2.3";
-       sha256 = "1cjl9xa8d4rmzafydcnjl7pnv40hl6q663k37kyx22dyg9frgc68";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base pretty-show text ];
-       description = "Syntactic sugar improving 'assert' and 'error'";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "assert-failure_0_1_2_4" = callPackage
-    ({ mkDerivation, base, pretty-show, text }:
-     mkDerivation {
-       pname = "assert-failure";
        version = "0.1.2.4";
        sha256 = "0q4kaaxvz89qrw7j9kgh57nzyn6a8rh2w1hjb1h7ymdnznhr3cj4";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base pretty-show text ];
        description = "Syntactic sugar improving 'assert' and 'error'";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "assertions" = callPackage
@@ -34800,44 +34888,10 @@ self: {
      }:
      mkDerivation {
        pname = "aura";
-       version = "3.1.6";
-       sha256 = "14qix9zpw6hanj3hrqnwl13fjfjrw0klkm7wm91lh8zpj5amjzcc";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson algebraic-graphs aur base bytestring containers filepath
-         hashable http-client http-types language-bash megaparsec
-         network-uri prettyprinter prettyprinter-ansi-terminal rio scheduler
-         stm text time transformers typed-process versions
-       ];
-       executableHaskellDepends = [
-         aeson aur base bytestring containers http-client http-client-tls
-         megaparsec optparse-applicative prettyprinter
-         prettyprinter-ansi-terminal rio scheduler text transformers
-         typed-process versions
-       ];
-       testHaskellDepends = [
-         base bytestring containers megaparsec rio tasty tasty-hunit text
-         versions
-       ];
-       description = "A secure package manager for Arch Linux and the AUR";
-       license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "aura_3_1_7" = callPackage
-    ({ mkDerivation, aeson, algebraic-graphs, aur, base, bytestring
-     , containers, filepath, hashable, http-client, http-client-tls
-     , http-types, language-bash, megaparsec, network-uri
-     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
-     , rio, scheduler, stm, tasty, tasty-hunit, text, time, transformers
-     , typed-process, versions
-     }:
-     mkDerivation {
-       pname = "aura";
        version = "3.1.7";
        sha256 = "0w7m65bh38gdq186b16pcnq7k2nakiy749m7z092cv4k5w72gal5";
+       revision = "1";
+       editedCabalFile = "1g8hm1bd4yssmy1qkarnwd8w2wz8c2m02gk1agh3pyv60f9q66s7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -35416,6 +35470,8 @@ self: {
        pname = "avro-piper";
        version = "1.0.3";
        sha256 = "1vi0mgpqpr74ankl8418npklyfxacxg001vppps22p2da97s3pk1";
+       revision = "1";
+       editedCabalFile = "1405kfnndnh6w4hslahg74rdhk8jmh48j64ps7mval3py8cl5qiv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -35911,8 +35967,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws-lambda-haskell-runtime";
-       version = "3.0.3";
-       sha256 = "0dxzdc4ixl33njind48g014rfk6wxyg0pdcwiarn4vgb30h6h4kq";
+       version = "3.0.4";
+       sha256 = "1rbgi7f1vymh8q6b074z64jlww5gssbzhpam8k8lcgp0zlvm13n1";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive http-client http-types path
          path-io safe-exceptions-checked template-haskell text
@@ -38861,8 +38917,8 @@ self: {
        pname = "bench";
        version = "1.0.12";
        sha256 = "1sy97qpv6paar2d5syppk6lc06wjx6qyz5aidsmh30jq853nydx6";
-       revision = "1";
-       editedCabalFile = "0sk6vkjwk7g1diwah67ifj7s69qvwi52ngaijkfx5prn0vz24ldn";
+       revision = "2";
+       editedCabalFile = "055482m81h7pijiszdkk2k65p208i3c3pxs955pv6h0gwrialcsh";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -40205,8 +40261,8 @@ self: {
     ({ mkDerivation, base, binaryen }:
      mkDerivation {
        pname = "binaryen";
-       version = "0.0.2.0";
-       sha256 = "111laqm68cs5ck4nc1cj8hy5anw6gkxv5yc1jrw87gn3i3va5046";
+       version = "0.0.3.0";
+       sha256 = "08pdk57q4n49l3wyd9zbda4w5ci65ifq4yxscq61kkdqz8i4ggjs";
        libraryHaskellDepends = [ base ];
        librarySystemDepends = [ binaryen ];
        description = "Haskell bindings to binaryen";
@@ -43955,8 +44011,8 @@ self: {
      }:
      mkDerivation {
        pname = "boolector";
-       version = "0.0.0.11";
-       sha256 = "1mj6pjh4vg7dziil68p8k60sn6s721jxdgpsq9kk1h05v67lh5fz";
+       version = "0.0.0.13";
+       sha256 = "0by1pw9i0f9kb81pd3ivi0rz9yxxzvmlg338p45wqf1k583c6jrg";
        libraryHaskellDepends = [
          base containers directory mtl temporary time
        ];
@@ -46050,8 +46106,8 @@ self: {
      }:
      mkDerivation {
        pname = "burrito";
-       version = "1.1.0.2";
-       sha256 = "1k625j5syyiq66i88zy6q0mvwkjl5jsj79sxdmd1rbam3m39whx1";
+       version = "1.2.0.0";
+       sha256 = "1nrb08czlnfcgb7v59vzkffik2w5yp833la4mq6sp6sgnm0ylgya";
        libraryHaskellDepends = [
          base bytestring containers parsec template-haskell text
          transformers
@@ -46373,6 +46429,22 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "byte-count-reader_0_10_1_1" = callPackage
+    ({ mkDerivation, base, extra, hspec, parsec, parsec-numbers, text
+     }:
+     mkDerivation {
+       pname = "byte-count-reader";
+       version = "0.10.1.1";
+       sha256 = "0amzhcy60rmiyfp7cgdg7g1xcf7z5zz43kg18i1bwwj565ipb6p8";
+       libraryHaskellDepends = [ base extra parsec parsec-numbers text ];
+       testHaskellDepends = [
+         base extra hspec parsec parsec-numbers text
+       ];
+       description = "Read strings describing a number of bytes like 2Kb and 0.5 MiB";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "byte-order" = callPackage
     ({ mkDerivation, base, primitive, primitive-unaligned }:
      mkDerivation {
@@ -47572,8 +47644,8 @@ self: {
        pname = "cabal-cache";
        version = "1.0.1.8";
        sha256 = "0yxq73bdw1ai0yv54prcxpm1ygkpa8m0jnznwm975b82qlmplynw";
-       revision = "1";
-       editedCabalFile = "1rikn1g6v8yga0cs031ckxywfcf9g21ww9s5rkjf6lr4xvfqps2s";
+       revision = "2";
+       editedCabalFile = "1y4zfnr2a5w8kvwvk1dbzv0ik5b2wdlx8z2p6n9k5mzax952s689";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -47844,8 +47916,8 @@ self: {
        pname = "cabal-flatpak";
        version = "0.1.0.2";
        sha256 = "1h7yklhqrsgxk841fryxz0sk03zb02p34g1nvwdz6c6mfpwc8y54";
-       revision = "1";
-       editedCabalFile = "0ba63swfx2xd6aw2iq1nkrl9932hvkn3lf7x74wqimcykm4vbws7";
+       revision = "2";
+       editedCabalFile = "0mf387hkxshcbss739c66j0hc1143r9lns3p3aw1l76as9lbdlwj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -48604,8 +48676,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal2spec";
-       version = "2.6.1";
-       sha256 = "19azvrg20rsk95nfvwlamlz007ihpkra1wgvqpjkdimwr5q7837h";
+       version = "2.6.2";
+       sha256 = "0x1r01fk5mch76zindalvmlkfaca4y1x89zw2dm0d46fncsfgdrv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base Cabal filepath time ];
@@ -52026,6 +52098,34 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "chainweb-mining-client" = callPackage
+    ({ mkDerivation, aeson, async, base, bytes, bytestring, Cabal
+     , configuration-tools, connection, containers, cryptonite
+     , exceptions, hashable, hostaddress, http-client, http-client-tls
+     , http-types, lens, loglevel, memory, mwc-random, process, retry
+     , stm, streaming, streaming-events, text, time
+     , unordered-containers, wai-extra
+     }:
+     mkDerivation {
+       pname = "chainweb-mining-client";
+       version = "0.2";
+       sha256 = "1zbqbc3icgz1fb0fgpfi1cf1i7pz2lf3wd82671ks1yixf893ypm";
+       isLibrary = false;
+       isExecutable = true;
+       setupHaskellDepends = [ base Cabal configuration-tools ];
+       executableHaskellDepends = [
+         aeson async base bytes bytestring configuration-tools connection
+         containers cryptonite exceptions hashable hostaddress http-client
+         http-client-tls http-types lens loglevel memory mwc-random process
+         retry stm streaming streaming-events text time unordered-containers
+         wai-extra
+       ];
+       description = "Mining Client for Kadena Chainweb";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "chalk" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -60497,6 +60597,8 @@ self: {
        pname = "configuration-tools";
        version = "0.5.0";
        sha256 = "0pgx2wzzqxgafgf3qjys05hp89lz4fwczsx0i581n8ngs3p4i0wh";
+       revision = "1";
+       editedCabalFile = "0srscnmj5dhaq0djx0lhcggl53ipn6pw8vgsvgzhhjrbmnn2zb2p";
        setupHaskellDepends = [
          base bytestring Cabal directory filepath process
        ];
@@ -64282,8 +64384,8 @@ self: {
        pname = "crypto-enigma";
        version = "0.1.1.6";
        sha256 = "07qxrpwg9r2w2l0d2nrvn703vzsfhchznly93bnr2pfpbwj4iv2z";
-       revision = "3";
-       editedCabalFile = "0djn9pyvhlk964mzqdw0fpczwsvzadcp6jkkryhi8vbvkb88i9rn";
+       revision = "4";
+       editedCabalFile = "0436kl0gsy0hj7dfrqmwz95q3k31af731q484yx2gj9zcma1h1vp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers split text ];
@@ -65617,6 +65719,7 @@ self: {
        executableHaskellDepends = [ base pretty ];
        description = "FFI binding to the CUDA interface for programming NVIDIA GPUs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cudd" = callPackage
@@ -66496,20 +66599,21 @@ self: {
   "darcs" = callPackage
     ({ mkDerivation, array, async, attoparsec, base, base16-bytestring
      , binary, bytestring, Cabal, cmdargs, conduit, constraints
-     , containers, cryptonite, data-ordlist, directory, fgl, filepath
-     , FindBin, hashable, haskeline, html, http-conduit, http-types
-     , HUnit, leancheck, memory, mmap, mtl, network, network-uri
-     , old-time, parsec, process, QuickCheck, regex-applicative
-     , regex-compat-tdfa, sandi, shelly, split, stm, tar, temporary
-     , terminfo, test-framework, test-framework-hunit
-     , test-framework-leancheck, test-framework-quickcheck2, text, time
-     , transformers, unix, unix-compat, utf8-string, vector, zip-archive
-     , zlib
+     , containers, cryptonite, data-ordlist, directory, exceptions, fgl
+     , filepath, FindBin, hashable, haskeline, html, http-conduit
+     , http-types, HUnit, leancheck, memory, mmap, monad-control, mtl
+     , network, network-uri, old-time, parsec, process, QuickCheck
+     , regex-applicative, regex-compat-tdfa, sandi, split, stm
+     , system-fileio, system-filepath, tar, temporary, terminfo
+     , test-framework, test-framework-hunit, test-framework-leancheck
+     , test-framework-quickcheck2, text, time, transformers
+     , transformers-base, unix, unix-compat, utf8-string, vector
+     , zip-archive, zlib
      }:
      mkDerivation {
        pname = "darcs";
-       version = "2.16.1";
-       sha256 = "1q837ibf97f3fm6gcr5l6cc4kb554gm1fhzc2a22fkkj15axivq0";
+       version = "2.16.2";
+       sha256 = "1nsmaai4l5zas4v1vk92nvh721dykcxrpd4c2v9bh3wi3n2m45qn";
        configureFlags = [ "-fforce-char8-encoding" "-flibrary" ];
        isLibrary = true;
        isExecutable = true;
@@ -66525,10 +66629,12 @@ self: {
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         array base bytestring cmdargs constraints containers directory
-         filepath FindBin HUnit leancheck mtl QuickCheck shelly split
+         array async base bytestring cmdargs constraints containers
+         directory exceptions filepath FindBin HUnit leancheck monad-control
+         mtl process QuickCheck split system-fileio system-filepath
          test-framework test-framework-hunit test-framework-leancheck
-         test-framework-quickcheck2 text transformers vector zip-archive
+         test-framework-quickcheck2 text time transformers transformers-base
+         unix-compat vector zip-archive
        ];
        doCheck = false;
        postInstall = ''
@@ -70033,8 +70139,8 @@ self: {
      }:
      mkDerivation {
        pname = "debug-me";
-       version = "1.20190926";
-       sha256 = "0qy2ianwal4v4s0m13yjszk032dp3y6k4p61whwmlp49xmqvwjyb";
+       version = "1.20200820";
+       sha256 = "1pxcycgdd0gmiqabpbjkish31yb2n7bqgwd1fm1na6w6xmjlh58a";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -72006,8 +72112,8 @@ self: {
        pname = "dhall";
        version = "1.34.0";
        sha256 = "0rqvzvcqbhs9gvga7api6jjblnypm4a33z8kxi578ps63mhn3g0d";
-       revision = "1";
-       editedCabalFile = "0d5rqjalz6clvbmnqmpsy4dl9zj1magwmd1gdl2vzkf5qnhp6n7r";
+       revision = "2";
+       editedCabalFile = "1gvfcizp3blqas5ccgnqmahwq26xwd23kqh1vc9712agq7384z98";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -72117,6 +72223,8 @@ self: {
        pname = "dhall-docs";
        version = "1.0.0";
        sha256 = "0kfn3nr0g4x5bpdrkg5lh8qma2536k3gx7bvrsrkn53lyyxnbnvi";
+       revision = "1";
+       editedCabalFile = "1g4mmf6276rndzq95s41qmj7vfmpabmnnv4v077vgrsravqqyrlb";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -72213,8 +72321,8 @@ self: {
        pname = "dhall-json";
        version = "1.7.1";
        sha256 = "158c9vhxa124r1xqn365wvwqhby5rngkip08ghy8rnjs5ijcxzgf";
-       revision = "2";
-       editedCabalFile = "12piijva2szd08c6pgr6qca4kmf48il8934iv0k51jfyfd1m01ic";
+       revision = "3";
+       editedCabalFile = "1xxc1nsg86y2qzl4ln4jhlqw118bijyakr0mnyz801ap1ffgqfmb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -72347,6 +72455,8 @@ self: {
        pname = "dhall-nixpkgs";
        version = "1.0.0";
        sha256 = "1bymafh0p0avfsdpcijj76075pgkn81sf6f3y17m7p0lmp8hhh75";
+       revision = "1";
+       editedCabalFile = "0zg6rcjs96xh060k56p0y2rvwkb17pqd8qa52b2yalx5b7k70gys";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -72449,8 +72559,8 @@ self: {
        pname = "dhall-yaml";
        version = "1.2.1";
        sha256 = "18p8a92wiz2zi4q7v5fjvdallxrl21scmwwv706g3mm5dgfgcs5a";
-       revision = "1";
-       editedCabalFile = "037zg3ick95pwsk2g0znhfdvwphw3yxv5kp8zj5czc6df97id8xj";
+       revision = "2";
+       editedCabalFile = "0ni3jamaz552nd0lp142ga42cmh956jq0zv34jzqfzfz7d3i5yw6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -74509,8 +74619,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.7.0";
-       sha256 = "1hb2qfljj0xq427657ml8qasg99fhwh0zfsrmryqpaq5ch8aqn20";
+       version = "1.8.0";
+       sha256 = "1zh4xf5a8ppfhcnkhai4mi0a7aj7m8qp8hcnyfi6s3nc86k7wj2w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76069,38 +76179,72 @@ self: {
      }) {};
 
   "dobutokO-poetry" = callPackage
-    ({ mkDerivation, base, mmsyn3, mmsyn6ukr, mmsyn7s, vector }:
+    ({ mkDerivation, base, dobutokO-poetry-general, mmsyn3, mmsyn6ukr
+     , mmsyn7s, uniqueness-periods, vector
+     }:
      mkDerivation {
        pname = "dobutokO-poetry";
-       version = "0.10.0.0";
-       sha256 = "1lrdlgn49im8rgvsj61k2n3g2ham2gizbv0r95nv4ga71z54lyhj";
+       version = "0.15.0.0";
+       sha256 = "1091wqxzg138bc8kk55fkgv5ripq48zyvm3in2b2g54zjy6l4f1p";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base mmsyn3 mmsyn6ukr mmsyn7s vector ];
+       libraryHaskellDepends = [
+         base dobutokO-poetry-general mmsyn3 mmsyn6ukr mmsyn7s
+         uniqueness-periods vector
+       ];
        executableHaskellDepends = [
-         base mmsyn3 mmsyn6ukr mmsyn7s vector
+         base dobutokO-poetry-general mmsyn3 mmsyn6ukr mmsyn7s
+         uniqueness-periods vector
        ];
        description = "Helps to order the 7 or less Ukrainian words to obtain somewhat suitable for poetry or music text";
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "dobutokO-poetry-general" = callPackage
+    ({ mkDerivation, base, mmsyn3, mmsyn6ukr, mmsyn7s, vector }:
+     mkDerivation {
+       pname = "dobutokO-poetry-general";
+       version = "0.1.0.0";
+       sha256 = "0gdhihblshxq70av2x8ni7vywdfic750kwq7qsbhagrqr71fvqb1";
+       libraryHaskellDepends = [ base mmsyn3 mmsyn6ukr mmsyn7s vector ];
+       description = "Helps to order the 7 or less words (first of all the Ukrainian ones) to obtain somewhat suitable for poetry or music text";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "dobutokO-poetry-general-languages" = callPackage
+    ({ mkDerivation, base, dobutokO-poetry-general, mmsyn3, mmsyn6ukr
+     , uniqueness-periods-general, vector
+     }:
+     mkDerivation {
+       pname = "dobutokO-poetry-general-languages";
+       version = "0.2.0.0";
+       sha256 = "0gw89nagj1adb70k1li1p1syzgmc6g4lb0yfnjr9caiddq9mi9x5";
+       libraryHaskellDepends = [
+         base dobutokO-poetry-general mmsyn3 mmsyn6ukr
+         uniqueness-periods-general vector
+       ];
+       description = "Helps to order the 7 or less words to obtain somewhat suitable for poetry or music text";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "dobutokO2" = callPackage
     ({ mkDerivation, base, bytestring, directory, mmsyn2, mmsyn3
-     , mmsyn6ukr, mmsyn7l, mmsyn7s, mmsyn7ukr, process, vector
+     , mmsyn6ukr, mmsyn7l, mmsyn7s, mmsyn7ukr, process
+     , uniqueness-periods, vector
      }:
      mkDerivation {
        pname = "dobutokO2";
-       version = "0.42.0.0";
-       sha256 = "12bjaa9kw1ks9f64zl0lg4447hs1bjjy5g3q3yhmabwzp5yyy014";
+       version = "0.43.0.0";
+       sha256 = "0f17ff77m16p951laijqf5w4pfw4pgc6x2ha13472h62dzg8gm2f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr mmsyn7l mmsyn7s
-         mmsyn7ukr process vector
+         mmsyn7ukr process uniqueness-periods vector
        ];
        executableHaskellDepends = [
          base bytestring directory mmsyn2 mmsyn3 mmsyn6ukr mmsyn7l mmsyn7s
-         mmsyn7ukr process vector
+         mmsyn7ukr process uniqueness-periods vector
        ];
        description = "Helps to create experimental music from a file (or its part) and a Ukrainian text";
        license = stdenv.lib.licenses.mit;
@@ -76112,8 +76256,8 @@ self: {
      }:
      mkDerivation {
        pname = "dobutokO3";
-       version = "0.2.1.0";
-       sha256 = "0xh6685v01j1r9fg8r7ldd8vqxlir2fylryb0z71ndpdi4ajvkih";
+       version = "0.3.0.0";
+       sha256 = "1dbax6j2sdn6cd6crskwr0r90ymxmjk596a9ak8gvlkrwpk1cbdm";
        libraryHaskellDepends = [
          base bytestring directory dobutokO2 mmsyn2 mmsyn3 mmsyn6ukr mmsyn7l
          mmsyn7s mmsyn7ukr process vector
@@ -76128,8 +76272,8 @@ self: {
      }:
      mkDerivation {
        pname = "dobutokO4";
-       version = "0.7.0.0";
-       sha256 = "16im8ki3jbc7jgvr8nwnr4mb19is1vf3pz6pdfrj4q9jfmrv82d2";
+       version = "0.8.0.0";
+       sha256 = "073kjv1m3qcrfyk8j8zs5hrc8x0bkyqnw6pa72afhkxq08dzj9y9";
        libraryHaskellDepends = [
          base directory dobutokO2 mmsyn3 mmsyn7l process vector
          vector-doublezip
@@ -76937,34 +77081,6 @@ self: {
      }:
      mkDerivation {
        pname = "dotenv";
-       version = "0.8.0.4";
-       sha256 = "05dqa91zmxkzkz1dcpx2jxkzhdr4f51gw0qql47da9bllavl0jj4";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base base-compat containers directory exceptions megaparsec process
-         text transformers yaml
-       ];
-       executableHaskellDepends = [
-         base base-compat megaparsec optparse-applicative process text
-         transformers yaml
-       ];
-       testHaskellDepends = [
-         base base-compat containers directory exceptions hspec
-         hspec-megaparsec megaparsec process text transformers yaml
-       ];
-       description = "Loads environment variables from dotenv files";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "dotenv_0_8_0_6" = callPackage
-    ({ mkDerivation, base, base-compat, containers, directory
-     , exceptions, hspec, hspec-megaparsec, megaparsec
-     , optparse-applicative, process, text, transformers, yaml
-     }:
-     mkDerivation {
-       pname = "dotenv";
        version = "0.8.0.6";
        sha256 = "0ndgsjjcpmhxaxjn4mmw4cyd6i2y67zpx9ap099k5jw9ad0lbwb0";
        isLibrary = true;
@@ -76984,7 +77100,6 @@ self: {
        ];
        description = "Loads environment variables from dotenv files";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dotfs" = callPackage
@@ -80146,8 +80261,8 @@ self: {
      }:
      mkDerivation {
        pname = "either-result";
-       version = "0.3.0.0";
-       sha256 = "1cj6g6b90cpfzfsrkja35bs6qfnqnx9fqxwfrkm5985pp0ii546d";
+       version = "0.3.1.0";
+       sha256 = "1l4539j0ynn5jl0rh9bhjxlgvr0sn3bf8ws1zrlbfk15524znqhm";
        libraryHaskellDepends = [ base mtl transformers ];
        testHaskellDepends = [ base doctest hspec transformers ];
        testToolDepends = [ doctest-discover hspec-discover ];
@@ -81154,8 +81269,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx";
-       version = "0.3.1";
-       sha256 = "00fm1aixj31djlrmkzvhsk119w00jch6l1alaxmy97gjcg8kk6hd";
+       version = "0.3.4";
+       sha256 = "0pm8gwaz6yzdhqw4cs98kbardcc6qsnvzx67f48hamrqvnvqa2ym";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -81175,8 +81290,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-markov";
-       version = "0.3.1";
-       sha256 = "05wjnlz5x6j74m9dc524yagwhj8w3vmxp3x55hkbfq89j44fb6n1";
+       version = "0.3.4";
+       sha256 = "0kd92zkafnx6bbzpn9xswl2wnkzzgjwmd7l6ycj43vrlgigp27v6";
        libraryHaskellDepends = [
          async attoparsec base bytestring containers elynx-seq hmatrix
          integration math-functions mwc-random parallel primitive statistics
@@ -81195,8 +81310,8 @@ self: {
     ({ mkDerivation, attoparsec, base, bytestring, hspec }:
      mkDerivation {
        pname = "elynx-nexus";
-       version = "0.3.1";
-       sha256 = "0rqhzwfr8zz7nzvc7kkp6n2jxvq4qn3pv9ipk7mfdpxsfcm46550";
+       version = "0.3.4";
+       sha256 = "16ckh34xywxggq0vf4aig912zb8n1fybz52k1vchrj0y0rxbvsa4";
        libraryHaskellDepends = [ attoparsec base bytestring ];
        testHaskellDepends = [ base hspec ];
        description = "Import and export Nexus files";
@@ -81212,8 +81327,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-seq";
-       version = "0.3.1";
-       sha256 = "0wvp13kcx0fbhhk45ahs18p24dqn4n7wg1194hfj4v3qxg7pqy7q";
+       version = "0.3.4";
+       sha256 = "1zz0b2p8znigy5m12qacsdb52h09c2khc3l7i8glirhca74flsif";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers matrices mwc-random
          parallel primitive vector vector-th-unbox word8
@@ -81236,8 +81351,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-tools";
-       version = "0.3.1";
-       sha256 = "1h7vg6dh45mc5snk4c9q0xplb3q68gklxhj295pa20d83jarki0x";
+       version = "0.3.4";
+       sha256 = "0nldyxbj3ym4nnq62asi70w9c8h79s10g50gr7dkhdgbr07v47vs";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring bytestring
          cryptohash-sha256 deepseq directory fast-logger hmatrix
@@ -81259,8 +81374,8 @@ self: {
      }:
      mkDerivation {
        pname = "elynx-tree";
-       version = "0.3.1";
-       sha256 = "0ppah6lkzg39z80w30wicz88y4jpfj0z38py9y73srwvqy6a45l3";
+       version = "0.3.4";
+       sha256 = "1xhrmpnqg4gjr262xqi31rc406l40v0f5yfj0ah7jb1z45m23hsk";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring comonad containers deepseq
          double-conversion elynx-nexus math-functions mwc-random primitive
@@ -83233,15 +83348,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "essence-of-live-coding_0_2_1" = callPackage
+  "essence-of-live-coding_0_2_2" = callPackage
     ({ mkDerivation, base, containers, foreign-store, mtl, QuickCheck
      , syb, test-framework, test-framework-quickcheck2, transformers
      , vector-sized
      }:
      mkDerivation {
        pname = "essence-of-live-coding";
-       version = "0.2.1";
-       sha256 = "1bjpzz5ph2n4ljhckn2p88pg6c49phigw2f1y9l83wgnvdavdz83";
+       version = "0.2.2";
+       sha256 = "1hczvr1byk8qjkb45w9nvjmbqfmxl15dgn7kvp0rby0dkrn85275";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -83272,14 +83387,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "essence-of-live-coding-gloss_0_2_1" = callPackage
+  "essence-of-live-coding-gloss_0_2_2" = callPackage
     ({ mkDerivation, base, essence-of-live-coding, foreign-store, gloss
      , syb, transformers
      }:
      mkDerivation {
        pname = "essence-of-live-coding-gloss";
-       version = "0.2.1";
-       sha256 = "0pgkzfy7w8lylx0bb3vs1d8a2hgaavn2m9rj0v1f6hl193hnimz7";
+       version = "0.2.2";
+       sha256 = "19kxrjyhikgb49qdb7rlap8bbjsvkyi2ni6a1m1hjyxjziypsw0y";
        libraryHaskellDepends = [
          base essence-of-live-coding foreign-store gloss syb transformers
        ];
@@ -83294,8 +83409,8 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-gloss-example";
-       version = "0.2.1";
-       sha256 = "0rfpl2y6dga86qpq3sfc1kvwsb55d3aw0ckkfn8yflfnad6k884l";
+       version = "0.2.2";
+       sha256 = "07kgmbwm9swdavsypxnqf64fh9b2c2h9rmkm38hcl6lahdb2rb44";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -83321,14 +83436,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "essence-of-live-coding-pulse_0_2_1" = callPackage
+  "essence-of-live-coding-pulse_0_2_2" = callPackage
     ({ mkDerivation, base, essence-of-live-coding, foreign-store
      , pulse-simple, transformers
      }:
      mkDerivation {
        pname = "essence-of-live-coding-pulse";
-       version = "0.2.1";
-       sha256 = "02my8bprwij9rxl0x0yb8q9zr137alzl77j5lvd1gl5r5sbvm8pj";
+       version = "0.2.2";
+       sha256 = "15v4bzkx4j6mvprk1d215ywamjjvmf6g13cppd109aj4h40zcxbi";
        libraryHaskellDepends = [
          base essence-of-live-coding foreign-store pulse-simple transformers
        ];
@@ -83343,8 +83458,8 @@ self: {
      }:
      mkDerivation {
        pname = "essence-of-live-coding-pulse-example";
-       version = "0.2.1";
-       sha256 = "118xlqx67lgyrqi9r581ad2xsqs5x5d19afbfh6200bi618sr8af";
+       version = "0.2.2";
+       sha256 = "1476wxny2yhq2f2cn2bqrcm4dri39mql509pf9yq2kyd76lkrcgx";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -83371,14 +83486,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "essence-of-live-coding-quickcheck_0_2_1" = callPackage
+  "essence-of-live-coding-quickcheck_0_2_2" = callPackage
     ({ mkDerivation, base, boltzmann-samplers, essence-of-live-coding
      , QuickCheck, syb, transformers
      }:
      mkDerivation {
        pname = "essence-of-live-coding-quickcheck";
-       version = "0.2.1";
-       sha256 = "144840ck2a0wk8pd62c6l9iw6jlvva3yif30mba9m8r1zylaanyj";
+       version = "0.2.2";
+       sha256 = "1v7ijzs64bqn8nyp1msrrvk6kfkzx5a87ib74fmcasiww1y4lwgl";
        libraryHaskellDepends = [
          base boltzmann-samplers essence-of-live-coding QuickCheck syb
          transformers
@@ -83388,6 +83503,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "essence-of-live-coding-warp" = callPackage
+    ({ mkDerivation, base, essence-of-live-coding, http-client
+     , http-types, wai, warp
+     }:
+     mkDerivation {
+       pname = "essence-of-live-coding-warp";
+       version = "0.2.2";
+       sha256 = "14ygm62ak6gprx0r545xmv5nk544p0gsip3017p7ziy3k01mwhgh";
+       libraryHaskellDepends = [
+         base essence-of-live-coding http-types wai warp
+       ];
+       testHaskellDepends = [ base essence-of-live-coding http-client ];
+       description = "General purpose live coding framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "estimator" = callPackage
     ({ mkDerivation, ad, base, distributive, lens, linear, reflection
      }:
@@ -83930,6 +84061,17 @@ self: {
        broken = true;
      }) {};
 
+  "eveff" = callPackage
+    ({ mkDerivation, base, ghc-prim, primitive }:
+     mkDerivation {
+       pname = "eveff";
+       version = "0.1.0.0";
+       sha256 = "1d0bxg1dg66g1yv291cp4jh3xv3caxrddqrwb0g6g1929dl019fa";
+       libraryHaskellDepends = [ base ghc-prim primitive ];
+       description = "Efficient effect handlers based on evidence translation";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "event" = callPackage
     ({ mkDerivation, base, containers, semigroups, transformers }:
      mkDerivation {
@@ -84317,6 +84459,43 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "eventsourcing" = callPackage
+    ({ mkDerivation, base, deepseq, free, hashable, hedgehog, mtl
+     , pipes, psqueues, stm, tasty, tasty-hedgehog, time
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "eventsourcing";
+       version = "0.9.0";
+       sha256 = "0rg9nd0sbqd132a4jzaq0065c5wjaib7iya305j2ql63gilfnjy3";
+       libraryHaskellDepends = [
+         base deepseq free hashable mtl pipes psqueues stm time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base deepseq hedgehog mtl pipes stm tasty tasty-hedgehog
+         unordered-containers
+       ];
+       description = "CQRS/ES library";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
+  "eventsourcing-postgresql" = callPackage
+    ({ mkDerivation, base, bytestring, eventsourcing, hashable, mtl
+     , pipes, postgresql-simple, stm, unordered-containers
+     }:
+     mkDerivation {
+       pname = "eventsourcing-postgresql";
+       version = "0.9.0";
+       sha256 = "0dxa5lgf3lndhqgsmciyv9a6a6qwmwppq4qriasipnp656rcgyf8";
+       libraryHaskellDepends = [
+         base bytestring eventsourcing hashable mtl pipes postgresql-simple
+         stm unordered-containers
+       ];
+       description = "PostgreSQL adaptor for eventsourcing";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "eventstore" = callPackage
     ({ mkDerivation, aeson, array, async, base, bifunctors, bytestring
      , cereal, clock, connection, containers, dns, dotnet-timespan
@@ -85789,24 +85968,6 @@ self: {
      }:
      mkDerivation {
        pname = "extra";
-       version = "1.7.4";
-       sha256 = "0vcn8vid3ps7122zn3h0dzlwkx7kkxzsfhlwymalx6ph1fmxbq9y";
-       libraryHaskellDepends = [
-         base clock directory filepath process time unix
-       ];
-       testHaskellDepends = [
-         base directory filepath QuickCheck quickcheck-instances unix
-       ];
-       description = "Extra functions I use";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "extra_1_7_5" = callPackage
-    ({ mkDerivation, base, clock, directory, filepath, process
-     , QuickCheck, quickcheck-instances, time, unix
-     }:
-     mkDerivation {
-       pname = "extra";
        version = "1.7.5";
        sha256 = "1cickrjvg4i25yn3qg4f0id0bmq115siysyqnh0yk9rwjlnrxyn9";
        libraryHaskellDepends = [
@@ -85817,7 +85978,6 @@ self: {
        ];
        description = "Extra functions I use";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extract-dependencies" = callPackage
@@ -86789,8 +86949,8 @@ self: {
      }:
      mkDerivation {
        pname = "fastparser";
-       version = "0.4.0";
-       sha256 = "1pb97h5hpn3fn4r9qz3rx2kb3xrbvbja9yvakbacd03rn3my1pz3";
+       version = "0.5.0";
+       sha256 = "0pxd2f6f0a6kckqmkkafh9zx11x75x1zx1z90snzj3j8s4jcfg4y";
        libraryHaskellDepends = [
          base bytestring bytestring-lexing containers kan-extensions
          microlens thyme transformers vector-space
@@ -90969,6 +91129,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fmlist_0_9_4" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "fmlist";
+       version = "0.9.4";
+       sha256 = "19h95ph7lh7llw6j1v1rssrdi5k7xw8x0iac9rgzss371s2w3g9d";
+       libraryHaskellDepends = [ base ];
+       description = "FoldMap lists";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fmt" = callPackage
     ({ mkDerivation, base, base64-bytestring, bytestring, call-stack
      , containers, criterion, deepseq, doctest, doctest-discover
@@ -92164,8 +92336,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "A formatter for Haskell source code";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "fpco-api" = callPackage
@@ -94236,8 +94406,8 @@ self: {
      }:
      mkDerivation {
        pname = "functor-combinators";
-       version = "0.3.3.0";
-       sha256 = "1qym0xn4ydj2vx6nhy26k4bwznjjx7spgr0pv33b2i5wpznn972z";
+       version = "0.3.5.1";
+       sha256 = "07hwsy8nly4sps3fsyfmq54cwfb850j1i1darwsyw24ignbd60j4";
        libraryHaskellDepends = [
          assoc base bifunctors comonad constraints containers contravariant
          deriving-compat free invariant kan-extensions mmorph mtl
@@ -102009,8 +102179,8 @@ self: {
      }:
      mkDerivation {
        pname = "github-release";
-       version = "1.3.4";
-       sha256 = "04gzafg85fivaslsdi019f4blwrjpda01caly4dd8y7nmmc8xy0y";
+       version = "1.3.5";
+       sha256 = "0z2sb9avhkq2mgj0pwlji5c2sjxd71628q1i3nhlbajfyms1bsqz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -102279,15 +102449,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "gitlab-haskell_0_2_1" = callPackage
+  "gitlab-haskell_0_2_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, connection, http-conduit
      , http-types, tasty, tasty-hunit, text, time, transformers
      , unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "gitlab-haskell";
-       version = "0.2.1";
-       sha256 = "0s7ar0z2hgkb8qzsyh6j022ks87nxa1fxy99dqrrmcfndcy6by8n";
+       version = "0.2.2";
+       sha256 = "10c6fv0hd8fnll56l7p4qbhyb0b4imiav910762kywbfrz1z6w18";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring connection http-conduit http-types text time
@@ -108599,6 +108769,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "groups_0_5" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "groups";
+       version = "0.5";
+       sha256 = "1ivz03k5bk6d72bibn8jyq4wkivkyakbmvbrp270b33282a4lkpc";
+       libraryHaskellDepends = [ base ];
+       description = "Groups";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "groups-generic" = callPackage
     ({ mkDerivation, base, generic-data, groups }:
      mkDerivation {
@@ -113063,38 +113245,6 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.4.1.0";
-       sha256 = "1fkjg5q70qpp8y9xkzksfrdfn09psz5pydqw5bd8z4nfwhyivql8";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal base filepath formatting gitrev mtl path
-         process stm time transformers typed-process yaml
-       ];
-       executableHaskellDepends = [
-         aeson async base formatting gitrev optparse-applicative path
-         path-io stm yaml
-       ];
-       testHaskellDepends = [
-         base directory filepath hspec mtl path path-io process QuickCheck
-         silently temporary yaml
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "A deployment library for Haskell applications";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hapistrano_0_4_1_2" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, async, base, directory
-     , filepath, formatting, gitrev, hspec, hspec-discover, mtl
-     , optparse-applicative, path, path-io, process, QuickCheck
-     , silently, stm, temporary, time, transformers, typed-process, yaml
-     }:
-     mkDerivation {
-       pname = "hapistrano";
        version = "0.4.1.2";
        sha256 = "0ylahq6hnyzyhh4fb2d21fwisq8a8x5rij6zrzvhcapnir2vkrn0";
        isLibrary = true;
@@ -114396,8 +114546,8 @@ self: {
      }:
      mkDerivation {
        pname = "hascard";
-       version = "0.2.1.0";
-       sha256 = "13f7vmdrd3ibr78pjy7144qj0qa8s07k4j341fzw8w8af83m9wvc";
+       version = "0.3.0.1";
+       sha256 = "17f08qqwdzala1ldyarp841gpjl9iayi1440r77n8bkzcq3hpl54";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -119276,23 +119426,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.3.0.5";
-       sha256 = "0q5ggbx3xlzq0lv6i6wac9zsf0x4k91cf1n5rg6q96wg90f0dxxq";
-       libraryHaskellDepends = [
-         base-prelude hasql hasql-pool optparse-applicative
-       ];
-       description = "\"optparse-applicative\" parsers for \"hasql\"";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "hasql-optparse-applicative_0_3_0_6" = callPackage
-    ({ mkDerivation, base-prelude, hasql, hasql-pool
-     , optparse-applicative
-     }:
-     mkDerivation {
-       pname = "hasql-optparse-applicative";
        version = "0.3.0.6";
        sha256 = "16k6k2qp8avnlsidyjk458lags2633789wvvwdy4xgmiqs1riqr9";
        libraryHaskellDepends = [
@@ -119461,6 +119594,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hasqly-mysql" = callPackage
+    ({ mkDerivation, base, binary, bytestring, dlist, mtl
+     , mysql-haskell, scientific, text, time
+     }:
+     mkDerivation {
+       pname = "hasqly-mysql";
+       version = "0.0.1";
+       sha256 = "1la1lnwcv20jig72hgpgzy8a2ils95y0clhkf5ajvj1whh099g7p";
+       libraryHaskellDepends = [
+         base binary bytestring dlist mtl mysql-haskell scientific text time
+       ];
+       description = "composable SQL generation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "hastache" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, containers
      , directory, filepath, HUnit, ieee754, mtl, process, syb, text
@@ -120627,8 +120777,6 @@ self: {
        testHaskellDepends = [ base data-default HUnit ieee754 mtl ];
        description = "Easily convert between latitude/longitude, UTM and OSGB";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hcron" = callPackage
@@ -121233,7 +121381,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "headroom_0_3_0_0" = callPackage
+  "headroom_0_3_1_0" = callPackage
     ({ mkDerivation, aeson, base, data-default-class, doctest, either
      , file-embed, hspec, microlens, microlens-th, mustache
      , optparse-applicative, pcre-heavy, pcre-light, QuickCheck, rio
@@ -121241,8 +121389,8 @@ self: {
      }:
      mkDerivation {
        pname = "headroom";
-       version = "0.3.0.0";
-       sha256 = "1d4dcb70vzpn6694d4z52aj12vzicmfyyrbhd6x816ic68db08nc";
+       version = "0.3.1.0";
+       sha256 = "0md8yzjq92xc9pq9h8a78irgyka23ck7nlhdbdyfnm2f490fx2yw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -123014,52 +123162,52 @@ self: {
 
   "hevm" = callPackage
     ({ mkDerivation, abstract-par, aeson, ansi-wl-pprint, async, base
-     , base16-bytestring, base64-bytestring, binary, brick, bytestring
-     , cereal, containers, cryptonite, data-dword, deepseq, directory
-     , fgl, filepath, ghci-pretty, haskeline, here, HUnit, lens
-     , lens-aeson, megaparsec, memory, monad-par, mtl, multiset
-     , operational, optparse-generic, process, QuickCheck
-     , quickcheck-text, readline, regex-tdfa, restless-git, rosezipper
-     , s-cargot, scientific, secp256k1, tasty, tasty-hunit
-     , tasty-quickcheck, temporary, text, text-format, time
-     , transformers, tree-view, unordered-containers, vector, vty, wreq
+     , base16-bytestring, binary, brick, bytestring, cborg, cereal
+     , containers, cryptonite, data-dword, deepseq, directory, ff, fgl
+     , filepath, free, haskeline, here, HUnit, lens, lens-aeson
+     , megaparsec, memory, monad-par, mtl, multiset, operational
+     , optparse-generic, process, QuickCheck, quickcheck-text
+     , regex-tdfa, restless-git, rosezipper, s-cargot, sbv, scientific
+     , secp256k1, semver-range, tasty, tasty-hunit, tasty-quickcheck
+     , temporary, text, text-format, time, transformers, tree-view
+     , unordered-containers, vector, vty, witherable, wreq
      }:
      mkDerivation {
        pname = "hevm";
-       version = "0.24";
-       sha256 = "0bzhswisrmlw8ajl6mr13vr3a7l0vywl394aihrc0xs6vwgyflh0";
+       version = "0.41.0";
+       sha256 = "13qf0bh47dppqbxv1g07411c1lfmfxl0pm2s3xkwdf7kr219l0hw";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         abstract-par aeson ansi-wl-pprint base base16-bytestring
-         base64-bytestring binary brick bytestring cereal containers
-         cryptonite data-dword deepseq directory fgl filepath ghci-pretty
-         haskeline lens lens-aeson megaparsec memory monad-par mtl multiset
-         operational optparse-generic process QuickCheck quickcheck-text
-         readline restless-git rosezipper s-cargot scientific temporary text
-         text-format time transformers tree-view unordered-containers vector
-         vty wreq
+         abstract-par aeson ansi-wl-pprint base base16-bytestring binary
+         brick bytestring cborg cereal containers cryptonite data-dword
+         deepseq directory fgl filepath free haskeline lens lens-aeson
+         megaparsec memory monad-par mtl multiset operational
+         optparse-generic process QuickCheck quickcheck-text regex-tdfa
+         restless-git rosezipper s-cargot sbv scientific semver-range
+         temporary text text-format time transformers tree-view
+         unordered-containers vector vty witherable wreq
        ];
-       librarySystemDepends = [ secp256k1 ];
+       librarySystemDepends = [ ff secp256k1 ];
        executableHaskellDepends = [
-         aeson ansi-wl-pprint async base base16-bytestring base64-bytestring
-         binary brick bytestring containers cryptonite data-dword deepseq
-         directory filepath ghci-pretty lens lens-aeson memory mtl
-         optparse-generic process QuickCheck quickcheck-text readline
-         regex-tdfa temporary text text-format unordered-containers vector
-         vty
+         aeson ansi-wl-pprint async base base16-bytestring binary brick
+         bytestring containers cryptonite data-dword deepseq directory
+         filepath free lens lens-aeson memory mtl operational
+         optparse-generic process QuickCheck quickcheck-text regex-tdfa sbv
+         temporary text text-format unordered-containers vector vty
        ];
        testHaskellDepends = [
-         base base16-bytestring binary bytestring ghci-pretty here HUnit
-         lens mtl QuickCheck tasty tasty-hunit tasty-quickcheck text vector
+         base base16-bytestring binary bytestring containers free here HUnit
+         lens mtl QuickCheck sbv tasty tasty-hunit tasty-quickcheck text
+         vector
        ];
        testSystemDepends = [ secp256k1 ];
        description = "Ethereum virtual machine evaluator";
        license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) secp256k1;};
+     }) {ff = null; inherit (pkgs) secp256k1;};
 
   "hevolisa" = callPackage
     ({ mkDerivation, base, bytestring, cairo, filepath, haskell98 }:
@@ -123407,8 +123555,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "hextra";
-       version = "1.0.0.0";
-       sha256 = "17ik20q07if3gvfsifm00k8z6iffcjwmy19n5xyzzc4bd17qffzb";
+       version = "1.1.0.1";
+       sha256 = "0iq6kj7mijxppjghpqx19s79sj6k1jqf21gfi8jqbj6bq7j2cdvj";
        libraryHaskellDepends = [ base ];
        description = "Generic and niche utility functions and more for Haskell";
        license = stdenv.lib.licenses.mpl20;
@@ -127479,6 +127627,8 @@ self: {
        pname = "hnix";
        version = "0.9.1";
        sha256 = "1vxb55ih0gpaazb8kvms2sw21l78hb36cbz5217vg94i3yvk8zls";
+       revision = "2";
+       editedCabalFile = "17fxwg4bxnpwhwfwmh42xrwq6ajbk5b707zl8f01z0cyskzabzxy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127754,16 +127904,17 @@ self: {
      }) {};
 
   "hobbits" = callPackage
-    ({ mkDerivation, base, deepseq, haskell-src-exts, haskell-src-meta
-     , mtl, syb, tagged, template-haskell, th-expand-syns, transformers
+    ({ mkDerivation, base, containers, deepseq, haskell-src-exts
+     , haskell-src-meta, mtl, syb, tagged, template-haskell
+     , th-expand-syns, transformers, vector
      }:
      mkDerivation {
        pname = "hobbits";
-       version = "1.2.4";
-       sha256 = "0hqg29s938hz1hxb7ljv3wnr8iaxwjmi66zjvvy1939g5r6fmdll";
+       version = "1.3";
+       sha256 = "1w8bz1z747dd7vh110iynmsq5n0a84zw1gk7jcxfwl5lpfrqz97s";
        libraryHaskellDepends = [
-         base deepseq haskell-src-exts haskell-src-meta mtl syb tagged
-         template-haskell th-expand-syns transformers
+         base containers deepseq haskell-src-exts haskell-src-meta mtl syb
+         tagged template-haskell th-expand-syns transformers vector
        ];
        description = "A library for canonically representing terms with binding";
        license = stdenv.lib.licenses.bsd3;
@@ -127793,46 +127944,45 @@ self: {
      }) {ocilib = null;};
 
   "hocker" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, async, base
-     , bytestring, concurrentoutput, containers, cryptonite, data-fix
-     , deepseq, directory, exceptions, filepath, foldl, hnix
-     , http-client, http-types, lens, lens-aeson, lifted-base, memory
+    ({ mkDerivation, aeson, aeson-pretty, async, base, bytestring
+     , concurrentoutput, containers, cryptonite, data-fix, deepseq
+     , directory, exceptions, filepath, foldl, hnix, http-client
+     , http-types, lens, lens-aeson, lifted-base, megaparsec, memory
      , mtl, neat-interpolation, network, network-uri, nix-paths
      , optional-args, optparse-applicative, optparse-generic, pooled-io
-     , pureMD5, scientific, tar, tasty, tasty-golden, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck, temporary, text, time
-     , transformers, turtle, unordered-containers, uri-bytestring
-     , vector, wreq, zlib
+     , prettyprinter, pureMD5, scientific, tar, tasty, tasty-golden
+     , tasty-hunit, tasty-quickcheck, tasty-smallcheck, temporary, text
+     , time, transformers, turtle, unordered-containers, uri-bytestring
+     , vector, word8, wreq, zlib
      }:
      mkDerivation {
        pname = "hocker";
-       version = "1.0.5";
-       sha256 = "0xv22kiw44y72asrnk027h9gxpfhjzgdm8sbcy70s4ipn8n62hha";
+       version = "1.0.6";
+       sha256 = "1j6gcb33jf3kcskxyl0s264h5b1rvmcgkrmhrgzw7i3314394xdj";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty ansi-wl-pprint async base bytestring
-         concurrentoutput containers cryptonite data-fix deepseq directory
-         exceptions filepath foldl hnix http-client http-types lens
-         lens-aeson lifted-base memory mtl neat-interpolation network
+         aeson aeson-pretty async base bytestring concurrentoutput
+         containers cryptonite data-fix deepseq directory exceptions
+         filepath foldl hnix http-client http-types lens lens-aeson
+         lifted-base megaparsec memory mtl neat-interpolation network
          network-uri nix-paths optparse-applicative optparse-generic
-         pooled-io pureMD5 scientific tar temporary text time transformers
-         turtle unordered-containers uri-bytestring vector wreq zlib
+         pooled-io prettyprinter pureMD5 scientific tar temporary text time
+         transformers turtle unordered-containers uri-bytestring vector wreq
+         zlib
        ];
        executableHaskellDepends = [
          base bytestring cryptonite data-fix filepath hnix lens mtl network
          optional-args optparse-applicative optparse-generic temporary text
        ];
        testHaskellDepends = [
-         aeson ansi-wl-pprint base bytestring containers cryptonite mtl
-         network network-uri tasty tasty-golden tasty-hunit tasty-quickcheck
-         tasty-smallcheck text unordered-containers
+         aeson base bytestring containers cryptonite mtl network network-uri
+         prettyprinter tasty tasty-golden tasty-hunit tasty-quickcheck
+         tasty-smallcheck text unordered-containers word8
        ];
        description = "Interact with the docker registry and generate nix build instructions";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "hodatime" = callPackage
@@ -130982,7 +131132,7 @@ self: {
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
-     }) {inherit (pkgs) mesos; inherit (pkgs) protobuf;};
+     }) {mesos = null; inherit (pkgs) protobuf;};
 
   "hs-multiaddr" = callPackage
     ({ mkDerivation, base, bytes, bytestring, cereal, either-unwrap
@@ -133157,6 +133307,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) lua5_3;};
 
+  "hslua_1_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, containers, exceptions, lua5_3
+     , mtl, QuickCheck, quickcheck-instances, tasty, tasty-hunit
+     , tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "hslua";
+       version = "1.2.0";
+       sha256 = "0a295zqpbrv8a2hw7msz5p7brlswag16sg08dyz399ij6b7q5x0h";
+       configureFlags = [ "-fsystem-lua" "-f-use-pkgconfig" ];
+       libraryHaskellDepends = [
+         base bytestring containers exceptions mtl text
+       ];
+       librarySystemDepends = [ lua5_3 ];
+       testHaskellDepends = [
+         base bytestring containers exceptions mtl QuickCheck
+         quickcheck-instances tasty tasty-hunit tasty-quickcheck text
+       ];
+       description = "Bindings to Lua, an embeddable scripting language";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) lua5_3;};
+
   "hslua-aeson" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hashable, hslua, hspec
      , HUnit, ieee754, QuickCheck, quickcheck-instances, scientific
@@ -133164,10 +133337,8 @@ self: {
      }:
      mkDerivation {
        pname = "hslua-aeson";
-       version = "1.0.2";
-       sha256 = "1v5saxppbnq62ds00a7diadvqg8dnsx0sjlcanjj15h13j3yw964";
-       revision = "1";
-       editedCabalFile = "1bikj789x82f4b1pqij1wshkncvlxwjwyxf9z1spfvg8nsb5sd7y";
+       version = "1.0.3";
+       sha256 = "0qqcf9km39bmw29d2s5zw91rxgmmm8nqfnfs5hkhmsgh5kvaal5h";
        libraryHaskellDepends = [
          aeson base hashable hslua scientific text unordered-containers
          vector
@@ -133198,16 +133369,18 @@ self: {
 
   "hslua-module-system" = callPackage
     ({ mkDerivation, base, containers, directory, exceptions, hslua
-     , tasty, tasty-hunit, temporary, text
+     , tasty, tasty-hunit, tasty-lua, temporary, text
      }:
      mkDerivation {
        pname = "hslua-module-system";
-       version = "0.2.1";
-       sha256 = "1m7wz3g5c34pyizqw5mllzhsy2vziddhlbhjfwdvd7nhd3p4v3hh";
+       version = "0.2.2";
+       sha256 = "0swl20v40kkh67vn6546a0afjcsq56x3ww854x3pwypxz1p6dyri";
        libraryHaskellDepends = [
          base containers directory exceptions hslua temporary
        ];
-       testHaskellDepends = [ base hslua tasty tasty-hunit text ];
+       testHaskellDepends = [
+         base hslua tasty tasty-hunit tasty-lua text
+       ];
        description = "Lua module wrapper around Haskell's System module";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -133225,6 +133398,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hslua-module-text_0_3_0" = callPackage
+    ({ mkDerivation, base, bytestring, hslua, tasty, tasty-hunit
+     , tasty-lua, text
+     }:
+     mkDerivation {
+       pname = "hslua-module-text";
+       version = "0.3.0";
+       sha256 = "1y15b38r0xiwcwpzsdr8x8i4y8all2jd3z0j7fvny6lsbna2hf7r";
+       libraryHaskellDepends = [ base bytestring hslua text ];
+       testHaskellDepends = [
+         base hslua tasty tasty-hunit tasty-lua text
+       ];
+       description = "Lua module for text";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hsluv-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, colour, containers }:
      mkDerivation {
@@ -133585,21 +133775,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec";
-       version = "2.7.1";
-       sha256 = "1x8rcr7j1azcaw0fg1xzp8j0gr4ias36z09aj24i4xp8pnyfp341";
-       libraryHaskellDepends = [
-         base hspec-core hspec-discover hspec-expectations QuickCheck
-       ];
-       description = "A Testing Framework for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hspec_2_7_2" = callPackage
-    ({ mkDerivation, base, hspec-core, hspec-discover
-     , hspec-expectations, QuickCheck
-     }:
-     mkDerivation {
-       pname = "hspec";
        version = "2.7.2";
        sha256 = "0zb9b85vx7wyx8zcrkqwlwp9qmsg3f5qnd43ps6xfrsn1l2vszm9";
        libraryHaskellDepends = [
@@ -133607,7 +133782,6 @@ self: {
        ];
        description = "A Testing Framework for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hspec-attoparsec" = callPackage
@@ -133673,35 +133847,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-core";
-       version = "2.7.1";
-       sha256 = "08vk8588lap00hsln8zl64dazbb28lzk4b4h5vnm7xvhg7r21k1c";
-       revision = "1";
-       editedCabalFile = "0aw68sgz2p63y0vg07c1jx2pr8lmhp5c1ck60dlipyxsa00455i6";
-       libraryHaskellDepends = [
-         ansi-terminal array base call-stack clock deepseq directory
-         filepath hspec-expectations HUnit QuickCheck quickcheck-io random
-         setenv stm tf-random transformers
-       ];
-       testHaskellDepends = [
-         ansi-terminal array base call-stack clock deepseq directory
-         filepath hspec-expectations hspec-meta HUnit process QuickCheck
-         quickcheck-io random setenv silently stm temporary tf-random
-         transformers
-       ];
-       testToolDepends = [ hspec-meta ];
-       testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
-       description = "A Testing Framework for Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hspec-core_2_7_2" = callPackage
-    ({ mkDerivation, ansi-terminal, array, base, call-stack, clock
-     , deepseq, directory, filepath, hspec-expectations, hspec-meta
-     , HUnit, process, QuickCheck, quickcheck-io, random, setenv
-     , silently, stm, temporary, tf-random, transformers
-     }:
-     mkDerivation {
-       pname = "hspec-core";
        version = "2.7.2";
        sha256 = "0vzsxwgg3rfp6mxq85sb1v2wd77f2lwdg9zm5f1mqm02avfglfnk";
        libraryHaskellDepends = [
@@ -133719,7 +133864,6 @@ self: {
        testTarget = "--test-option=--skip --test-option='Test.Hspec.Core.Runner.hspecResult runs specs in parallel'";
        description = "A Testing Framework for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hspec-dirstream" = callPackage
@@ -133745,25 +133889,6 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-discover";
-       version = "2.7.1";
-       sha256 = "0r47fm94wa6qrhp8cc1zzkjrxc32rnagfn9m9ga4dm6p6ydw4c8b";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base directory filepath ];
-       executableHaskellDepends = [ base directory filepath ];
-       testHaskellDepends = [
-         base directory filepath hspec-meta QuickCheck
-       ];
-       testToolDepends = [ hspec-meta ];
-       description = "Automatically discover and run Hspec tests";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hspec-discover_2_7_2" = callPackage
-    ({ mkDerivation, base, directory, filepath, hspec-meta, QuickCheck
-     }:
-     mkDerivation {
-       pname = "hspec-discover";
        version = "2.7.2";
        sha256 = "0n3lvdznmrgrhd11969xn4ci31439y6fpr9xkzsabij87rw091l8";
        isLibrary = true;
@@ -133776,7 +133901,6 @@ self: {
        testToolDepends = [ hspec-meta ];
        description = "Automatically discover and run Hspec tests";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hspec-expectations" = callPackage
@@ -136059,7 +136183,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "http-client_0_7_1" = callPackage
+  "http-client_0_7_2" = callPackage
     ({ mkDerivation, array, async, base, blaze-builder, bytestring
      , case-insensitive, containers, cookie, deepseq, directory
      , exceptions, filepath, ghc-prim, hspec, http-types, memory
@@ -136068,8 +136192,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.1";
-       sha256 = "0qjdjpxwqbnxfgqny0iylv11ng2swmdz57bwzy3mif5hfamvr6p0";
+       version = "0.7.2";
+       sha256 = "1ld8bx1bnf1gpvdy9wn14b31k94rjvl40zqrgd7nb20zd2l354vp";
        libraryHaskellDepends = [
          array base blaze-builder bytestring case-insensitive containers
          cookie deepseq exceptions filepath ghc-prim http-types memory
@@ -136837,6 +136961,21 @@ self: {
        broken = true;
      }) {};
 
+  "http-query" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-conduit, network-uri
+     , text
+     }:
+     mkDerivation {
+       pname = "http-query";
+       version = "0.1.0";
+       sha256 = "1j2ad7ym5mkpavlw1fp07n4qlggms04i93l5rv6vg07ljf4imjvs";
+       libraryHaskellDepends = [
+         aeson base bytestring http-conduit network-uri text
+       ];
+       description = "Simple http queries";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "http-querystring" = callPackage
     ({ mkDerivation, base, bytestring, containers, doctest, hspec
      , http-types, QuickCheck
@@ -138074,6 +138213,8 @@ self: {
        pname = "hw-balancedparens";
        version = "0.4.1.0";
        sha256 = "1ddxg00pwjvlrd4zdx9b9y7hm8rgxsxkvzzvwc34p2y75rivp21l";
+       revision = "1";
+       editedCabalFile = "0mc9lmjc3xrad4jlc9v66078362a791hnrrg9bclg1nq7jicfxgx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138214,8 +138355,8 @@ self: {
        pname = "hw-dsv";
        version = "0.4.1.0";
        sha256 = "1wv0yg662c3bq4kpgfqfjks59v17i5h3v3mils1qpxn4c57jr3s8";
-       revision = "1";
-       editedCabalFile = "1xhdvqmqm44ky8mbwi64fj3bawqswf58ghlbj2bvk136yflvz2c7";
+       revision = "2";
+       editedCabalFile = "1l7aww6nci05ns7hnk46r20as3xy1j0s5fxsrb5w0x9y2kwvqj61";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138255,8 +138396,8 @@ self: {
        pname = "hw-dump";
        version = "0.1.1.0";
        sha256 = "14ya18i3xvay5xn8j20b06msqyd49h34w526k1x1fxdp0i2l3rwr";
-       revision = "1";
-       editedCabalFile = "0v310296cxsv92k2rjrc9zrwh7yb7lkjwivndpbh5hv5p8ll0zm6";
+       revision = "2";
+       editedCabalFile = "0p6cbijds7vc8bx9rb8s8bwr9dp4qc91idmd64llgz06d9kmvkcs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138290,8 +138431,8 @@ self: {
        pname = "hw-eliasfano";
        version = "0.1.2.0";
        sha256 = "1wqpzznmz6bl88wzhrfcbgi49dw7w7i0p92hyc0m58nanqm1zgnj";
-       revision = "1";
-       editedCabalFile = "0qqshcj482x0yfmb76fj6ng57sf3i0r8daz93kzab8lscarh31j9";
+       revision = "2";
+       editedCabalFile = "0l7h7pr6gpq0xnp4w003q3dxw7pmv2d6kpx2iqfc3nzzpa562ivv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138443,6 +138584,8 @@ self: {
        pname = "hw-ip";
        version = "2.4.2.0";
        sha256 = "1bvh4fkg1ffr3y8wink62rgkynlcgjhmra7a4w01h1dmw1vb2vfx";
+       revision = "1";
+       editedCabalFile = "19jbgqsmc71apmr6z0n0a2hgfhv9r0bsqa2x55r8grpyr91blpmw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138476,6 +138619,8 @@ self: {
        pname = "hw-json";
        version = "1.3.2.1";
        sha256 = "11lf4nxnkk8l25a44g1pkr9j1w03l69gqjgli5yfj6k68lzml7bf";
+       revision = "1";
+       editedCabalFile = "0l42hlc0icik28isjihqsj4cxzgdj1vzyxwazlyyv4f52liyjk61";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138547,6 +138692,8 @@ self: {
        pname = "hw-json-simd";
        version = "0.1.1.0";
        sha256 = "0bpfyx2bd7pcr8y8bfahcdm30bznqixfawraq3xzy476vy9ppa9n";
+       revision = "1";
+       editedCabalFile = "047s5clxvi3l9x80lnf7nrv7myxnvqmh8y7syb2ryv3m549lyv2q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring hw-prim lens vector ];
@@ -138576,8 +138723,8 @@ self: {
        pname = "hw-json-simple-cursor";
        version = "0.1.1.0";
        sha256 = "1kwxnqsa2mkw5sa8rc9rixjm6f75lyjdaz7f67yyhwls5v4315bl";
-       revision = "2";
-       editedCabalFile = "144afi48rm613gcb8gccfyw5ybx9mzsfzsfq1nvsmlyijl8rgc1x";
+       revision = "3";
+       editedCabalFile = "0zmq1gb9znb84d9igppww6295glnhg5b6xlgadr435cddp5zmhpx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138616,6 +138763,8 @@ self: {
        pname = "hw-json-standard-cursor";
        version = "0.2.3.1";
        sha256 = "1mpsspp6ba2zqv38a0rcv93mbwb1rb8snmxklf32g02djj8b4vir";
+       revision = "1";
+       editedCabalFile = "0gdvwhj2jmd8dm1yi3kzs0lyw5r4bk7c50s21z1600v36bmzpdm1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138752,8 +138901,8 @@ self: {
        pname = "hw-packed-vector";
        version = "0.2.1.0";
        sha256 = "13hly2yzx6kx4j56iksgj4i3wmvg7rmxq57d0g87lmybzhha9q38";
-       revision = "1";
-       editedCabalFile = "070ac32s0azzhnqwrvhnfa18sxn60ayhmlikr6zk4vl1v03y0xbc";
+       revision = "2";
+       editedCabalFile = "0hlmi9w5z7j9ycqjf5avx3b09yglcbx8krypv274j2qrm5fzypr4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138856,8 +139005,8 @@ self: {
        pname = "hw-rankselect";
        version = "0.13.4.0";
        sha256 = "0chk3n4vb55px943w0l3q7pxhgbvqm64vn7lkhi7k0l2dpybycp7";
-       revision = "1";
-       editedCabalFile = "03p711rvs3qn9x5rfc90yxrbyp5fqsi9i2wbiwrs3vq6if66vc5z";
+       revision = "2";
+       editedCabalFile = "03lc8cgijr4ysz0i9c4pjhas4cd5ifxs400cr0nbasjvmz27hr3c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139017,8 +139166,8 @@ self: {
        pname = "hw-uri";
        version = "0.2.1.0";
        sha256 = "1bwdzvms0n86k7gbkhk0jj3m1pcc9vbjk13kgpchqxpxm971srbs";
-       revision = "1";
-       editedCabalFile = "0bbsv8dj0z6wvgn0ldgvbrhji8mw5514pqwrp4ih8i2mjnfcdh2a";
+       revision = "2";
+       editedCabalFile = "0i6cw8m5g2hasif3q8gk7kpzavpmmk9fgr7vcqvym202ccbyj3dq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -139067,8 +139216,8 @@ self: {
        pname = "hw-xml";
        version = "0.5.1.0";
        sha256 = "0g81kknllbc6v5wx7kgzhh78409njfzr3h7lfdx7ip0nkhhnpmw4";
-       revision = "2";
-       editedCabalFile = "1zi0ma6fmzghlc65dxpznsyiyp4ij7cwz1yw35i0jjm314mhi4va";
+       revision = "3";
+       editedCabalFile = "0b1lkhc6qf5vqafn69bid01k1hi043k7yrpl7pbxfrn154w8afpm";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -141367,8 +141516,6 @@ self: {
        ];
        description = "A Haskell backend kernel for the IPython project";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-aeson" = callPackage
@@ -141384,8 +141531,6 @@ self: {
        ];
        description = "IHaskell display instances for Aeson";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-basic" = callPackage
@@ -141410,8 +141555,6 @@ self: {
        libraryHaskellDepends = [ base blaze-html blaze-markup ihaskell ];
        description = "IHaskell display instances for blaze-html types";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-charts" = callPackage
@@ -141428,8 +141571,6 @@ self: {
        ];
        description = "IHaskell display instances for charts types";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-diagrams" = callPackage
@@ -141446,8 +141587,6 @@ self: {
        ];
        description = "IHaskell display instances for diagram types";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-display" = callPackage
@@ -141472,8 +141611,6 @@ self: {
        libraryHaskellDepends = [ base bytestring gnuplot ihaskell ];
        description = "IHaskell display instance for Gnuplot (from gnuplot package)";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-graphviz" = callPackage
@@ -141485,8 +141622,6 @@ self: {
        libraryHaskellDepends = [ base bytestring ihaskell process ];
        description = "IHaskell display instance for GraphViz (external binary)";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-hatex" = callPackage
@@ -141498,8 +141633,6 @@ self: {
        libraryHaskellDepends = [ base HaTeX ihaskell text ];
        description = "IHaskell display instances for hatex";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-hvega" = callPackage
@@ -141511,8 +141644,6 @@ self: {
        libraryHaskellDepends = [ aeson base hvega ihaskell text ];
        description = "IHaskell display instance for hvega types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-inline-r" = callPackage
@@ -141530,8 +141661,6 @@ self: {
        ];
        description = "Embed R quasiquotes and plots in IHaskell notebooks";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-juicypixels" = callPackage
@@ -141546,8 +141675,6 @@ self: {
        ];
        description = "IHaskell - IHaskellDisplay instances of the image types of the JuicyPixels package";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-magic" = callPackage
@@ -141564,8 +141691,6 @@ self: {
        ];
        description = "IHaskell display instances for bytestrings";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "ihaskell-parsec" = callPackage
@@ -143491,8 +143616,6 @@ self: {
        ];
        description = "Seamlessly call R from Haskell and vice versa. No FFI required.";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {inherit (pkgs) R;};
 
   "inliterate" = callPackage
@@ -143850,8 +143973,8 @@ self: {
        pname = "int-cast";
        version = "0.2.0.0";
        sha256 = "0s8rqm5d9f4y2sskajsw8ff7q8xp52vwqa18m6bajldp11m9a1p0";
-       revision = "2";
-       editedCabalFile = "1fhc91170q9q9k628wc3dqzdvxfjs97jzg5x7g0ndaqnh60l8cy5";
+       revision = "3";
+       editedCabalFile = "1b99lqxwbhg96iykfr2l7qd388cbx9sf8bln728505qgj6kgsvj7";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base QuickCheck test-framework test-framework-quickcheck2
@@ -145273,8 +145396,8 @@ self: {
      }:
      mkDerivation {
        pname = "ipfs";
-       version = "1.1.2";
-       sha256 = "13pzj9wx7f0wgzk1hy791a4p2ivfxyb045srfa75l065ca8bjnis";
+       version = "1.1.3";
+       sha256 = "0ndd4015s5mp2cxwg85zly8xw0wfpx2da9jj6p0hh015whk8p2fm";
        libraryHaskellDepends = [
          aeson base bytestring envy flow Glob ip lens monad-logger
          regex-compat rio servant-client servant-server swagger2 text vector
@@ -146835,15 +146958,15 @@ self: {
      }) {};
 
   "ixset-typed-conversions" = callPackage
-    ({ mkDerivation, base, exceptions, hashable, ixset-typed
+    ({ mkDerivation, base, exceptions, free, hashable, ixset-typed
      , unordered-containers, zipper-extra
      }:
      mkDerivation {
        pname = "ixset-typed-conversions";
-       version = "0.1.0.1";
-       sha256 = "09fl92lkalbzq23742wjiw4568607cdbxy3a8qgkm2hn8r7djhwi";
+       version = "0.1.1.0";
+       sha256 = "13nwxwxgsw7kj9kig643c48fadm6y9fjr0rsaggplqy903l4w5ks";
        libraryHaskellDepends = [
-         base exceptions hashable ixset-typed unordered-containers
+         base exceptions free hashable ixset-typed unordered-containers
          zipper-extra
        ];
        description = "Conversions from ixset-typed to other containers";
@@ -147887,28 +148010,27 @@ self: {
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
      , bytestring, concise, containers, cryptonite, hspec, lens, memory
      , monad-time, mtl, network-uri, pem, QuickCheck
-     , quickcheck-instances, safe, semigroups, tasty, tasty-hspec
-     , tasty-quickcheck, template-haskell, text, time
-     , unordered-containers, vector, x509
+     , quickcheck-instances, safe, tasty, tasty-hspec, tasty-quickcheck
+     , template-haskell, text, time, unordered-containers, vector, x509
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.8.3";
-       sha256 = "0izrbjcmsiv67d2vmiqgmnzn27pvs0kvka3rw5x33fwjgq0b3jyv";
+       version = "0.8.3.1";
+       sha256 = "14cbdah9khw8z876c1fn26asp1xa3azn7hh7a04chznmqagnmbmj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring concise
          containers cryptonite lens memory monad-time mtl network-uri
-         QuickCheck quickcheck-instances safe semigroups template-haskell
-         text time unordered-containers vector x509
+         QuickCheck quickcheck-instances safe template-haskell text time
+         unordered-containers vector x509
        ];
        testHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring concise
          containers cryptonite hspec lens memory monad-time mtl network-uri
-         pem QuickCheck quickcheck-instances safe semigroups tasty
-         tasty-hspec tasty-quickcheck template-haskell text time
-         unordered-containers vector x509
+         pem QuickCheck quickcheck-instances safe tasty tasty-hspec
+         tasty-quickcheck template-haskell text time unordered-containers
+         vector x509
        ];
        description = "Javascript Object Signing and Encryption and JSON Web Token library";
        license = stdenv.lib.licenses.asl20;
@@ -149441,8 +149563,8 @@ self: {
      }:
      mkDerivation {
        pname = "juicy-gcode";
-       version = "0.1.0.9";
-       sha256 = "02i1d3jfisxiyq63z9z7jlyscywbskmsxkx2xxv7v742xi4w5wrb";
+       version = "0.1.0.10";
+       sha256 = "17ps1kkbjvlvyjzbqagwikw960nn8q4dzjvng0waknr2gaa125bj";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -150205,6 +150327,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "katip_0_8_5_0" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , bytestring, containers, criterion, deepseq, directory, either
+     , filepath, hostname, microlens, microlens-th, monad-control, mtl
+     , old-locale, quickcheck-instances, regex-tdfa, resourcet
+     , safe-exceptions, scientific, semigroups, stm, string-conv, tasty
+     , tasty-golden, tasty-hunit, tasty-quickcheck, template-haskell
+     , text, time, time-locale-compat, transformers, transformers-base
+     , transformers-compat, unix, unliftio-core, unordered-containers
+     }:
+     mkDerivation {
+       pname = "katip";
+       version = "0.8.5.0";
+       sha256 = "1kjzsx4fqbknnv158ypg5jhmw7ww1rk1mf99g3dci09xg97wmgjk";
+       libraryHaskellDepends = [
+         aeson async auto-update base bytestring containers either hostname
+         microlens microlens-th monad-control mtl old-locale resourcet
+         safe-exceptions scientific semigroups stm string-conv
+         template-haskell text time transformers transformers-base
+         transformers-compat unix unliftio-core unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory microlens
+         quickcheck-instances regex-tdfa safe-exceptions stm tasty
+         tasty-golden tasty-hunit tasty-quickcheck template-haskell text
+         time time-locale-compat unordered-containers
+       ];
+       benchmarkHaskellDepends = [
+         aeson async base blaze-builder criterion deepseq directory filepath
+         safe-exceptions text time transformers unix
+       ];
+       description = "A structured logging framework";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "katip-datadog" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, binary, bytestring
      , conduit, conduit-extra, connection, containers, katip, network
@@ -152105,22 +152263,6 @@ self: {
      }:
      mkDerivation {
        pname = "kubernetes-webhook-haskell";
-       version = "0.2.0.2";
-       sha256 = "1zhknc4bpdm3xcynn1jm7yii615sj7xcq3mv31xlx4kc4bh566al";
-       libraryHaskellDepends = [
-         aeson base base64-bytestring binary bytestring text
-         unordered-containers
-       ];
-       description = "Create Kubernetes Admission Webhooks in Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "kubernetes-webhook-haskell_0_2_0_3" = callPackage
-    ({ mkDerivation, aeson, base, base64-bytestring, binary, bytestring
-     , text, unordered-containers
-     }:
-     mkDerivation {
-       pname = "kubernetes-webhook-haskell";
        version = "0.2.0.3";
        sha256 = "1xvc35jibs2nizzp6xgdzzyx6fhgzgqb55a48vl1djbi84s8b4q1";
        libraryHaskellDepends = [
@@ -152129,7 +152271,6 @@ self: {
        ];
        description = "Create Kubernetes Admission Webhooks in Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kuifje" = callPackage
@@ -153645,8 +153786,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-dickinson";
-       version = "1.1.0.3";
-       sha256 = "1dfm89zrmq2ibyhjn4hbzq6yfm5acc63s47w7bp1asn6lxnd9dc0";
+       version = "1.3.0.0";
+       sha256 = "0pi983l9s182c4xcqj7xq3idv8wnshx7zva5a5wfhws403y5yy7v";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -154746,6 +154887,8 @@ self: {
        pname = "lapack-ffi-tools";
        version = "0.1.2.1";
        sha256 = "0hk54psm066acgn24mw5dbbhz4a0nqvyks75302cabijbp524gdh";
+       revision = "1";
+       editedCabalFile = "1h5chlb66ycg96ab56hwqr4qk82l19gq1pg1zfzhfdl5byg24fln";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -161677,8 +161820,8 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.3.10";
-       sha256 = "0d03ma5sq0aqkb42jy0531d4vkn1ci0gcs8vj3xd6ac4hwr0qcwm";
+       version = "1.3.11";
+       sha256 = "1r5qfip5xl22hq2v27b1lkcknixmc40wm7iya7vs3mrnwyavpmdb";
        libraryHaskellDepends = [
          async base exceptions free monad-control mtl prettyprinter
          semigroups stm stm-delay text time transformers transformers-base
@@ -165955,28 +166098,6 @@ self: {
      }) {};
 
   "math-functions" = callPackage
-    ({ mkDerivation, base, data-default-class, deepseq, erf, primitive
-     , QuickCheck, tasty, tasty-hunit, tasty-quickcheck, vector
-     , vector-th-unbox
-     }:
-     mkDerivation {
-       pname = "math-functions";
-       version = "0.3.4.0";
-       sha256 = "1r77ifqjxr8waf9ljgggyhl2a7gpqhhsi7m7cnc9v5kxqzgdbn4a";
-       revision = "1";
-       editedCabalFile = "1gyrzczs1df98l2d21xrpqqsxs9yw27pfwl27fx8lshd9n25x5h5";
-       libraryHaskellDepends = [
-         base data-default-class deepseq primitive vector
-       ];
-       testHaskellDepends = [
-         base data-default-class deepseq erf primitive QuickCheck tasty
-         tasty-hunit tasty-quickcheck vector vector-th-unbox
-       ];
-       description = "Collection of tools for numeric computations";
-       license = stdenv.lib.licenses.bsd2;
-     }) {};
-
-  "math-functions_0_3_4_1" = callPackage
     ({ mkDerivation, base, data-default-class, deepseq, erf, gauge
      , primitive, QuickCheck, random, tasty, tasty-hunit
      , tasty-quickcheck, vector, vector-th-unbox
@@ -165997,7 +166118,6 @@ self: {
        ];
        description = "Collection of tools for numeric computations";
        license = stdenv.lib.licenses.bsd2;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "math-grads" = callPackage
@@ -166465,8 +166585,8 @@ self: {
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "50200.10.0";
-       sha256 = "0wj1bsqmlzb7q92h3hj5gwgwknwqh5p487mgbcd82rgflp4sq5rx";
+       version = "50200.10.1";
+       sha256 = "0m4vqxxcqvbgm6flfwqy2w47ada3r29r34yw1gyv02na7gx3rqi1";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -166860,8 +166980,8 @@ self: {
      }:
      mkDerivation {
        pname = "mcmc";
-       version = "0.2.1";
-       sha256 = "1jh88xqi485ha3bqrp012xsv7cljwsaxxc45l5npcr947g22ln11";
+       version = "0.2.3";
+       sha256 = "14xf8l3ka7s34sa4rs4xsy7h5jxpl3fhsn959dvf17nsv252s6p8";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default directory
          double-conversion log-domain microlens mwc-random statistics time
@@ -167989,8 +168109,8 @@ self: {
        pname = "mercury-api";
        version = "0.1.0.2";
        sha256 = "0ybpc1kai85rflgdr80jd8cvwxaxmbphv82nz2p17502jrmdfkhg";
-       revision = "4";
-       editedCabalFile = "1bx3xrafmf82b9wlvhggv87fwqgpgqxjdgkk9r5b323m9ci2gign";
+       revision = "5";
+       editedCabalFile = "15xgb00cv8srnhfgh7v01b2qijcwapwsbx92jbdss525n3j74d48";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169462,6 +169582,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "mime-mail-ses_0_4_2" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , byteable, bytestring, case-insensitive, conduit, cryptohash
+     , http-client, http-client-tls, http-conduit, http-types, mime-mail
+     , optparse-applicative, tasty, tasty-hunit, text, time, xml-conduit
+     , xml-types
+     }:
+     mkDerivation {
+       pname = "mime-mail-ses";
+       version = "0.4.2";
+       sha256 = "1jiv1h9b8396nf8iqf9x11idfcrppank3gqcn6l5877893fzd9hk";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring byteable bytestring
+         case-insensitive conduit cryptohash http-client http-client-tls
+         http-conduit http-types mime-mail text time xml-conduit xml-types
+       ];
+       executableHaskellDepends = [
+         base http-client http-client-tls mime-mail optparse-applicative
+         text
+       ];
+       testHaskellDepends = [
+         base bytestring case-insensitive tasty tasty-hunit time
+       ];
+       description = "Send mime-mail messages via Amazon SES";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mime-string" = callPackage
     ({ mkDerivation, base, base64-string, bytestring, iconv, mtl
      , network, old-locale, old-time, random
@@ -170607,8 +170757,8 @@ self: {
        pname = "mmark-cli";
        version = "0.0.5.0";
        sha256 = "15qrp2q1flx9csqvj8zx9w1jqg8pwfi0v7wpia7n7vg09jgydhby";
-       revision = "3";
-       editedCabalFile = "03n7i551lagr4b6587c34ic6c4d9sn9kmnzkff2x1klqaxgb88ld";
+       revision = "4";
+       editedCabalFile = "1z2jfbbjimcryb44g990cnx5xvmfipy5dx6z33v2aqgpjgjn2rr5";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -170713,8 +170863,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn6ukr";
-       version = "0.7.3.0";
-       sha256 = "078g7npfal2qry5agqrr13252y7c1n75s0bykdn5s0p5wy5812mj";
+       version = "0.8.0.0";
+       sha256 = "0cs4mi9ia3l3v19hldbaygsywvjcfx66plbyh6311j2qzbrqaq93";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -170734,8 +170884,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn7h";
-       version = "0.7.7.0";
-       sha256 = "0ayx9mv25f8dvp30bbxm6cnbmxwpdhcpqsh0zgh6xp703vlwrfvc";
+       version = "0.8.0.0";
+       sha256 = "0mj96p3f96brv7cw3mkigngxnmqcn9r1yfghdx1jplrw5wycy80j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170756,8 +170906,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn7l";
-       version = "0.7.0.0";
-       sha256 = "0mpc782zgv63ax8mfq7ljrdida4vviqhzhiakl42i368f1zavhqm";
+       version = "0.8.0.0";
+       sha256 = "0w1k89phzxyq2nwzr0vn313rlp0f7d62vhdvq113pqszbdbjh6gd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170774,8 +170924,8 @@ self: {
     ({ mkDerivation, base, mmsyn2, mmsyn5, mmsyn6ukr, vector }:
      mkDerivation {
        pname = "mmsyn7s";
-       version = "0.7.0.0";
-       sha256 = "14vbqdhk8f6fa319c6yk57y474bivdmyhj9rmy20cqjjh7bsw229";
+       version = "0.8.0.0";
+       sha256 = "0brcmmlvdd294y35gby1qnb5b5h5mcn6xgwgvffxfmhif7nyxmc5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base mmsyn2 mmsyn5 mmsyn6ukr vector ];
@@ -170790,8 +170940,8 @@ self: {
      }:
      mkDerivation {
        pname = "mmsyn7ukr";
-       version = "0.16.0.0";
-       sha256 = "1dmiisbn9v98rf4qa7zw976w3qj6s67j11vvd82f186n9p2id7px";
+       version = "0.17.0.0";
+       sha256 = "069pyv8g9gdzzvnmdqmcrqnxf5zglrqbmcn2v6frfxj7ibd4awif";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -171100,13 +171250,13 @@ self: {
      }) {};
 
   "modular-arithmetic" = callPackage
-    ({ mkDerivation, base, doctest }:
+    ({ mkDerivation, base, doctest, typelits-witnesses }:
      mkDerivation {
        pname = "modular-arithmetic";
-       version = "1.2.1.5";
-       sha256 = "0nrnjyqpyy2c5479wjw5ihkwmiingpw60isdladfgi1cis36pq5f";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest ];
+       version = "2.0.0.0";
+       sha256 = "1mwhjn315vgpvf95ay6rf77hwpb7hjfw9bcginnz4cb30nn8kvl9";
+       libraryHaskellDepends = [ base typelits-witnesses ];
+       testHaskellDepends = [ base doctest typelits-witnesses ];
        description = "A type for integers modulo some constant";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -171881,27 +172031,6 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger";
-       version = "0.3.34";
-       sha256 = "0sxphrd7g1iwb0nlx0g4y3a661sdsgh098cbyisrm288k9iws91f";
-       libraryHaskellDepends = [
-         base bytestring conduit conduit-extra exceptions fast-logger
-         lifted-base monad-control monad-loops mtl resourcet stm stm-chans
-         template-haskell text transformers transformers-base
-         transformers-compat unliftio-core
-       ];
-       description = "A class of monads which can log messages";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "monad-logger_0_3_35" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, conduit-extra
-     , exceptions, fast-logger, lifted-base, monad-control, monad-loops
-     , mtl, resourcet, stm, stm-chans, template-haskell, text
-     , transformers, transformers-base, transformers-compat
-     , unliftio-core
-     }:
-     mkDerivation {
-       pname = "monad-logger";
        version = "0.3.35";
        sha256 = "1mrwwv3h3wy84kgphwn6ahjzxab0bzgzzbqla1c3jx02xl9x3q72";
        libraryHaskellDepends = [
@@ -171912,7 +172041,6 @@ self: {
        ];
        description = "A class of monads which can log messages";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-logger-json" = callPackage
@@ -173699,7 +173827,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "morpheus-graphql_0_13_0" = callPackage
+  "morpheus-graphql_0_14_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, megaparsec
      , morpheus-graphql-core, mtl, scientific, tasty, tasty-hunit
      , template-haskell, text, transformers, unliftio-core
@@ -173707,8 +173835,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql";
-       version = "0.13.0";
-       sha256 = "0gcrgpdiazridddm9imjhsx05cnqxxb24dhg18d9n6c1qm1d4q30";
+       version = "0.14.1";
+       sha256 = "1vyb3jqnsmsjyl3zc0rh3c77ma3s5pgcqph4ijafhlm44fk6s82z";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers megaparsec morpheus-graphql-core
@@ -173748,17 +173876,23 @@ self: {
      }) {};
 
   "morpheus-graphql-client" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, morpheus-graphql-core
-     , mtl, template-haskell, text, transformers, unordered-containers
+    ({ mkDerivation, aeson, base, bytestring, directory
+     , morpheus-graphql-core, mtl, tasty, tasty-hunit, template-haskell
+     , text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "morpheus-graphql-client";
-       version = "0.13.0";
-       sha256 = "0m1a379csfs3bqysl8ai2k7ybpb2gbm9w1rccgr41p9lk7w2w40k";
+       version = "0.14.1";
+       sha256 = "0q5cb5db1fdnp685jkmary43m6l4w8bhlqs5zh4h0q1lmkfz13n8";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring morpheus-graphql-core mtl template-haskell
          text transformers unordered-containers
        ];
+       testHaskellDepends = [
+         aeson base bytestring directory morpheus-graphql-core mtl tasty
+         tasty-hunit template-haskell text transformers unordered-containers
+       ];
        description = "Morpheus GraphQL Client";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -173789,7 +173923,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "morpheus-graphql-core_0_13_0" = callPackage
+  "morpheus-graphql-core_0_14_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, hashable
      , megaparsec, mtl, scientific, tasty, tasty-hunit, template-haskell
      , text, th-lift-instances, transformers, unordered-containers
@@ -173797,8 +173931,8 @@ self: {
      }:
      mkDerivation {
        pname = "morpheus-graphql-core";
-       version = "0.13.0";
-       sha256 = "0ix5n3c1db6qa6zdk74r890klc81wa1f4mdlqln6g039dbh423j7";
+       version = "0.14.1";
+       sha256 = "0xqam41z0i9f2bsa8z7gh3x2fhvy8qa02a1r4gix7dnymi69bbgj";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring hashable megaparsec mtl scientific
@@ -176507,8 +176641,8 @@ self: {
      }:
      mkDerivation {
        pname = "musicw";
-       version = "0.3.5";
-       sha256 = "1fkkx6gsfcb138vr7f685wg0wbqhr2sk9h4vqiv8r254hkwzl91h";
+       version = "0.3.5.2";
+       sha256 = "0mn5vnjxqkpd2pgjxmchlih74a1m52v06h6f08kyb26l0sjpbfx7";
        libraryHaskellDepends = [
          array base bytestring containers data-default file-embed ghcjs-base
          ghcjs-dom ghcjs-prim json monad-loops mtl safe text time
@@ -177384,8 +177518,8 @@ self: {
      }:
      mkDerivation {
        pname = "myxine-client";
-       version = "0.0.1.0";
-       sha256 = "1vd1dxg39vwz9w58zxpp3mk66gk00534h6c846v2d77nqn0yajf0";
+       version = "0.0.1.2";
+       sha256 = "0399pig7nw6k1hjw16mjg7lh6z1vd0xhq625wbx76ispwk6gqifb";
        libraryHaskellDepends = [
          aeson async base blaze-html blaze-markup bytestring constraints
          containers dependent-map file-embed hashable http-client http-types
@@ -179232,8 +179366,8 @@ self: {
        pname = "netrc";
        version = "0.2.0.0";
        sha256 = "11iax3ick0im397jyyjkny7lax9bgrlgk90a25dp2jsglkphfpls";
-       revision = "6";
-       editedCabalFile = "0mn0ar2xhjdsm50kmpw5ndvbyfmc30b3x0bx291d2ml7hqspnnsw";
+       revision = "7";
+       editedCabalFile = "0cmkwkqxzbhrzzwypvmamwcr5ndyk1qc5pjy1rnc50xx7wznw7hf";
        libraryHaskellDepends = [ base bytestring deepseq parsec ];
        testHaskellDepends = [
          base bytestring tasty tasty-golden tasty-quickcheck
@@ -179517,6 +179651,8 @@ self: {
        pname = "network";
        version = "3.1.2.0";
        sha256 = "07zbaaa4f0rnc4xqg5kbzqivmr9lqz2g6bw01gmqkmh9k9svsap0";
+       revision = "1";
+       editedCabalFile = "079svy0nr035xhz4gd6cila0wvsjl23hi3hq5407m3qdmcf4rkis";
        libraryHaskellDepends = [ base bytestring deepseq directory ];
        testHaskellDepends = [
          base bytestring directory hspec HUnit QuickCheck temporary
@@ -180194,8 +180330,8 @@ self: {
     ({ mkDerivation, base, bytestring, network }:
      mkDerivation {
        pname = "network-run";
-       version = "0.2.3";
-       sha256 = "026l8j1nfgvs3lknn3fvsjj4x4niykhn99h5kywc47347b91xl3n";
+       version = "0.2.4";
+       sha256 = "0w3dmwk03j4n01xkiq8m4sqa27bskh239mpw7m4ihjmkxqcwc5gl";
        libraryHaskellDepends = [ base bytestring network ];
        description = "Simple network runner library";
        license = stdenv.lib.licenses.bsd3;
@@ -182459,8 +182595,8 @@ self: {
        pname = "normalization-insensitive";
        version = "2.0.1";
        sha256 = "00nbha984yg4lxnpkyd3q0gbywf7xn5z5ixy3cr9ksn05w6blm1v";
-       revision = "3";
-       editedCabalFile = "1p1pw5llhw0jp1w8yvwd79w06lk7rz74rryppzvw8vpc5axl99bq";
+       revision = "4";
+       editedCabalFile = "1p0vxvp44nzjn7big9m3wj8gvffaxz05c46jalm73fwm8cj54iqf";
        libraryHaskellDepends = [
          base bytestring deepseq hashable text unicode-transforms
        ];
@@ -185036,10 +185172,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.6.7005.0";
-       sha256 = "0i5lwfvj7382ayxzdbip1nwjiiy7jn58g7qa33s44x3pnjv3wssy";
-       revision = "1";
-       editedCabalFile = "0bby89fvbx89b882b2qx07lg8npnfa325qg0gyabrd950510vzr2";
+       version = "0.6.7006.1";
+       sha256 = "0qg42qdk6gcziwfvjsjbwyj629grna2ay4pmh8myy3d1rznp6s93";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -186588,14 +186722,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "optics-th_0_3_0_1" = callPackage
+  "optics-th_0_3_0_2" = callPackage
     ({ mkDerivation, base, containers, mtl, optics-core, tagged
      , template-haskell, th-abstraction, transformers
      }:
      mkDerivation {
        pname = "optics-th";
-       version = "0.3.0.1";
-       sha256 = "1bn9yhl1v4xkagasgiq4v572v4vvbk40wwlx9wjdw0gqcisy4b3j";
+       version = "0.3.0.2";
+       sha256 = "1mxi4bwgpl02g7clbs4m5p16i64s5lp13811yhg66i50rnqwpw40";
        libraryHaskellDepends = [
          base containers mtl optics-core template-haskell th-abstraction
          transformers
@@ -186902,14 +187036,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "optparse-generic_1_4_2" = callPackage
+  "optparse-generic_1_4_3" = callPackage
     ({ mkDerivation, base, bytestring, Only, optparse-applicative
      , system-filepath, text, time, transformers, void
      }:
      mkDerivation {
        pname = "optparse-generic";
-       version = "1.4.2";
-       sha256 = "00b46pn3mi0kbx8a2xc92hlrykl9b344sq9ljmydv4zmrrhp5yr6";
+       version = "1.4.3";
+       sha256 = "18ih1r28hlml9wysqrzljmgi6q90s3k6jaaa7a5i48vr9bl3prs8";
        libraryHaskellDepends = [
          base bytestring Only optparse-applicative system-filepath text time
          transformers void
@@ -186952,6 +187086,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "optparse-simple_0_1_1_3" = callPackage
+    ({ mkDerivation, base, bytestring, directory, githash
+     , optparse-applicative, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "optparse-simple";
+       version = "0.1.1.3";
+       sha256 = "1wymqhac2sngkka8w880gq6y1kk3xs0flbv4mrhfgzrplhax8r9k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base githash optparse-applicative template-haskell transformers
+       ];
+       testHaskellDepends = [ base bytestring directory ];
+       description = "Simple interface to optparse-applicative";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "optparse-text" = callPackage
     ({ mkDerivation, base, hspec, optparse-applicative, text }:
      mkDerivation {
@@ -187460,8 +187613,8 @@ self: {
        pname = "ormolu";
        version = "0.1.2.0";
        sha256 = "14ndqfcbx0y71d3q5i7d0scbvg9nd5qr5pdn7qvylxlkgpbc77qp";
-       revision = "1";
-       editedCabalFile = "0c20myzc42zvfhy8lwqgjrhsna5dg8xfbha5y2v7hsapa0km3ri4";
+       revision = "2";
+       editedCabalFile = "07p7342972b2ffi46ll8jgbnlx97g7imzpl819hzc0yd2pjn4jn9";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -188919,7 +189072,7 @@ self: {
        broken = true;
      }) {};
 
-  "pandoc-plot_0_9_0_0" = callPackage
+  "pandoc-plot_0_9_1_0" = callPackage
     ({ mkDerivation, base, bytestring, containers, criterion
      , data-default, directory, filepath, githash, hashable, hspec
      , hspec-expectations, lifted-async, mtl, optparse-applicative
@@ -188928,8 +189081,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-plot";
-       version = "0.9.0.0";
-       sha256 = "0wamycf3cbblcifs7sppnzg4vbglzgizmjb5idg0dgkhlrk78gcx";
+       version = "0.9.1.0";
+       sha256 = "0vfcn0h5x9jsf3jjriqd6wfa9cpi7icz4k8pkqmhjz5sgs2yv7i4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -194875,10 +195028,8 @@ self: {
     ({ mkDerivation, base, containers, network, stm, text }:
      mkDerivation {
        pname = "pickle";
-       version = "1.0.0.0";
-       sha256 = "066vla7x4ls59rhx9adr4lqx9yi5d047vcy90wgqh3lmnm7nj77m";
-       revision = "1";
-       editedCabalFile = "10fbbygp1w79h8spmcdwz56vl0gw761rfvb731fhmsvm35390jd9";
+       version = "1.0.1.0";
+       sha256 = "13c1n06v6mh9lyplfg0y1gdijk2mhxg4ln59v7i2z4j1y65y8cz9";
        libraryHaskellDepends = [ base containers network stm text ];
        description = "Instant StatsD in Haskell";
        license = stdenv.lib.licenses.mit;
@@ -200154,8 +200305,8 @@ self: {
        pname = "postgrest";
        version = "7.0.1";
        sha256 = "1cn69dinfv3y8ymsa364b9b0ly3dg80and902gamymb9v89jpsgf";
-       revision = "1";
-       editedCabalFile = "0s8zzv6vjs4mp6m6l6ahfpfrx551zzp3nh13qk5qxk992x3jxb8b";
+       revision = "2";
+       editedCabalFile = "061lr5hy3xf1nx7yqjpspxqdccmhvvfkyzd3qxzsg5s041hy4krs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201820,6 +201971,17 @@ self: {
        broken = true;
      }) {};
 
+  "prettyprinter-lucid" = callPackage
+    ({ mkDerivation, base, lucid, prettyprinter, text }:
+     mkDerivation {
+       pname = "prettyprinter-lucid";
+       version = "0.1.0.1";
+       sha256 = "0m8dbxzs22zbahpr6r1frlfqyw581wyg92vswm3gi2qqpj406djh";
+       libraryHaskellDepends = [ base lucid prettyprinter text ];
+       description = "A prettyprinter backend for lucid";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "prettyprinter-vty" = callPackage
     ({ mkDerivation, base, prettyprinter, vty }:
      mkDerivation {
@@ -203671,8 +203833,8 @@ self: {
      }:
      mkDerivation {
        pname = "propellor";
-       version = "5.10.2";
-       sha256 = "1yagzlpn6myj46ihcy8v43kxjf8kba42q5vahy22aanpwbp9lij8";
+       version = "5.11";
+       sha256 = "0jda99g9a818w1yisms40rlzx81dyvv16w2ms8iazs5b9h4fwb3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -203976,8 +204138,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-jsonpb";
-       version = "0.2.0.0";
-       sha256 = "01m88qfi5lak15n14zlxb5yjyi67h5m47czkzirhi0a615v8bwbr";
+       version = "0.2.0.1";
+       sha256 = "0hsjn0iy0bbpb1sczk6vj2vah5f60w8cpm2gach5zlb9qpvkg4x4";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring bytestring
          proto-lens-runtime text vector
@@ -206247,22 +206409,6 @@ self: {
      }:
      mkDerivation {
        pname = "qrcode-juicypixels";
-       version = "0.8.1";
-       sha256 = "0yd22dygh2z8i0yhgdgr1m25ag9bdkpmd1ciq4iq42k0yhk6iqx9";
-       libraryHaskellDepends = [
-         base base64-bytestring bytestring JuicyPixels qrcode-core text
-         vector
-       ];
-       description = "Converts a qrcode-core image to JuicyPixels";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "qrcode-juicypixels_0_8_2" = callPackage
-    ({ mkDerivation, base, base64-bytestring, bytestring, JuicyPixels
-     , qrcode-core, text, vector
-     }:
-     mkDerivation {
-       pname = "qrcode-juicypixels";
        version = "0.8.2";
        sha256 = "0kiyi084hmd2l50fd8miwgw0y94sd1lkf34jw7z3sb33bbp70f3g";
        libraryHaskellDepends = [
@@ -206271,7 +206417,6 @@ self: {
        ];
        description = "Converts a qrcode-core image to JuicyPixels";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "qsem" = callPackage
@@ -210096,8 +210241,8 @@ self: {
      }:
      mkDerivation {
        pname = "reactive-banana-automation";
-       version = "0.5.3";
-       sha256 = "15jp5rawypxzbbyi9xi6jkds3mns7fpfkvzrzbqd7dvaj4mzzz0g";
+       version = "0.5.4";
+       sha256 = "1ir2m6d13hg8i4w4vfpnvjv6dvnjmrz2bwl7n6lsac95pm0hbjs3";
        libraryHaskellDepends = [
          base reactive-banana stm time transformers
        ];
@@ -210878,23 +211023,6 @@ self: {
      }:
      mkDerivation {
        pname = "record-dot-preprocessor";
-       version = "0.2.5";
-       sha256 = "10f054da8iz38mplgbq4j78r4jl4l07iridd89ivk9d366z1c0ly";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base extra ghc uniplate ];
-       executableHaskellDepends = [ base extra ];
-       testHaskellDepends = [ base extra filepath record-hasfield ];
-       description = "Preprocessor to allow record.field syntax";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "record-dot-preprocessor_0_2_6" = callPackage
-    ({ mkDerivation, base, extra, filepath, ghc, record-hasfield
-     , uniplate
-     }:
-     mkDerivation {
-       pname = "record-dot-preprocessor";
        version = "0.2.6";
        sha256 = "0xnlzs74nxcw6yms5zbd50wnzy3n0i91rf0ss9ywc9bw18d2lbmh";
        isLibrary = true;
@@ -210904,7 +211032,6 @@ self: {
        testHaskellDepends = [ base extra filepath record-hasfield ];
        description = "Preprocessor to allow record.field syntax";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "record-encode" = callPackage
@@ -213354,6 +213481,35 @@ self: {
        broken = true;
      }) {};
 
+  "registry_0_1_9_3" = callPackage
+    ({ mkDerivation, async, base, bytestring, containers, directory
+     , exceptions, generic-lens, hashable, hedgehog, io-memoize, mmorph
+     , MonadRandom, mtl, multimap, protolude, random, resourcet
+     , semigroupoids, semigroups, tasty, tasty-discover, tasty-hedgehog
+     , tasty-th, template-haskell, text, transformers-base, universum
+     }:
+     mkDerivation {
+       pname = "registry";
+       version = "0.1.9.3";
+       sha256 = "1x418lv2nnw5ryrinciq1dg7wgmz0zsvv8v3mfrp38rx5x88hbic";
+       libraryHaskellDepends = [
+         base containers exceptions hashable mmorph mtl protolude resourcet
+         semigroupoids semigroups template-haskell text transformers-base
+       ];
+       testHaskellDepends = [
+         async base bytestring containers directory exceptions generic-lens
+         hashable hedgehog io-memoize mmorph MonadRandom mtl multimap
+         protolude random resourcet semigroupoids semigroups tasty
+         tasty-discover tasty-hedgehog tasty-th template-haskell text
+         transformers-base universum
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "data structure for assembling components";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
   "registry-hedgehog" = callPackage
     ({ mkDerivation, base, containers, generic-lens, hedgehog, mmorph
      , multimap, protolude, registry, tasty, tasty-discover
@@ -215815,8 +215971,6 @@ self: {
        ];
        description = "A powerful, easy-to-use codemodding tool for Haskell";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "retry" = callPackage
@@ -218839,16 +218993,20 @@ self: {
      }) {};
 
   "runhs" = callPackage
-    ({ mkDerivation, base, bytestring, file-embed, process, yaml }:
+    ({ mkDerivation, base, bytestring, directory, file-embed, hspec
+     , process, terminal-size, text, word-wrap, yaml
+     }:
      mkDerivation {
        pname = "runhs";
-       version = "1.0.0.4";
-       sha256 = "01czfphzp252y62vrx1pys74xga3m7b6q9pbd0f20y3m74q337xi";
+       version = "1.0.0.8";
+       sha256 = "177xak0p91xn827cnpa374l94lmmym2yrrcsxzjd9752hdzyw7k3";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring file-embed process yaml
+         base bytestring file-embed process terminal-size text word-wrap
+         yaml
        ];
+       testHaskellDepends = [ base directory hspec process ];
        description = "Stack wrapper for single-file Haskell programs";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -228085,14 +228243,17 @@ self: {
      }) {};
 
   "shake-dhall" = callPackage
-    ({ mkDerivation, base, containers, dhall, filepath, shake, text }:
+    ({ mkDerivation, base, containers, dhall, directory, filepath
+     , shake, tasty, tasty-hunit, text
+     }:
      mkDerivation {
        pname = "shake-dhall";
-       version = "0.1.0.0";
-       sha256 = "1nhc6sfzsr7adv6xh8r2fyp64gzkiv563xqwmvhmk3pi3zxnlcll";
+       version = "0.1.1.2";
+       sha256 = "0jlbq9d6sjrbywd0afgsqqw1ffjlh5k4mr5v2bn45js29hipkivk";
        libraryHaskellDepends = [
-         base containers dhall filepath shake text
+         base containers dhall directory filepath shake text
        ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
        description = "Dhall dependencies";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -229716,6 +229877,23 @@ self: {
        broken = true;
      }) {};
 
+  "signature" = callPackage
+    ({ mkDerivation, aeson, base, byteable, bytestring
+     , case-insensitive, cryptohash, hexstring, scientific, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "signature";
+       version = "0.1.1.0";
+       sha256 = "0ciwxpmcdw5zn6005qpafx2q005bbyalr7zw22kj7grm95ffp5xq";
+       libraryHaskellDepends = [
+         aeson base byteable bytestring case-insensitive cryptohash
+         hexstring scientific text unordered-containers vector
+       ];
+       description = "Hmac sha256 signature json and http payload";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "signed-multiset" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -231687,35 +231865,45 @@ self: {
      }) {};
 
   "skylighting" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers
-     , skylighting-core
+    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
+     , directory, filepath, pretty-show, skylighting-core, text
      }:
      mkDerivation {
        pname = "skylighting";
        version = "0.8.5";
        sha256 = "1b8m0spspp060p5hkl2qxarh3cwji0shq5kdwz2w93kiyl8hk8sv";
+       configureFlags = [ "-fexecutable" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base binary bytestring containers skylighting-core
        ];
+       executableHaskellDepends = [
+         base blaze-html bytestring containers directory filepath
+         pretty-show text
+       ];
        description = "syntax highlighting library";
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
   "skylighting_0_9" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers
-     , skylighting-core
+    ({ mkDerivation, base, binary, blaze-html, bytestring, containers
+     , directory, filepath, pretty-show, skylighting-core, text
      }:
      mkDerivation {
        pname = "skylighting";
        version = "0.9";
        sha256 = "1855k1xjh38r389zvlzga7dkc3scj65ip9frvvkagxa2ls1irfp1";
+       configureFlags = [ "-fexecutable" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base binary bytestring containers skylighting-core
        ];
+       executableHaskellDepends = [
+         base blaze-html bytestring containers directory filepath
+         pretty-show text
+       ];
        description = "syntax highlighting library";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -232300,19 +232488,19 @@ self: {
   "slynx" = callPackage
     ({ mkDerivation, async, attoparsec, base, bytestring, containers
      , elynx-markov, elynx-seq, elynx-tools, elynx-tree, hmatrix
-     , monad-logger, mwc-random, optparse-applicative, text
+     , monad-logger, mwc-random, optparse-applicative, statistics, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "slynx";
-       version = "0.3.1";
-       sha256 = "0af18y25lix0sy3vyl56d9a8yrvn9riw3vw2azwcq9pzia460qki";
+       version = "0.3.4";
+       sha256 = "1qyi231wvi62cgjanqy7n4ypddf1xr59914cghvglgjwrpz9fljp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          async attoparsec base bytestring containers elynx-markov elynx-seq
          elynx-tools elynx-tree hmatrix monad-logger mwc-random
-         optparse-applicative text transformers vector
+         optparse-applicative statistics text transformers vector
        ];
        executableHaskellDepends = [ base ];
        description = "Handle molecular sequences";
@@ -233549,8 +233737,6 @@ self: {
        ];
        description = "Scaffolding CLI for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "snap-testing" = callPackage
@@ -237765,6 +237951,8 @@ self: {
        pname = "stache";
        version = "2.2.0";
        sha256 = "09cfj8hs2249gqf0nrlv9b8vg8gmxabs7ndxasphxdd0rb1y3z3g";
+       revision = "1";
+       editedCabalFile = "12cjs085pmf52ykh24mn538wc9dvjydam6vn1rjxz03wc6mx2vf5";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -238933,10 +239121,8 @@ self: {
      }:
      mkDerivation {
        pname = "stateWriter";
-       version = "0.2.10";
-       sha256 = "0g1r7zn1ahky9wmqbimjryca3hkylx15xpqwhc42gkyf7h7kq2b8";
-       revision = "1";
-       editedCabalFile = "19zp7wy2k6f5dqw0wfj9wzarjgfr20nvw5rmqiv79h66qssjl9i6";
+       version = "0.3.0";
+       sha256 = "0l8x758ywgz3c6fhyw1ajaqnq98l2ra39cj4yl2873z89q2cxdlp";
        libraryHaskellDepends = [ base mtl transformers ];
        testHaskellDepends = [ base free hspec mtl QuickCheck ];
        benchmarkHaskellDepends = [
@@ -244380,6 +244566,40 @@ self: {
        broken = true;
      }) {};
 
+  "symantic-atom" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, hashable
+     , megaparsec, symantic-xml, tasty, tasty-golden, text, time
+     , transformers, treeseq
+     }:
+     mkDerivation {
+       pname = "symantic-atom";
+       version = "0.0.0.20200523";
+       sha256 = "05lw93cx4zpwy7mq4ad6ly2wl51japczxcpss64svklwl78awcz2";
+       libraryHaskellDepends = [
+         base containers megaparsec symantic-xml text time transformers
+         treeseq
+       ];
+       testHaskellDepends = [
+         base bytestring containers deepseq hashable megaparsec symantic-xml
+         tasty tasty-golden text time transformers treeseq
+       ];
+       description = "Library for reading and writing Atom";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "symantic-base" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "symantic-base";
+       version = "0.0.2.20200708";
+       sha256 = "1yvlvsr38b1ydplpz1jldy816sngmic273iajcmhr73rlyzk5y3d";
+       libraryHaskellDepends = [ base ];
+       description = "Basic symantics for writing Embedded Domain-Specific Languages (EDSL)";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "symantic-cli" = callPackage
     ({ mkDerivation, base, bytestring, containers, megaparsec
      , symantic-document, text, transformers
@@ -244581,25 +244801,25 @@ self: {
      }) {};
 
   "symantic-xml" = callPackage
-    ({ mkDerivation, base, bytestring, containers, data-default-class
-     , deepseq, filepath, hashable, hxt-charproperties, megaparsec, safe
-     , tasty, tasty-golden, text, transformers, treeseq
-     , unordered-containers
+    ({ mkDerivation, base, bytestring, containers, deepseq, hashable
+     , hxt-charproperties, megaparsec, symantic-base, tasty
+     , tasty-golden, text, transformers, treeseq, unordered-containers
      }:
      mkDerivation {
        pname = "symantic-xml";
-       version = "1.0.0.20190223";
-       sha256 = "0mqx0ysp9c4zzljjgl0w68k5r8qgv2h35cfq0mqvijcjq5dgiflp";
+       version = "2.0.0.20200523";
+       sha256 = "1fz68n63i32rkyvmz99wyg20xhdniqqm1fds0xn320gi2z35092b";
+       revision = "1";
+       editedCabalFile = "1dvfglys9jza910wr7r7kda1jisbk9gj3d6rfccaip78hyra1z8l";
        libraryHaskellDepends = [
-         base bytestring containers data-default-class filepath hashable
-         hxt-charproperties megaparsec safe text transformers treeseq
-         unordered-containers
+         base bytestring containers hashable hxt-charproperties megaparsec
+         symantic-base text transformers treeseq unordered-containers
        ];
        testHaskellDepends = [
-         base bytestring containers data-default-class deepseq filepath
-         hashable megaparsec tasty tasty-golden text transformers treeseq
+         base bytestring containers deepseq hashable megaparsec
+         symantic-base tasty tasty-golden text transformers treeseq
        ];
-       description = "Library for reading, validating and writing a subset of the XML format";
+       description = "Library for reading, validating and writing XML";
        license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
        broken = true;
@@ -246989,8 +247209,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "A command-line kanban board/task manager";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
      }) {};
 
   "taskpool" = callPackage
@@ -247538,8 +247756,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-lua";
-       version = "0.2.2";
-       sha256 = "0m75dffrj6ziaalrch91kzj76ki0chbf33pi7mrx0c1gzmpvn8gv";
+       version = "0.2.3";
+       sha256 = "0kpmp51wyqbjv3nsrnybpms7flsl2bznqp8gf27zv2f5kraa77vk";
        libraryHaskellDepends = [
          base bytestring file-embed hslua tasty text
        ];
@@ -249366,8 +249584,8 @@ self: {
      }:
      mkDerivation {
        pname = "termonad";
-       version = "4.0.0.0";
-       sha256 = "1rdr7ha0mmi0xd1dmiyxirmh789v8sbkr1c3gg43a98lh3kqgcq9";
+       version = "4.0.0.1";
+       sha256 = "0axsmlly8qa5rpakkp1iryypgzswpqjphcl0mgvwa34dsh2hqmyn";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -254388,8 +254606,8 @@ self: {
      }:
      mkDerivation {
        pname = "tlynx";
-       version = "0.3.1";
-       sha256 = "172mbc79r14sccyghnbvcsa95lypas2gvqn1rf80f9yi2rsz9amy";
+       version = "0.3.4";
+       sha256 = "10nn1043z5gzm0zrw5z0fxalwrh48wvxlwq65nanjajwb612w1p4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -258253,34 +258471,28 @@ self: {
 
   "turtle" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
-     , containers, criterion, directory, doctest, exceptions, fail
-     , foldl, hostname, managed, optional-args, optparse-applicative
-     , process, semigroups, stm, streaming-commons, system-fileio
-     , system-filepath, temporary, text, time, transformers, unix
-     , unix-compat
+     , containers, criterion, directory, doctest, exceptions, foldl
+     , hostname, managed, optional-args, optparse-applicative, process
+     , stm, streaming-commons, system-fileio, system-filepath, temporary
+     , text, time, transformers, unix, unix-compat
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.19";
-       sha256 = "06hxmhz1i6f5r8k3bf5h54g4ahjsvxhv44sa4xiy52rz6qp0211g";
-       revision = "1";
-       editedCabalFile = "1z0wjrd25k7zc0bvsy1cxicfml0sdchs7sfr6fz5jlnlggpbn0fq";
+       version = "1.5.20";
+       sha256 = "1dk8ddp1p77l7gbg81ryqrkaxhrj3an24mx572b5wmhmjmbjfk9l";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
-         optparse-applicative process semigroups stm streaming-commons
-         system-fileio system-filepath temporary text time transformers unix
-         unix-compat
-       ];
-       testHaskellDepends = [
-         base doctest fail system-filepath temporary
+         optparse-applicative process stm streaming-commons system-fileio
+         system-filepath temporary text time transformers unix unix-compat
        ];
+       testHaskellDepends = [ base doctest system-filepath temporary ];
        benchmarkHaskellDepends = [ base criterion text ];
        description = "Shell programming, Haskell-style";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "turtle_1_5_20" = callPackage
+  "turtle_1_5_21" = callPackage
     ({ mkDerivation, ansi-wl-pprint, async, base, bytestring, clock
      , containers, criterion, directory, doctest, exceptions, foldl
      , hostname, managed, optional-args, optparse-applicative, process
@@ -258289,8 +258501,8 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.20";
-       sha256 = "1dk8ddp1p77l7gbg81ryqrkaxhrj3an24mx572b5wmhmjmbjfk9l";
+       version = "1.5.21";
+       sha256 = "0sb1xnmvqby1lcg3p92v0nkpxnm2qk0gcn41mxxgp3xdm24vkz36";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -261534,6 +261746,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unicode-transforms_0_3_7" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, filepath, gauge
+     , getopt-generics, ghc-prim, hspec, path, path-io, QuickCheck
+     , split, text
+     }:
+     mkDerivation {
+       pname = "unicode-transforms";
+       version = "0.3.7";
+       sha256 = "0pgxb4znvr39n0f7y5q0bdajc4l96zsih0a43n90qjlhj9084rp8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring ghc-prim text ];
+       testHaskellDepends = [
+         base deepseq getopt-generics hspec QuickCheck split text
+       ];
+       benchmarkHaskellDepends = [
+         base deepseq filepath gauge path path-io text
+       ];
+       description = "Unicode normalization";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "unicode-tricks" = callPackage
     ({ mkDerivation, base, data-default, hspec, hspec-discover
      , QuickCheck, text
@@ -261829,6 +262064,28 @@ self: {
        broken = true;
      }) {};
 
+  "uniqueness-periods" = callPackage
+    ({ mkDerivation, base, mmsyn6ukr, vector }:
+     mkDerivation {
+       pname = "uniqueness-periods";
+       version = "0.2.0.0";
+       sha256 = "1r5wnc9gdinxigqf9sb58k8rvbkbqmn71d2gxpg1xz3fgxs35cqq";
+       libraryHaskellDepends = [ base mmsyn6ukr vector ];
+       description = "Can be used to produce the 'uniquenessPeriods' function and related functionality";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "uniqueness-periods-general" = callPackage
+    ({ mkDerivation, base, vector }:
+     mkDerivation {
+       pname = "uniqueness-periods-general";
+       version = "0.2.0.0";
+       sha256 = "117svylwp76rgygc1fa871qz0ghv5hsfj7lr63zy1r3zcakak45q";
+       libraryHaskellDepends = [ base vector ];
+       description = "Can be used to produce the similar to 'String.Ukrainian.UniquenessPeriods' functions.";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "unit" = callPackage
     ({ mkDerivation, base, hspec }:
      mkDerivation {
@@ -265886,6 +266143,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "vector-sized_1_4_2" = callPackage
+    ({ mkDerivation, adjunctions, base, binary, comonad, deepseq
+     , distributive, finite-typelits, hashable, indexed-list-literals
+     , primitive, vector
+     }:
+     mkDerivation {
+       pname = "vector-sized";
+       version = "1.4.2";
+       sha256 = "02a7jzik6a6w1xb6bwpvl6hmii6jgi9wr0q7p48bfbq0mlqjv42h";
+       libraryHaskellDepends = [
+         adjunctions base binary comonad deepseq distributive
+         finite-typelits hashable indexed-list-literals primitive vector
+       ];
+       description = "Size tagged vectors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vector-space" = callPackage
     ({ mkDerivation, base, Boolean, MemoTrie, NumInstances }:
      mkDerivation {
@@ -267380,8 +267655,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers, vector, vulkan }:
      mkDerivation {
        pname = "vulkan";
-       version = "3.6.4";
-       sha256 = "15zy3q8nk2myp6p6nqpi5sabdi4r0d5jb20g8df1x7r3rqr2lfh2";
+       version = "3.6.5";
+       sha256 = "17r0rn2xs5l5x9vwa5vyc4q11gyw2v29qs7vqicla0qb4hh140fj";
        libraryHaskellDepends = [ base bytestring transformers vector ];
        librarySystemDepends = [ vulkan ];
        description = "Bindings to the Vulkan graphics API";
@@ -267584,41 +267859,6 @@ self: {
      }:
      mkDerivation {
        pname = "wai-app-static";
-       version = "3.1.7.1";
-       sha256 = "10k6jb450p89r6dgpnwh428gg0wfw2qbx9n126jkvbchcjr1f4v8";
-       revision = "1";
-       editedCabalFile = "0bkmml30rzifvb7nxddj3pxczk0kniahra19mjn0qrkzy1n5752p";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base blaze-html blaze-markup bytestring containers cryptonite
-         directory file-embed filepath http-date http-types memory
-         mime-types old-locale optparse-applicative template-haskell text
-         time transformers unix-compat unordered-containers wai wai-extra
-         warp zlib
-       ];
-       executableHaskellDepends = [
-         base bytestring containers directory mime-types text
-       ];
-       testHaskellDepends = [
-         base bytestring filepath hspec http-date http-types mime-types
-         mockery network old-locale temporary text time transformers
-         unix-compat wai wai-extra zlib
-       ];
-       description = "WAI application for static serving";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "wai-app-static_3_1_7_2" = callPackage
-    ({ mkDerivation, base, blaze-html, blaze-markup, bytestring
-     , containers, cryptonite, directory, file-embed, filepath, hspec
-     , http-date, http-types, memory, mime-types, mockery, network
-     , old-locale, optparse-applicative, template-haskell, temporary
-     , text, time, transformers, unix-compat, unordered-containers, wai
-     , wai-extra, warp, zlib
-     }:
-     mkDerivation {
-       pname = "wai-app-static";
        version = "3.1.7.2";
        sha256 = "138gd5482psq0wbm8s1az672lksi7vbavq6ayiyjkliivf6xpry8";
        isLibrary = true;
@@ -267640,7 +267880,6 @@ self: {
        ];
        description = "WAI application for static serving";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-cli" = callPackage
@@ -270691,6 +270930,29 @@ self: {
        broken = true;
      }) {};
 
+  "webgear-server" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, http-api-data, http-types
+     , mtl, QuickCheck, quickcheck-instances, tagged, tasty, tasty-hunit
+     , tasty-quickcheck, template-haskell, text, unordered-containers
+     , wai
+     }:
+     mkDerivation {
+       pname = "webgear-server";
+       version = "0.1.0";
+       sha256 = "03733kxh1r3yd0hicln64mgfr41zbz7bjvddc1j8h45ppxif8xfm";
+       libraryHaskellDepends = [
+         aeson base bytestring http-api-data http-types mtl tagged
+         template-haskell text unordered-containers wai
+       ];
+       testHaskellDepends = [
+         aeson base bytestring http-api-data http-types mtl QuickCheck
+         quickcheck-instances tagged tasty tasty-hunit tasty-quickcheck
+         template-haskell text unordered-containers wai
+       ];
+       description = "Composable, type-safe library to build HTTP API servers";
+       license = stdenv.lib.licenses.mpl20;
+     }) {};
+
   "webidl" = callPackage
     ({ mkDerivation, base, bytestring, HSFFIG, LEXER, parsec, pretty
      , utf8-env, utf8-string
@@ -272938,6 +273200,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wreq-helper" = callPackage
+    ({ mkDerivation, aeson, aeson-result, base, bytestring, http-client
+     , lens, text, wreq
+     }:
+     mkDerivation {
+       pname = "wreq-helper";
+       version = "0.1.0.0";
+       sha256 = "18kmh3swa3bbrkfj1dldi7iy6brdvyhfrbdn8gsz2kcarvhnv5f2";
+       libraryHaskellDepends = [
+         aeson aeson-result base bytestring http-client lens text wreq
+       ];
+       description = "Wreq response process";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wreq-patchable" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec
      , authenticate-oauth, base, base16-bytestring, base64-bytestring
@@ -276556,6 +276833,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "yaml_0_11_5_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+     , conduit, containers, directory, filepath, hspec, HUnit, libyaml
+     , mockery, mtl, raw-strings-qq, resourcet, scientific
+     , template-haskell, temporary, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "yaml";
+       version = "0.11.5.0";
+       sha256 = "1bfdsqckzql50j6ni4fa1470cvkmfiy4skb98cdwnj4rss5p93mj";
+       configureFlags = [ "-fsystem-libyaml" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring conduit containers directory
+         filepath libyaml mtl resourcet scientific template-haskell text
+         transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base-compat bytestring conduit containers
+         directory filepath hspec HUnit libyaml mockery mtl raw-strings-qq
+         resourcet scientific template-haskell temporary text transformers
+         unordered-containers vector
+       ];
+       description = "Support for parsing and rendering YAML documents";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yaml-combinators" = callPackage
     ({ mkDerivation, aeson, base, bytestring, doctest, generics-sop
      , scientific, tasty, tasty-hunit, text, transformers
@@ -277833,20 +278140,21 @@ self: {
      }) {};
 
   "yesod-auth-oauth2" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, errors, hoauth2, hspec
-     , http-client, http-conduit, http-types, microlens, random
-     , safe-exceptions, text, uri-bytestring, yesod-auth, yesod-core
+    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
+     , hoauth2, hspec, http-client, http-conduit, http-types, memory
+     , microlens, safe-exceptions, text, uri-bytestring, yesod-auth
+     , yesod-core
      }:
      mkDerivation {
        pname = "yesod-auth-oauth2";
-       version = "0.6.1.2";
-       sha256 = "07jm60q1fbdk53ncirbi8clsimg28k9j12kaq0vx2apn2rlmdy2w";
+       version = "0.6.1.3";
+       sha256 = "0vgxc5xsdhxws8jasngd66pmy4nmz5768fibfzn5m4dc0f5sw4mr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base bytestring errors hoauth2 http-client http-conduit
-         http-types microlens random safe-exceptions text uri-bytestring
-         yesod-auth yesod-core
+         aeson base bytestring cryptonite errors hoauth2 http-client
+         http-conduit http-types memory microlens safe-exceptions text
+         uri-bytestring yesod-auth yesod-core
        ];
        testHaskellDepends = [ base hspec uri-bytestring ];
        description = "OAuth 2.0 authentication plugins";
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index a34af634e14..dc105c845d7 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -105,8 +105,9 @@ symlinkJoin {
         --set "NIX_${ghcCommandCaps}_LIBDIR" "${libDir}"
     fi
 
-    # ghcide and haskell-language-server do package discovery without calling our ghc wrapper.
-    for prg in ghcide haskell-language-server; do
+    # ghcide 0.2.0 does package discovery without calling our ghc wrapper.
+    # 2020-08-16 We can most likely remove this workaround as soon as we build ghcide with a newer hie-bios (currently we use 0.5.1 from stack)
+    for prg in ghcide; do
       if [[ -x "$out/bin/$prg" ]]; then
         wrapProgram $out/bin/$prg  \
           --set "NIX_${ghcCommandCaps}"        "$out/bin/${ghcCommand}"     \
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 53d435ebb82..8921cf78aa8 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -8,7 +8,7 @@ let
     { callPackage, lib, stdenv, nixosTests, config, fetchurl, makeWrapper
     , symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
     , pkgconfig, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2
-    , systemd, valgrind, xcbuild
+    , systemd, system-sendmail, valgrind, xcbuild
 
     , version
     , sha256
@@ -195,6 +195,10 @@ let
             ++ lib.optional systemdSupport "--with-fpm-systemd"
             ++ lib.optional valgrindSupport "--with-valgrind=${valgrind.dev}"
             ++ lib.optional ztsSupport "--enable-maintainer-zts"
+
+
+            # Sendmail
+            ++ [ "PROG_SENDMAIL=${system-sendmail}/bin/sendmail" ]
           ;
 
           hardeningDisable = [ "bindnow" ];
diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix
index d4a717e384b..73983dba050 100644
--- a/pkgs/development/libraries/amdvlk/default.nix
+++ b/pkgs/development/libraries/amdvlk/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2020.Q3.3";
+  version = "2020.Q3.4";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "0s5a294gzcz438gmafirk3czrjcahv3imsg41k3vk83x4dbdlhxv";
+    sha256 = "13yy1v43wyw2dbanl39sk1798344smmycgvl3gla61ipqls0qfgd";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index a989833249c..2c9bced4192 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -1,9 +1,16 @@
-{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, fixDarwinDylibNames, autoconf, boost
-, brotli, cmake, flatbuffers, gflags, glog, gtest, lz4, perl
-, python3, rapidjson, snappy, thrift, which, zlib, zstd
+{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch, fixDarwinDylibNames
+, autoconf, boost, brotli, cmake, flatbuffers, gflags, glog, gtest, lz4
+, perl, python3, rapidjson, snappy, thrift, utf8proc, which, zlib, zstd
 , enableShared ? true }:
 
 let
+  arrow-testing = fetchFromGitHub {
+    owner = "apache";
+    repo = "arrow-testing";
+    rev = "f552c4dcd2ae3d14048abd20919748cce5276ade";
+    sha256 = "1smaidk5k2q6xdav7qp74ak34vvwv5qyfqw0szi573awsrsrahr8";
+  };
+
   parquet-testing = fetchFromGitHub {
     owner = "apache";
     repo = "parquet-testing";
@@ -13,14 +20,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "0.17.1";
+  version = "1.0.0";
 
   src = fetchurl {
     url =
       "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    sha256 = "18lyvbibfdw3w77cy5whbq7c6mshn5fg2bhvgw7v226a7cs1rifb";
+    sha256 = "0hzjrhr4brqpmy9f8fbj9p5a482ya8kjhkycz6maa0w2nkzbkpc6";
   };
-
   sourceRoot = "apache-arrow-${version}/cpp";
 
   ARROW_JEMALLOC_URL = fetchurl {
@@ -32,26 +38,31 @@ in stdenv.mkDerivation rec {
     sha256 = "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl";
   };
 
+  ARROW_MIMALLOC_URL = fetchurl {
+    # From
+    # ./cpp/cmake_modules/ThirdpartyToolchain.cmake
+    # ./cpp/thirdparty/versions.txt
+    url =
+      "https://github.com/microsoft/mimalloc/archive/v1.6.3.tar.gz";
+    sha256 = "0pia8b4acv1w8qzcpc9i1a2fasnn3rmp996k0l87p2di0lbls0w5";
+  };
+
   patches = [
     # patch to fix python-test
     ./darwin.patch
-
-    # fix musl build
+    # Properly exported static targets. Remove at the next version bump.
     (fetchpatch {
-      url = "https://github.com/apache/arrow/commit/de4168786dfd8ab932f48801e0a7a6b8a370c19d.diff";
-      sha256 = "1nl4y1rwdl0gn67v7l05ibc4lwkn6x7fhwbmslmm08cqmwfjsx3y";
+      url = "https://github.com/apache/arrow/commit/b040600b39a4f803b704934252665f9440dd1276.patch";
+      sha256 = "1mvw29ybcsz77zprmsk41blxmrj8ywayg7ghf6xkkf98907ws8m8";
+      includes = [ "*.cmake" ];
       stripLen = 1;
     })
-
-    # fix build for "ZSTD_SOURCE=SYSTEM"
     (fetchpatch {
-      url = "https://github.com/apache/arrow/commit/13cb3dbded1928d2e96574895bebaf9098a4796d.diff";
-      sha256 = "12z3ys47qp2x8f63lggiyj4xs2kmg804ri4xqysw5krbjz2hr6rb";
+      url = "https://github.com/apache/arrow/commit/81d3f2657b17436d6d5a6af9aaf6f36c3f5e4ac9.patch";
+      sha256 = "18fmzr5f79hvx2qpyfgvvl98p4zgzfxrmrd1d2basp0w0da1ciqs";
+      includes = [ "*CMakeLists.txt" "*.cmake" "*.cmake.in" ];
       stripLen = 1;
     })
-  ] ++ lib.optionals (!enableShared) [
-    # The shared jemalloc lib is unused and breaks in static mode due to missing -fpic.
-    ./jemalloc-disable-shared.patch
   ];
 
   nativeBuildInputs = [
@@ -70,6 +81,7 @@ in stdenv.mkDerivation rec {
     rapidjson
     snappy
     thrift
+    utf8proc
     zlib
     zstd
   ] ++ lib.optionals enableShared [
@@ -78,15 +90,17 @@ in stdenv.mkDerivation rec {
   ];
 
   preConfigure = ''
-    substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
-
     patchShebangs build-support/
   '';
 
   cmakeFlags = [
     "-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=ON"
+    "-DARROW_BUILD_SHARED=${if enableShared then "ON" else "OFF"}"
+    "-DARROW_BUILD_STATIC=${if enableShared then "OFF" else "ON"}"
     "-DARROW_BUILD_TESTS=ON"
+    "-DARROW_VERBOSE_THIRDPARTY_BUILD=ON"
     "-DARROW_DEPENDENCY_SOURCE=SYSTEM"
+    "-DARROW_DEPENDENCY_USE_SHARED=${if enableShared then "ON" else "OFF"}"
     "-DARROW_PLASMA=ON"
     # Disable Python for static mode because openblas is currently broken there.
     "-DARROW_PYTHON=${if enableShared then "ON" else "OFF"}"
@@ -94,25 +108,23 @@ in stdenv.mkDerivation rec {
     "-DARROW_WITH_BROTLI=ON"
     "-DARROW_WITH_LZ4=ON"
     "-DARROW_WITH_SNAPPY=ON"
+    "-DARROW_WITH_UTF8PROC=ON"
     "-DARROW_WITH_ZLIB=ON"
     "-DARROW_WITH_ZSTD=ON"
-    "-DARROW_ZSTD_USE_SHARED=${if enableShared then "ON" else "OFF"}"
+    "-DARROW_MIMALLOC=ON"
     # Parquet options:
     "-DARROW_PARQUET=ON"
     "-DPARQUET_BUILD_EXECUTABLES=ON"
   ] ++ lib.optionals (!enableShared) [
-    "-DARROW_BUILD_SHARED=OFF"
-    "-DARROW_BOOST_USE_SHARED=OFF"
-    "-DARROW_GFLAGS_USE_SHARED=OFF"
-    "-DARROW_PROTOBUF_USE_SHARED=OFF"
     "-DARROW_TEST_LINKAGE=static"
-    "-DOPENSSL_USE_STATIC_LIBS=ON"
   ] ++ lib.optionals stdenv.isDarwin [
     "-DCMAKE_SKIP_BUILD_RPATH=OFF" # needed for tests
     "-DCMAKE_INSTALL_RPATH=@loader_path/../lib" # needed for tools executables
   ] ++ lib.optional (!stdenv.isx86_64) "-DARROW_USE_SIMD=OFF";
 
   doInstallCheck = true;
+  ARROW_TEST_DATA =
+    if doInstallCheck then "${arrow-testing}/data" else null;
   PARQUET_TEST_DATA =
     if doInstallCheck then "${parquet-testing}/data" else null;
   installCheckInputs = [ perl which ];
diff --git a/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch b/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch
deleted file mode 100644
index 564f6727388..00000000000
--- a/pkgs/development/libraries/arrow-cpp/jemalloc-disable-shared.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake
---- a/cmake_modules/ThirdpartyToolchain.cmake
-+++ b/cmake_modules/ThirdpartyToolchain.cmake
-@@ -1317,6 +1317,7 @@ if(ARROW_JEMALLOC)
-               "--with-jemalloc-prefix=je_arrow_"
-               "--with-private-namespace=je_arrow_private_"
-               "--without-export"
-+              "--disable-shared"
-               # Don't override operator new()
-               "--disable-cxx" "--disable-libdl"
-               # See https://github.com/jemalloc/jemalloc/issues/1237
diff --git a/pkgs/development/libraries/draco/default.nix b/pkgs/development/libraries/draco/default.nix
new file mode 100644
index 00000000000..f8b806482ac
--- /dev/null
+++ b/pkgs/development/libraries/draco/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.3.6";
+  pname = "draco";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "draco";
+    rev = version;
+    sha256 = "06adhz8gsnns6q98yzjm64xs04qp2fhm9bv0wxny68rkw0bh95a0";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    # Fake these since we are building from a tarball
+    "-Ddraco_git_hash=${version}"
+    "-Ddraco_git_desc=${version}"
+
+    "-DBUILD_UNITY_PLUGIN=1"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Library for compressing and decompressing 3D geometric meshes and point clouds";
+    homepage = "https://google.github.io/draco/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jansol ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix
index e37856abe2b..05961bce89c 100644
--- a/pkgs/development/libraries/duckdb/default.nix
+++ b/pkgs/development/libraries/duckdb/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchFromGitHub {
     owner = "cwida";
     repo = "duckdb";
     rev = "v${version}";
-    sha256 = "1pz2q9c3803w8vbqiz9lag4g1kgl4ff9xca0kpcz72ap39pbp5jk";
+    sha256 = "15qn967q9v23l0sgb2jqb77z4qdkyn1zwdpj4b0rd9zk5h3fzj55";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/fcft/default.nix b/pkgs/development/libraries/fcft/default.nix
index 2cb056437cb..0c5d2b334ac 100644
--- a/pkgs/development/libraries/fcft/default.nix
+++ b/pkgs/development/libraries/fcft/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchgit, pkg-config, meson, ninja, scdoc
-,freetype, fontconfig, pixman, tllist }:
+,freetype, fontconfig, pixman, tllist, check }:
 
 stdenv.mkDerivation rec {
   pname = "fcft";
@@ -13,6 +13,11 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [ freetype fontconfig pixman tllist ];
+  checkInputs = [ check ];
+
+  mesonFlags = [ "--buildtype=release" ];
+
+  doCheck = true;
 
   meta = with lib; {
     homepage = "https://codeberg.org/dnkl/fcft";
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 8acfcb4b751..5c520e1c9dd 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.8.0";
+  version = "3.12.1";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "1vbaza9c7159xf2ym90l0xkyj2mp6c3hbghhsqn29yvz08fda9df";
+    sha256 = "0g3ipl6ynhclmwny54zgdh721v0fs9dzj6j7r8dz91s86jva3chb";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libunibreak/default.nix b/pkgs/development/libraries/libunibreak/default.nix
index 5b549176889..8c6650df3cb 100644
--- a/pkgs/development/libraries/libunibreak/default.nix
+++ b/pkgs/development/libraries/libunibreak/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   pname = "libunibreak";
-  version = "1.1";
+  version = "4.3";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/vimgadgets/libunibreak/${version}/${pname}-${version}.tar.gz";
-    sha256 = "02657l426bk5d8h42b9ixxy1clc50mx4bzwg02nkdhs09wqw32wn";
+  src = let
+      rev_version = stdenv.lib.replaceStrings ["-"] ["_"] version;
+  in fetchFromGitHub {
+    owner = "adah1972";
+    repo = pname;
+    rev = "libunibreak_${rev_version}";
+    sha256 = "19g3ixs1ycisfdnzd8v7j5r49h0x0hshchk9qwlz4i0mjv825plx";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = with stdenv.lib; {
-    homepage = "http://vimgadgets.sourceforge.net/libunibreak/";
-    description = "A library implementing a line breaking algorithm as described in Unicode 6.0.0 Standard";
+    homepage = "https://github.com/adah1972/libunibreak";
+    description = "Implementation of line breaking and word breaking algorithms as in the Unicode standard";
     license = licenses.zlib;
     platforms = platforms.unix;
     maintainers = [ maintainers.coroa ];
diff --git a/pkgs/development/libraries/rocclr/default.nix b/pkgs/development/libraries/rocclr/default.nix
index 6b561b3c9dd..4e0836946c1 100644
--- a/pkgs/development/libraries/rocclr/default.nix
+++ b/pkgs/development/libraries/rocclr/default.nix
@@ -10,24 +10,25 @@
 , libelf
 , libglvnd
 , libX11
+, numactl
 }:
 
 stdenv.mkDerivation rec {
   pname = "rocclr";
-  version = "3.5.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "ROCm-Developer-Tools";
     repo = "ROCclr";
-    rev = "roc-${version}";
-    sha256 = "0j70lxpwrdrb1v4lbcyzk7kilw62ip4py9fj149d8k3x5x6wkji1";
+    rev = "rocm-${version}";
+    sha256 = "0sx4irbmjgs5bm8dc8jc9fl1jmfdnrp3ar14hdhrsmbani7gqah3";
   };
 
   nativeBuildInputs = [ cmake rocm-cmake ];
 
   buildInputs = [ clang rocm-comgr rocm-runtime rocm-thunk ];
 
-  propagatedBuildInputs = [ libelf libglvnd libX11 ];
+  propagatedBuildInputs = [ libelf libglvnd libX11 numactl ];
 
   prePatch = ''
     substituteInPlace CMakeLists.txt \
@@ -45,10 +46,9 @@ stdenv.mkDerivation rec {
   ];
 
   preFixup = ''
-    mv $out/include/include/* $out/include
-    ln -s $out/include/compiler/lib/include/* $out/include/include
     ln -s $out/include/compiler/lib/include/* $out/include
-    sed "s|^\([[:space:]]*IMPORTED_LOCATION_RELEASE \).*|\1 \"$out/lib/libamdrocclr_static.a\"|" -i $out/lib/cmake/amdrocclr_staticTargets.cmake
+    substituteInPlace $out/lib/cmake/rocclr/ROCclrConfig.cmake \
+      --replace "/build/source/build" "$out"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/rocm-comgr/default.nix b/pkgs/development/libraries/rocm-comgr/default.nix
index c86b081a14c..22fbc0e998a 100644
--- a/pkgs/development/libraries/rocm-comgr/default.nix
+++ b/pkgs/development/libraries/rocm-comgr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-comgr";
-  version = "3.5.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-CompilerSupport";
     rev = "rocm-${version}";
-    sha256 = "0h9bxz98sskgzc3xpnp469iq1wi59nbijbqprlylha91y10hqb88";
+    sha256 = "1r7arfdqfh6pfvjza6x2dzd5gjmkndngrp688d3n2ab92n5ijiqf";
   };
 
   sourceRoot = "source/lib/comgr";
diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/libraries/rocm-device-libs/default.nix
index dcdbb1cb6d1..c1878700aaa 100644
--- a/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -5,23 +5,22 @@
 , clang-unwrapped
 , lld
 , llvm
-, rocm-runtime
 }:
 
 stdenv.mkDerivation rec {
   pname = "rocm-device-libs";
-  version = "3.5.1";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-Device-Libs";
     rev = "rocm-${version}";
-    sha256 = "180bx05l293hrhzk2ymx41j5lhskysywvx33igbbsngzailwsc22";
+    sha256 = "1sg7wzj2mi5vhba53cp52gnya7c799f0p325ig262vi70r7mr7n2";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ clang lld llvm rocm-runtime ];
+  buildInputs = [ clang lld llvm ];
 
   cmakeBuildType = "Release";
 
diff --git a/pkgs/development/libraries/rocm-opencl-icd/default.nix b/pkgs/development/libraries/rocm-opencl-icd/default.nix
index 6830d956193..5f2188f6e7e 100644
--- a/pkgs/development/libraries/rocm-opencl-icd/default.nix
+++ b/pkgs/development/libraries/rocm-opencl-icd/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-opencl-icd";
-  version = "3.5.0";
+  version = rocm-opencl-runtime.version;
 
   dontUnpack = true;
 
diff --git a/pkgs/development/libraries/rocm-opencl-runtime/default.nix b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
index 0c7ce260217..90bc206a7bc 100644
--- a/pkgs/development/libraries/rocm-opencl-runtime/default.nix
+++ b/pkgs/development/libraries/rocm-opencl-runtime/default.nix
@@ -5,7 +5,8 @@
 , rocm-cmake
 , clang
 , clang-unwrapped
-, libGLU
+, glew
+, libglvnd
 , libX11
 , lld
 , llvm
@@ -18,20 +19,15 @@
 , rocm-thunk
 }:
 
-let
-  version = "3.5.0";
-  tag = "roc-${version}";
-in stdenv.mkDerivation rec {
-  inherit version;
-
+stdenv.mkDerivation rec {
   pname = "rocm-opencl-runtime";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCm-OpenCL-Runtime";
-    rev = tag;
-    sha256 = "1wrr6mmn4gf6i0vxp4yqk0ny2wglvj1jfj50il8czjwy0cwmhykk";
-    name = "ROCm-OpenCL-Runtime-${tag}-src";
+    rev = "rocm-${version}";
+    sha256 = "15rz11a8qwvxmd0kkaikj04q1glfg9sgqqblcqp3iahr3by8z0wd";
   };
 
   nativeBuildInputs = [ cmake rocm-cmake ];
@@ -39,7 +35,8 @@ in stdenv.mkDerivation rec {
   buildInputs = [
     clang
     clang-unwrapped
-    libGLU
+    glew
+    libglvnd
     libX11
     lld
     llvm
@@ -63,6 +60,12 @@ in stdenv.mkDerivation rec {
 
   dontStrip = true;
 
+  # Remove clinfo, which is already provided through the
+  # `clinfo` package.
+  postInstall = ''
+    rm -rf $out/bin
+  '';
+
   # Fix the ICD installation path for NixOS
   postPatch = ''
     substituteInPlace khronos/icd/loader/linux/icd_linux.c \
@@ -70,10 +73,6 @@ in stdenv.mkDerivation rec {
     echo 'add_dependencies(amdocl64 OpenCL)' >> amdocl/CMakeLists.txt
   '';
 
-  preFixup = ''
-    patchelf --set-rpath "$out/lib" $out/bin/clinfo
-  '';
-
   meta = with stdenv.lib; {
     description = "OpenCL runtime for AMD GPUs, part of the ROCm stack";
     homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime";
diff --git a/pkgs/development/libraries/rocm-runtime-ext/default.nix b/pkgs/development/libraries/rocm-runtime-ext/default.nix
deleted file mode 100644
index 3962804306a..00000000000
--- a/pkgs/development/libraries/rocm-runtime-ext/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{ stdenv, fetchurl, autoPatchelfHook, rpmextract, rocm-runtime }:
-
-stdenv.mkDerivation rec {
-  pname = "rocm-runtime-ext";
-  version = "3.5.1";
-
-  src = fetchurl {
-    url = "https://repo.radeon.com/rocm/yum/3.5.1/hsa-ext-rocr-dev-1.1.30501.0-rocm-rel-3.5-34-def83d8a-Linux.rpm";
-    sha256 = "0r7lrmnplr10hs6wrji55i3dnczfzlmp8jahm1g3mhq2x12zmly0";
-  };
-
-  nativeBuildInputs = [ autoPatchelfHook rpmextract ];
-
-  buildInputs = [ rocm-runtime stdenv.cc.cc ];
-
-  unpackPhase = "rpmextract ${src}";
-
-  installPhase = ''
-    mkdir -p $out/lib
-    cp -R opt/rocm-${version}/hsa/lib $out/lib/rocm-runtime-ext
-  '';
-
-  setupHook = ./setup-hook.sh;
-
-  meta = with stdenv.lib; {
-    description = "Platform runtime for ROCm (closed-source extensions)";
-    longDescription = ''
-      This package provides closed-source extensions to the ROCm
-      runtime. Currently this adds support for OpenCL image
-      processing.
-
-      In order for the ROCm runtime to pick up the extension, you
-      should either set the ROCR_EXT_DIR environment variable should
-      be set to ''${rocm-runtime-ext}/lib/rocm-runtime-ext or this
-      package should be added to the hardware.opengl.extraPackages
-      NixOS configuration option.
-    '';
-    homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime";
-    license = with licenses; [ unfreeRedistributable ];
-    maintainers = with maintainers; [ danieldk ];
-  };
-}
diff --git a/pkgs/development/libraries/rocm-runtime-ext/setup-hook.sh b/pkgs/development/libraries/rocm-runtime-ext/setup-hook.sh
deleted file mode 100644
index 150d65570e6..00000000000
--- a/pkgs/development/libraries/rocm-runtime-ext/setup-hook.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-addRocmRuntimeExtDir () {
-    if [[ -z "${ROCR_EXT_DIR-}" ]]; then
-       export ROCR_EXT_DIR="@out@/lib/rocm-runtime-ext"
-    fi
-}
-
-addEnvHooks "$hostOffset" addRocmRuntimeExtDir
diff --git a/pkgs/development/libraries/rocm-runtime/default.nix b/pkgs/development/libraries/rocm-runtime/default.nix
index 7470784d489..6f573adabe1 100644
--- a/pkgs/development/libraries/rocm-runtime/default.nix
+++ b/pkgs/development/libraries/rocm-runtime/default.nix
@@ -1,41 +1,42 @@
 { stdenv
 , fetchFromGitHub
 , addOpenGLRunpath
+, clang-unwrapped
 , cmake
+, xxd
 , elfutils
+, llvm
+, rocm-device-libs
 , rocm-thunk }:
 
 stdenv.mkDerivation rec {
   pname = "rocm-runtime";
-  version = "3.5.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCR-Runtime";
     rev = "rocm-${version}";
-    sha256 = "028x1f0if6lw41cpfpysp82ikp6c3fdxxd2a6ixs0vpm4424svb1";
+    sha256 = "1lm4cbx1d727zll85vjc1kykc72mk82nfhyyhjljv82gd4mnz00c";
   };
 
   sourceRoot = "source/src";
 
-  buildInputs = [ cmake elfutils ];
+  nativeBuildInputs = [ cmake xxd ];
 
-  cmakeFlags = [ "-DCMAKE_PREFIX_PATH=${rocm-thunk}" ];
+  buildInputs = [ clang-unwrapped elfutils llvm ];
 
-  # Use the ROCR_EXT_DIR environment variable and/or OpenGL driver
-  # link path to try to find binary-only ROCm runtime extension
-  # libraries.  Without this change, we would have to rely on
-  # LD_LIBRARY_PATH to let the HSA runtime discover the shared
-  # libraries.
-  patchPhase = ''
-    substitute '${./rocr-ext-dir.diff}' ./rocr-ext-dir.diff \
-      --subst-var-by rocrExtDir "${addOpenGLRunpath.driverLink}/lib/rocm-runtime-ext"
-    patch -p2 < ./rocr-ext-dir.diff
+  cmakeFlags = [
+   "-DBITCODE_DIR=${rocm-device-libs}/lib"
+   "-DCMAKE_PREFIX_PATH=${rocm-thunk}"
+  ];
+
+  postPatch = ''
+    patchShebangs image/blit_src/create_hsaco_ascii_file.sh
   '';
 
   fixupPhase = ''
-    rm -r $out/lib $out/include
-    mv $out/hsa/lib $out/hsa/include $out
+    rm -rf $out/hsa
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/rocm-runtime/rocr-ext-dir.diff b/pkgs/development/libraries/rocm-runtime/rocr-ext-dir.diff
deleted file mode 100644
index 21ffe7d8c34..00000000000
--- a/pkgs/development/libraries/rocm-runtime/rocr-ext-dir.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/core/runtime/runtime.cpp b/src/core/runtime/runtime.cpp
-index dd6a15c..fb6de49 100644
---- a/src/core/runtime/runtime.cpp
-+++ b/src/core/runtime/runtime.cpp
-@@ -1358,7 +1358,17 @@ void Runtime::LoadExtensions() {
-                           core::HsaApiTable::HSA_EXT_FINALIZER_API_TABLE_ID);
- 
-   // Update Hsa Api Table with handle of Image extension Apis
--  extensions_.LoadImage(kImageLib[os_index(os::current_os)]);
-+  //
-+  // Use ROCR_EXT_DIR when it is non-empty. Otherwise, try to load the
-+  // library from the OpenGL driver path.
-+  std::string extDirVar = os::GetEnvVar("ROCR_EXT_DIR");
-+  if (!extDirVar.empty()) {
-+    extensions_.LoadImage(extDirVar + "/" + kImageLib[os_index(os::current_os)]);
-+  } else {
-+    std::string globalDriverDir("@rocrExtDir@");
-+    extensions_.LoadImage(globalDriverDir + "/" + kImageLib[os_index(os::current_os)]);
-+  }
-+
-   hsa_api_table_.LinkExts(&extensions_.image_api,
-                           core::HsaApiTable::HSA_EXT_IMAGE_API_TABLE_ID);
- }
diff --git a/pkgs/development/libraries/rocm-thunk/default.nix b/pkgs/development/libraries/rocm-thunk/default.nix
index 42b632d293c..c43f9b04b93 100644
--- a/pkgs/development/libraries/rocm-thunk/default.nix
+++ b/pkgs/development/libraries/rocm-thunk/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-thunk";
-  version = "3.5.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROCT-Thunk-Interface";
     rev = "rocm-${version}";
-    sha256 = "0xn1z0xc3phjc9vabwxgph5any4ffhc8wgs5yb15m5wpg87l8x1z";
+    sha256 = "05963lxip3175g4b7k45r94yayp9gcwl3fpma9g5mdkbrlbvwlvz";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/utf8proc/default.nix b/pkgs/development/libraries/utf8proc/default.nix
index 13a9855b62e..00c09179f1f 100644
--- a/pkgs/development/libraries/utf8proc/default.nix
+++ b/pkgs/development/libraries/utf8proc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   pname = "utf8proc";
@@ -11,7 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "1xlkazhdnja4lksn5c9nf4bln5gjqa35a8gwlam5r0728w0h83qq";
   };
 
-  makeFlags = [ "prefix=$(out)" ];
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+  ];
 
   meta = with stdenv.lib; {
     description = "A clean C library for processing UTF-8 Unicode data";
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 72e78be9778..d60e56763a1 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -43,6 +43,7 @@
 , sqlite
 , enableGtk2Plugins ? false
 , gtk2 ? null
+, enableGLES ? true
 , gst-plugins-base
 , gst-plugins-bad
 , woff2
@@ -167,7 +168,7 @@ stdenv.mkDerivation rec {
     "-DUSE_ACCELERATE=0"
     "-DUSE_SYSTEM_MALLOC=ON"
   ] ++ optional (!enableGtk2Plugins) "-DENABLE_PLUGIN_PROCESS_GTK2=OFF"
-    ++ optional stdenv.isLinux "-DENABLE_GLES2=ON";
+    ++ optional (stdenv.isLinux && enableGLES) "-DENABLE_GLES2=ON";
 
   postPatch = ''
     patchShebangs .
diff --git a/pkgs/development/libraries/zimg/default.nix b/pkgs/development/libraries/zimg/default.nix
index f5913137e1c..0deec273881 100644
--- a/pkgs/development/libraries/zimg/default.nix
+++ b/pkgs/development/libraries/zimg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zimg";
-  version = "2.9.3";
+  version = "3.0";
 
   src = fetchFromGitHub {
     owner  = "sekrit-twc";
     repo   = "zimg";
     rev    = "release-${version}";
-    sha256 = "1dqyrq3p8bkgvj4ci50ac342hjnhyz6xxvhiwp7wpi3v3nbj7s02";
+    sha256 = "157lqfgz4lqa782iij7lkajgjbxv3vqf6y5hpdz36i6dg06paqqa";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 8b6a53ebe27..babc8fbb1c8 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -118,7 +118,6 @@
 , "mastodon-bot"
 , "mathjax"
 , "meat"
-, "meguca"
 , "mirakurun"
 , "mocha"
 , "multi-file-swagger"
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/default.nix b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
index d2a94112eb3..df684f166e1 100644
--- a/pkgs/development/ocaml-modules/ocamlgraph/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlgraph/default.nix
@@ -1,4 +1,7 @@
-{stdenv, fetchurl, ocaml, findlib, lablgtk ? null}:
+{ stdenv, fetchurl, ocaml, findlib
+, gtkSupport ? true
+, lablgtk
+}:
 
 stdenv.mkDerivation rec {
   pname = "ocamlgraph";
@@ -9,22 +12,19 @@ stdenv.mkDerivation rec {
     sha256 = "0m9g16wrrr86gw4fz2fazrh8nkqms0n863w7ndcvrmyafgxvxsnr";
   };
 
-  buildInputs = [ ocaml findlib lablgtk ];
-
-  patches = ./destdir.patch;
-
-  postPatch = ''
-    sed -i 's@$(DESTDIR)$(OCAMLLIB)/ocamlgraph@$(DESTDIR)/lib/ocaml/${ocaml.version}/site-lib/ocamlgraph@' Makefile.in
-    sed -i 's@OCAMLFINDDEST := -destdir $(DESTDIR)@@' Makefile.in
-    ${stdenv.lib.optionalString (lablgtk != null)
-      "sed -i 's@+lablgtk2@${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/lablgtk2 -I ${lablgtk}/lib/ocaml/${ocaml.version}/site-lib/stublibs@' configure Makefile.in editor/Makefile"}
-  '';
+  buildInputs = [ ocaml findlib ]
+  ++ stdenv.lib.optional gtkSupport lablgtk
+  ;
 
   createFindlibDestdir = true;
 
-  buildPhase = ''
-    make all
-    make install-findlib
+  buildFlags =  [ "all" ];
+  installTargets = [ "install-findlib" ];
+
+  postInstall = stdenv.lib.optionalString gtkSupport ''
+    mkdir -p $out/bin
+    cp dgraph/dgraph.opt $out/bin/graph-viewer
+    cp editor/editor.opt $out/bin/graph-editor
   '';
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/ocamlgraph/destdir.patch b/pkgs/development/ocaml-modules/ocamlgraph/destdir.patch
deleted file mode 100644
index 38fca1c491f..00000000000
--- a/pkgs/development/ocaml-modules/ocamlgraph/destdir.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur -x '*~' ocamlgraph-1.8.1/Makefile.in ocamlgraph-1.8.1-new//Makefile.in
---- ocamlgraph-1.8.1/Makefile.in	2011-10-17 09:57:03.000000000 -0430
-+++ ocamlgraph-1.8.1-new//Makefile.in	2011-11-24 13:01:22.626004819 -0430
-@@ -16,8 +16,8 @@
- ##########################################################################
- 
- # Where to install the binaries
--DESTDIR	=
- prefix	=@prefix@
-+DESTDIR=$(prefix)
- exec_prefix=@exec_prefix@
- datarootdir=@datarootdir@
- BINDIR	=$(DESTDIR)@bindir@
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 7d9a0573db7..5b6e0dde8b7 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -8,11 +8,11 @@ else
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-ocamlnet-${version}";
-  version = "4.1.7";
+  version = "4.1.8";
 
   src = fetchurl {
     url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz";
-    sha256 = "0r9gl0lsgxk2achixxqzm8bm5l9jwc4vwihf0rvxxa9v9q9vfdhi";
+    sha256 = "1x703mjqsv9nvffnkj5i36ij2s5zfvxxll2z1qj6a7p428b2yfnm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/awkward1/default.nix b/pkgs/development/python-modules/awkward1/default.nix
index 635ffac2638..1e4958f37e6 100644
--- a/pkgs/development/python-modules/awkward1/default.nix
+++ b/pkgs/development/python-modules/awkward1/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "awkward1";
-  version = "0.2.27";
+  version = "0.2.33";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c868437aabb2e95efbc522c43d47cac42e1c61904c7ddbebf2f41c6b63bb9c6f";
+    sha256 = "bf3de210d0a88fb14a97c296f54ed2d5b686a785bb5fd7a31277f22b8daa9513";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/python-modules/behave/default.nix b/pkgs/development/python-modules/behave/default.nix
index fbe108e2a02..ea7af2dfeaa 100644
--- a/pkgs/development/python-modules/behave/default.nix
+++ b/pkgs/development/python-modules/behave/default.nix
@@ -1,30 +1,24 @@
-{ stdenv, fetchPypi, fetchpatch
-, buildPythonApplication, python, pythonOlder
-, mock, nose, pathpy, pyhamcrest, pytest_4
-, glibcLocales, parse, parse-type, six
-, traceback2
+{ stdenv, fetchFromGitHub
+, buildPythonApplication, python
+, mock, pathpy, pyhamcrest, pytest, pytest-html
+, glibcLocales
+, colorama, cucumber-tag-expressions, parse, parse-type, six
 }:
 
 buildPythonApplication rec {
   pname = "behave";
-  version = "1.2.6";
+  version = "1.2.7.dev1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "11hsz365qglvpp1m1w16239c3kiw15lw7adha49lqaakm8kj6rmr";
+  src = fetchFromGitHub {
+    owner = "behave";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ssgixmqlg8sxsyalr83a1970njc2wg3zl8idsmxnsljwacv7qwv";
   };
 
-  patches = [
-    # Fix tests on Python 2.7
-    (fetchpatch {
-      url = "https://github.com/behave/behave/commit/0a9430a94881cd18437deb03d2ae23afea0f009c.patch";
-      sha256 = "1nrh9ii6ik6gw2kjh8a6jk4mg5yqw3jfjfllbyxardclsab62ydy";
-    })
-  ];
-
-  checkInputs = [ mock nose pathpy pyhamcrest pytest_4 ];
+  checkInputs = [ mock pathpy pyhamcrest pytest pytest-html ];
   buildInputs = [ glibcLocales ];
-  propagatedBuildInputs = [ parse parse-type six ] ++ stdenv.lib.optional (pythonOlder "3.0") traceback2;
+  propagatedBuildInputs = [ colorama cucumber-tag-expressions parse parse-type six ];
 
   postPatch = ''
     patchShebangs bin
@@ -36,7 +30,7 @@ buildPythonApplication rec {
     export LANG="en_US.UTF-8"
     export LC_ALL="en_US.UTF-8"
 
-    pytest test tests
+    pytest tests
 
     ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' features/
     ${python.interpreter} bin/behave -f progress3 --stop --tags='~@xfail' tools/test-features/
@@ -47,6 +41,6 @@ buildPythonApplication rec {
     homepage = "https://github.com/behave/behave";
     description = "behaviour-driven development, Python style";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ alunduil ];
+    maintainers = with maintainers; [ alunduil maxxk ];
   };
 }
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index c5a12c997d9..9a49be777b0 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -73,6 +73,13 @@ let
       # This patch disables the test that tries to read /etc/os-release which
       # is not accessible in sandboxed builds.
       ./skip_test_linux_distro.patch
+
+      # fix compatibility with the latest SQLAlchemy
+      (fetchpatch {
+        url = "https://github.com/buildbot/buildbot/commit/96f3cd1c5f5c82b733baecb133576366ecf544fc.patch";
+        sha256 = "0n1jm13h08j7ksbs8ixayn3wziq5hzyp3kscz9fpgxd8gl885y5n";
+        stripLen = 1;
+      })
     ];
 
     postPatch = ''
diff --git a/pkgs/development/python-modules/cucumber-tag-expressions/default.nix b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
new file mode 100644
index 00000000000..789a58bb6a7
--- /dev/null
+++ b/pkgs/development/python-modules/cucumber-tag-expressions/default.nix
@@ -0,0 +1,21 @@
+{ lib, fetchPypi, buildPythonPackage, pytest, pytest-html }:
+
+buildPythonPackage rec {
+  pname = "cucumber-tag-expressions";
+  version = "3.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0kb8dq458sflwl2agb2v9hp04qwygslrhdps819vq27wc44jabxw";
+  };
+
+  checkInputs = [ pytest pytest-html ];
+  checkPhase = "pytest tests/*/*.py";
+
+  meta = with lib; {
+    homepage = "https://github.com/cucumber/tag-expressions-python";
+    description = "Provides tag-expression parser for cucumber/behave";
+    license = licenses.mit;
+    maintainers = with maintainers; [ maxxk ];
+  };
+}
diff --git a/pkgs/development/python-modules/django-widget-tweaks/default.nix b/pkgs/development/python-modules/django-widget-tweaks/default.nix
new file mode 100644
index 00000000000..99e3abda890
--- /dev/null
+++ b/pkgs/development/python-modules/django-widget-tweaks/default.nix
@@ -0,0 +1,25 @@
+{ buildPythonPackage, fetchFromGitHub, python, stdenv, django }:
+
+buildPythonPackage rec {
+  pname = "django-widget-tweaks";
+  version = "1.4.8";
+
+  src = fetchFromGitHub { # package from Pypi missing runtests.py
+    owner = "jazzband";
+    repo = pname;
+    rev = version;
+    sha256 = "00w1ja56dc7cyw7a3mph69ax6mkch1lsh4p98ijdhzfpjdy36rbg";
+  };
+
+  checkPhase = "${python.interpreter} runtests.py";
+  propagatedBuildInputs = [ django ];
+
+  meta = with stdenv.lib; {
+      description = "Tweak the form field rendering in templates, not in python-level form definitions.";
+      homepage = "https://github.com/jazzband/django-widget-tweaks";
+      license = licenses.mit;
+      maintainers = with maintainers; [
+          maxxk
+      ];
+  };
+}
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index cebb7c2b938..7b246a38cb9 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -58,6 +58,10 @@ in buildPythonPackage rec {
     xlwt
   ];
 
+  # doesn't work with -Werror,-Wunused-command-line-argument
+  # https://github.com/NixOS/nixpkgs/issues/39687
+  hardeningDisable = optional stdenv.cc.isClang "strictoverflow";
+
   # For OSX, we need to add a dependency on libcxx, which provides
   # `complex.h` and other libraries that pandas depends on to build.
   postPatch = optionalString isDarwin ''
diff --git a/pkgs/development/python-modules/pyfxa/default.nix b/pkgs/development/python-modules/pyfxa/default.nix
index 5cc83466262..eb5403c2b96 100644
--- a/pkgs/development/python-modules/pyfxa/default.nix
+++ b/pkgs/development/python-modules/pyfxa/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , requests, cryptography, pybrowserid, hawkauthlib, six
-, grequests, mock, responses, pytest }:
+, grequests, mock, responses, pytest, pyjwt }:
 
 buildPythonPackage rec {
   pname = "PyFxA";
@@ -17,15 +17,16 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    requests cryptography pybrowserid hawkauthlib six
+    pyjwt requests cryptography pybrowserid hawkauthlib six
   ];
 
   checkInputs = [
     grequests mock responses pytest
   ];
 
+  # test_oath is mostly network calls
   checkPhase = ''
-    pytest
+    pytest --ignore=fxa/tests/test_oauth.py
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix
new file mode 100644
index 00000000000..152fa6a92e5
--- /dev/null
+++ b/pkgs/development/python-modules/pytorch-lightning/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, future
+, pytestCheckHook
+, pytorch
+, pyyaml
+, tensorflow-tensorboard
+, tqdm }:
+
+buildPythonPackage rec {
+  pname = "pytorch-lightning";
+  version = "0.8.5";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "PyTorchLightning";
+    repo = pname;
+    rev = version;
+    sha256 = "12zhq4pnfcwbgcx7cs99c751gp3w0ysaf5ykv2lv8f4i360w3r5a";
+  };
+
+  propagatedBuildInputs = [ 
+    future
+    pytorch
+    pyyaml
+    tensorflow-tensorboard
+    tqdm
+  ];
+
+  checkInputs = [ pytestCheckHook ];
+  # Some packages are not in NixPkgs; other tests try to build distributed
+  # models, which doesn't work in the sandbox.
+  doCheck = false;
+
+  pythonImportsCheck = [ "pytorch_lightning" ];
+
+  meta = with lib; {
+    description = "Lightweight PyTorch wrapper for machine learning researchers";
+    homepage = "https://pytorch-lightning.readthedocs.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ tbenst ];
+  };
+}
diff --git a/pkgs/development/python-modules/rethinkdb/default.nix b/pkgs/development/python-modules/rethinkdb/default.nix
index 64de384dcb1..616cabc29a0 100644
--- a/pkgs/development/python-modules/rethinkdb/default.nix
+++ b/pkgs/development/python-modules/rethinkdb/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , six
+, setuptools
 }:
 
 buildPythonPackage rec {
@@ -13,7 +14,7 @@ buildPythonPackage rec {
     sha256 = "945b5efdc10f468fc056bd53a4e4224ec4c2fe1a7e83ae47443bbb6e7c7a1f7d";
   };
 
-  propagatedBuildInputs = [ six ];
+  propagatedBuildInputs = [ six setuptools ];
 
   doCheck = false;
   pythonImportsCheck = [ "rethinkdb" ];
@@ -21,7 +22,7 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Python driver library for the RethinkDB database server";
     homepage = "https://pypi.python.org/pypi/rethinkdb";
-    license = licenses.agpl3;
+    license = licenses.asl20;
   };
 
 }
diff --git a/pkgs/development/python-modules/sabyenc3/default.nix b/pkgs/development/python-modules/sabyenc3/default.nix
new file mode 100644
index 00000000000..05b667fedc1
--- /dev/null
+++ b/pkgs/development/python-modules/sabyenc3/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchPypi, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  pname = "sabyenc3";
+  version = "4.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zfj1k4zij8ph8jwkq4d6i6axym8cil16yijxshqla5163d1031z";
+  };
+
+  # tests are not included in pypi distribution
+  doCheck = false;
+
+  meta = {
+    description = "yEnc Decoding for Python 3";
+    homepage = "https://github.com/sabnzbd/sabyenc/";
+    license = lib.licenses.lgpl3;
+    maintainers = [ lib.maintainers.lovek323 ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/zodb/default.nix b/pkgs/development/python-modules/zodb/default.nix
index bcc164ea380..e8097461d3b 100644
--- a/pkgs/development/python-modules/zodb/default.nix
+++ b/pkgs/development/python-modules/zodb/default.nix
@@ -1,8 +1,8 @@
 { stdenv
 , fetchPypi
-, fetchpatch
 , buildPythonPackage
 , python
+, pythonAtLeast
 , zope_testrunner
 , transaction
 , six
@@ -17,26 +17,21 @@
 
 buildPythonPackage rec {
     pname = "ZODB";
-    version = "5.5.1";
+    version = "5.6.0";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "20155942fa326e89ad8544225bafd74237af332ce9d7c7105a22318fe8269666";
+      sha256 = "1zh7rd182l15swkbkm3ib0wgyn16xasdz2mzry8k4lwk6dagnm26";
     };
 
-    patches = [
-      # Compatibility with transaction v3.0
-      (fetchpatch {
-        url = "https://github.com/zopefoundation/ZODB/commit/0adcc6877f690186c97cc5da7e13788946d5e0df.patch";
-        sha256 = "1zmbgm7r36nj5w7icpinp61fm81svh2wk213pzr3l0jxzr9i5qi4";
-      })
-    ];
-
     # remove broken test
     postPatch = ''
       rm -vf src/ZODB/tests/testdocumentation.py
     '';
 
+    # ZConfig 3.5.0 is not compatible with Python 3.8
+    disabled = pythonAtLeast "3.8";
+
     propagatedBuildInputs = [
       transaction
       six
diff --git a/pkgs/development/ruby-modules/solargraph/Gemfile.lock b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
index d9438a79956..f5ef7d8d32f 100644
--- a/pkgs/development/ruby-modules/solargraph/Gemfile.lock
+++ b/pkgs/development/ruby-modules/solargraph/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    ast (2.4.0)
+    ast (2.4.1)
     backport (1.1.2)
     benchmark (0.1.0)
     e2mmap (0.1.0)
@@ -11,22 +11,26 @@ GEM
     nokogiri (1.10.9)
       mini_portile2 (~> 2.4.0)
     parallel (1.19.1)
-    parser (2.7.0.5)
+    parser (2.7.1.3)
       ast (~> 2.4.0)
     rainbow (3.0.0)
-    reverse_markdown (1.4.0)
+    regexp_parser (1.7.1)
+    reverse_markdown (2.0.0)
       nokogiri
     rexml (3.2.4)
-    rubocop (0.80.1)
-      jaro_winkler (~> 1.5.1)
+    rubocop (0.85.1)
       parallel (~> 1.10)
       parser (>= 2.7.0.1)
       rainbow (>= 2.2.2, < 4.0)
+      regexp_parser (>= 1.7)
       rexml
+      rubocop-ast (>= 0.0.3)
       ruby-progressbar (~> 1.7)
-      unicode-display_width (>= 1.4.0, < 1.7)
+      unicode-display_width (>= 1.4.0, < 2.0)
+    rubocop-ast (0.0.3)
+      parser (>= 2.7.0.1)
     ruby-progressbar (1.10.1)
-    solargraph (0.38.6)
+    solargraph (0.39.8)
       backport (~> 1.1)
       benchmark
       bundler (>= 1.17.2)
@@ -35,15 +39,15 @@ GEM
       maruku (~> 0.7, >= 0.7.3)
       nokogiri (~> 1.9, >= 1.9.1)
       parser (~> 2.3)
-      reverse_markdown (~> 1.0, >= 1.0.5)
+      reverse_markdown (>= 1.0.5, < 3)
       rubocop (~> 0.52)
       thor (~> 1.0)
       tilt (~> 2.0)
-      yard (~> 0.9)
+      yard (~> 0.9, >= 0.9.24)
     thor (1.0.1)
     tilt (2.0.10)
-    unicode-display_width (1.6.1)
-    yard (0.9.24)
+    unicode-display_width (1.7.0)
+    yard (0.9.25)
 
 PLATFORMS
   ruby
diff --git a/pkgs/development/ruby-modules/solargraph/gemset.nix b/pkgs/development/ruby-modules/solargraph/gemset.nix
index a6ec78b7458..655384ec49a 100644
--- a/pkgs/development/ruby-modules/solargraph/gemset.nix
+++ b/pkgs/development/ruby-modules/solargraph/gemset.nix
@@ -1,14 +1,13 @@
 {
   ast = {
-    dependencies = [];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "184ssy3w93nkajlz2c70ifm79jp3j737294kbc5fjw69v1w0n9x7";
+      sha256 = "1l3468czzjmxl93ap40hp7z94yxp4nbag0bxqs789bm30md90m2a";
       type = "gem";
     };
-    version = "2.4.0";
+    version = "2.4.1";
   };
   backport = {
     dependencies = [];
@@ -104,10 +103,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0iirjc36irgwpfb58jdf9gli382cj893y9caqhxas8anpzzlikgc";
+      sha256 = "162122h7vkg9crc9gsjwpy6bjrwg9r8ghhimwk952i5rrln3kird";
       type = "gem";
     };
-    version = "2.7.0.5";
+    version = "2.7.1.3";
   };
   rainbow = {
     dependencies = [];
@@ -120,16 +119,26 @@
     };
     version = "3.0.0";
   };
+  regexp_parser = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "106azpr2c280y2f8jnr6fd49q1abb43xh9hhgbxc4d4kvzpa8094";
+      type = "gem";
+    };
+    version = "1.7.1";
+  };
   reverse_markdown = {
     dependencies = ["nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w786j869fjhjf72waj0hc9i4ghi45b78a2am27kij4sa2hmsc53";
+      sha256 = "0w6fv779542vdliq2kmikfhymjv55z8mgzblkfjdy2agl07da9c6";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "2.0.0";
   };
   rexml = {
     dependencies = [];
@@ -143,15 +152,26 @@
     version = "3.2.4";
   };
   rubocop = {
-    dependencies = ["jaro_winkler" "parallel" "parser" "rainbow" "rexml" "ruby-progressbar" "unicode-display_width"];
+    dependencies = ["parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i8pw7p4dk11xpahs0j6vlvqlv3rgapaccj933g0i34hbx392lj8";
+      sha256 = "1ghvlbaxcvwqqpkikzdg125frf5i733lhnih79ghrvc4rykvi86h";
       type = "gem";
     };
-    version = "0.80.1";
+    version = "0.85.1";
+  };
+  rubocop-ast = {
+    dependencies = ["parser"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0lbs9is1y85cmd6p3yq3v0nppq4rhpy8ynk2ln0y4rwrlb5088dh";
+      type = "gem";
+    };
+    version = "0.0.3";
   };
   ruby-progressbar = {
     dependencies = [];
@@ -170,10 +190,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06kcqm032sq1y4pgg7cl32hv74573b1vsy79x81zglar80ybgzv4";
+      sha256 = "140zs7syf6l641p6459rg1byc2h9z2ldhmc0hbzmkgqp4lw18n7c";
       type = "gem";
     };
-    version = "0.38.6";
+    version = "0.39.8";
   };
   thor = {
     dependencies = [];
@@ -198,25 +218,23 @@
     version = "2.0.10";
   };
   unicode-display_width = {
-    dependencies = [];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pppclzq4qb26g321553nm9xqca3zgllvpwb2kqxsdadwj51s09x";
+      sha256 = "06i3id27s60141x6fdnjn5rar1cywdwy64ilc59cz937303q3mna";
       type = "gem";
     };
-    version = "1.6.1";
+    version = "1.7.0";
   };
   yard = {
-    dependencies = [];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1g0bw2qcl48fxawrdf68l229508z53mrqisavji2lkxzv4w4j2pp";
+      sha256 = "126m49mvh4lbvlvrprq7xj2vjixbq3xqr8dwr089vadvs0rkn4rd";
       type = "gem";
     };
-    version = "0.9.24";
+    version = "0.9.25";
   };
-}
+}
\ No newline at end of file
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index f80483e0e12..f91cdbead82 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pmd";
-  version = "6.25.0";
+  version = "6.26.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "0ykg0wylyfiwjlhkbfjqfam34174paihrw7x1dwfq9anyn5bjf0k";
+    sha256 = "1vlqwrbqk2cbp8kgxkm61c4blai81ib35yjf6wms16w0hvbqf2b4";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
diff --git a/pkgs/development/tools/azcopy/default.nix b/pkgs/development/tools/azcopy/default.nix
index c08ca1429ce..3d0fe8513c8 100644
--- a/pkgs/development/tools/azcopy/default.nix
+++ b/pkgs/development/tools/azcopy/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "azure-storage-azcopy";
-  version = "10.5.1";
+  version = "10.6.0";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = "azure-storage-azcopy";
     rev = "v${version}";
-    sha256 = "0bygbg1k6926ri3988wbz0b1vv6wamk799mn5nkjf0xa6gjfqqsr";
+    sha256 = "0izjnbldgf0597j4rh2ir9jsc2nzp9vwxcgllvkm5lh1xqf6i0nf";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "10bpzf8f7ibx1wzd0nzh5q1ynwfjr4n1gjygq4zqqxg51ganqj82";
+  vendorSha256 = "10sxkb2dh1il4ps15dlvq0xsry8hax27imb5qg3khdmjhb4yaj7k";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/bazelisk/default.nix b/pkgs/development/tools/bazelisk/default.nix
index 131b76f7826..e639c7ab314 100644
--- a/pkgs/development/tools/bazelisk/default.nix
+++ b/pkgs/development/tools/bazelisk/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "bazelisk";
-  version = "1.6.0";
+  version = "1.6.1";
 
   patches = [ ./gomod.patch ];
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "bazelbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l1032c0nqbdyasq6f8yf0vph06w6v81w044fs70rgzsa91m038r";
+    sha256 = "0g5zwdk7p1snqcbm4w3hsi3fm7sbsijrfj4ajxg7mifywqpmzm2l";
   };
 
   vendorSha256 = "1jgm6j04glvk7ib5yd0h04p9qxzl1ca100cv909kngx52jp61yxp";
diff --git a/pkgs/development/tools/build-managers/rocm-cmake/default.nix b/pkgs/development/tools/build-managers/rocm-cmake/default.nix
index 41149522e72..f146929019f 100644
--- a/pkgs/development/tools/build-managers/rocm-cmake/default.nix
+++ b/pkgs/development/tools/build-managers/rocm-cmake/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rocm-cmake";
-  version = "3.5.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
diff --git a/pkgs/development/tools/go-migrate/default.nix b/pkgs/development/tools/go-migrate/default.nix
new file mode 100644
index 00000000000..2864308c14d
--- /dev/null
+++ b/pkgs/development/tools/go-migrate/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "go-migrate";
+  version = "4.11.0";
+
+  src = fetchFromGitHub {
+    owner = "golang-migrate";
+    repo = "migrate";
+    rev = "v${version}";
+    sha256 = "Dw+TiuksgOfFBCzNc9rsxyQCoXES+fpr4wTrZfqohGM=";
+  };
+
+  vendorSha256 = "CezVFRZ/cknvK4t/MjyP46zJACGkzj4CZ5JVQ502Ihw=";
+
+  subPackages = [ "cmd/migrate" ];
+
+  meta = with stdenv.lib; {
+    homepage    = "https://github.com/golang-migrate/migrate";
+    description = "Database migrations. CLI and Golang library.";
+    maintainers = with maintainers; [ offline ];
+    license     = licenses.mit;
+  };
+}
diff --git a/pkgs/development/tools/godot/headless.nix b/pkgs/development/tools/godot/headless.nix
new file mode 100644
index 00000000000..0ae28b774fb
--- /dev/null
+++ b/pkgs/development/tools/godot/headless.nix
@@ -0,0 +1,18 @@
+{ godot, stdenv }:
+godot.overrideAttrs (oldAttrs: rec {
+  pname = "godot-headless";
+  sconsFlags = "target=release_debug platform=server tools=yes";
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp bin/godot_server.* $out/bin/godot-headless
+
+    mkdir "$dev"
+    cp -r modules/gdnative/include $dev
+
+    mkdir -p "$man/share/man/man6"
+    cp misc/dist/linux/godot.6 "$man/share/man/man6/"
+  '';
+  meta.description =
+    "Free and Open Source 2D and 3D game engine (headless build)";
+  meta.maintainers = with stdenv.lib.maintainers; [ twey yusdacra ];
+})
diff --git a/pkgs/development/tools/godot/server.nix b/pkgs/development/tools/godot/server.nix
new file mode 100644
index 00000000000..48f21b796c3
--- /dev/null
+++ b/pkgs/development/tools/godot/server.nix
@@ -0,0 +1,18 @@
+{ godot, stdenv }:
+godot.overrideAttrs (oldAttrs: rec {
+  pname = "godot-server";
+  sconsFlags = "target=release platform=server tools=no";
+  installPhase = ''
+    mkdir -p "$out/bin"
+    cp bin/godot_server.* $out/bin/godot-server
+
+    mkdir "$dev"
+    cp -r modules/gdnative/include $dev
+
+    mkdir -p "$man/share/man/man6"
+    cp misc/dist/linux/godot.6 "$man/share/man/man6/"
+  '';
+  meta.description =
+    "Free and Open Source 2D and 3D game engine (server build)";
+  meta.maintainers = with stdenv.lib.maintainers; [ twey yusdacra ];
+})
diff --git a/pkgs/development/tools/haskell/haskell-language-server/default.nix b/pkgs/development/tools/haskell/haskell-language-server/default.nix
index 15f944e7133..9373b902dbd 100644
--- a/pkgs/development/tools/haskell/haskell-language-server/default.nix
+++ b/pkgs/development/tools/haskell/haskell-language-server/default.nix
@@ -1,30 +1,31 @@
 { mkDerivation, aeson, base, binary, blaze-markup, brittany
 , bytestring, containers, data-default, deepseq, Diff, directory
-, extra, fetchgit, filepath, floskell, ghc, ghc-paths, ghcide
-, gitrev, hashable, haskell-lsp, haskell-lsp-types, hie-bios
-, hslogger, hspec, hspec-core, hspec-expectations, lens, lsp-test
-, optparse-applicative, optparse-simple, ormolu, process
-, regex-tdfa, safe-exceptions, shake, stdenv, stm, stylish-haskell
-, tasty, tasty-ant-xml, tasty-expected-failure, tasty-golden
-, tasty-hunit, tasty-rerun, temporary, text, time, transformers
-, unix, unordered-containers, yaml
+, extra, fetchgit, filepath, floskell, fourmolu, ghc, ghc-boot-th
+, ghc-paths, ghcide, gitrev, hashable, haskell-lsp
+, haskell-lsp-types, hie-bios, hslogger, hspec, hspec-core, lens
+, lsp-test, optparse-applicative, optparse-simple, ormolu, process
+, regex-tdfa, retrie, safe-exceptions, shake, stdenv, stm
+, stylish-haskell, tasty, tasty-ant-xml, tasty-expected-failure
+, tasty-golden, tasty-hunit, tasty-rerun, temporary, text, time
+, transformers, unix, unordered-containers, yaml
 }:
 mkDerivation {
   pname = "haskell-language-server";
-  version = "0.2.2.0";
+  version = "0.3.0.0";
   src = fetchgit {
     url = "https://github.com/haskell/haskell-language-server.git";
-    sha256 = "0g9g2gyb0fidx16l741ky12djxh4cid9akvxa48105iq1gdihd8l";
-    rev = "12c0e4423263140e3d16e76681927ec69fe4929f";
+    sha256 = "0gh3sgy6a08d8d3q6r2qn5r817ilzka2qkp0g0y6wsx7rjwag0yx";
+    rev = "23dda97f583e8ff39993b89c01bbd1ac24187605";
     fetchSubmodules = true;
   };
   isLibrary = true;
   isExecutable = true;
   libraryHaskellDepends = [
     aeson base binary brittany bytestring containers data-default
-    deepseq Diff directory extra filepath floskell ghc ghcide gitrev
-    hashable haskell-lsp hie-bios hslogger lens optparse-simple ormolu
-    process regex-tdfa shake stylish-haskell temporary text time
+    deepseq Diff directory extra filepath floskell fourmolu ghc
+    ghc-boot-th ghcide gitrev hashable haskell-lsp hie-bios hslogger
+    lens optparse-simple ormolu process regex-tdfa retrie
+    safe-exceptions shake stylish-haskell temporary text time
     transformers unix unordered-containers
   ];
   executableHaskellDepends = [
@@ -36,9 +37,9 @@ mkDerivation {
   testHaskellDepends = [
     aeson base blaze-markup bytestring containers data-default
     directory filepath haskell-lsp haskell-lsp-types hie-bios hslogger
-    hspec hspec-core hspec-expectations lens lsp-test process stm tasty
-    tasty-ant-xml tasty-expected-failure tasty-golden tasty-hunit
-    tasty-rerun temporary text transformers unordered-containers yaml
+    hspec hspec-core lens lsp-test process stm tasty tasty-ant-xml
+    tasty-expected-failure tasty-golden tasty-hunit tasty-rerun
+    temporary text transformers unordered-containers yaml
   ];
   testToolDepends = [ ghcide ];
   homepage = "https://github.com/haskell/haskell-language-server#readme";
diff --git a/pkgs/development/tools/haskell/haskell-language-server/hls-ghcide.nix b/pkgs/development/tools/haskell/haskell-language-server/hls-ghcide.nix
index cafe01946a6..98f1b0c494c 100644
--- a/pkgs/development/tools/haskell/haskell-language-server/hls-ghcide.nix
+++ b/pkgs/development/tools/haskell/haskell-language-server/hls-ghcide.nix
@@ -7,7 +7,7 @@
 , hie-bios, hslogger, lens, lsp-test, mtl, network-uri
 , opentelemetry, optparse-applicative, prettyprinter
 , prettyprinter-ansi-terminal, process, QuickCheck
-, quickcheck-instances, regex-tdfa, rope-utf16-splay
+, quickcheck-instances, regex-tdfa, rope-utf16-splay, safe
 , safe-exceptions, shake, sorted-list, stdenv, stm, syb, tasty
 , tasty-expected-failure, tasty-hunit, tasty-quickcheck
 , tasty-rerun, text, time, transformers, unix, unordered-containers
@@ -17,9 +17,9 @@ mkDerivation {
   pname = "ghcide";
   version = "0.2.0";
   src = fetchgit {
-    url = "https://github.com/bubba/ghcide";
-    sha256 = "1kj2i86mkaxgxlrbmv2d24mch7hywgcy2n61z8paj21chncs1j5w";
-    rev = "7e895cfa53260b41996df707baec496a8f2c75dc";
+    url = "https://github.com/wz1000/ghcide";
+    sha256 = "1zq7ngaak8il91a309rl51dghzasnk4m2sm3av6d93cyqyra1hfc";
+    rev = "078e3d3c0d319f83841ccbcdc60ff5f0e243f6be";
     fetchSubmodules = true;
   };
   isLibrary = true;
@@ -30,23 +30,23 @@ mkDerivation {
     filepath fuzzy ghc ghc-boot ghc-boot-th ghc-check ghc-paths
     haddock-library hashable haskell-lsp haskell-lsp-types hie-bios
     hslogger mtl network-uri opentelemetry prettyprinter
-    prettyprinter-ansi-terminal regex-tdfa rope-utf16-splay
+    prettyprinter-ansi-terminal regex-tdfa rope-utf16-splay safe
     safe-exceptions shake sorted-list stm syb text time transformers
     unix unordered-containers utf8-string
   ];
   executableHaskellDepends = [
     aeson base bytestring containers data-default directory extra
     filepath gitrev hashable haskell-lsp haskell-lsp-types hie-bios
-    lsp-test optparse-applicative process safe-exceptions text
+    lens lsp-test optparse-applicative process safe-exceptions text
     unordered-containers
   ];
   testHaskellDepends = [
-    aeson base bytestring containers directory extra filepath ghc
-    ghc-typelits-knownnat haddock-library haskell-lsp haskell-lsp-types
-    lens lsp-test network-uri optparse-applicative process QuickCheck
-    quickcheck-instances rope-utf16-splay safe-exceptions shake tasty
-    tasty-expected-failure tasty-hunit tasty-quickcheck tasty-rerun
-    text
+    aeson base binary bytestring containers directory extra filepath
+    ghc ghc-typelits-knownnat haddock-library haskell-lsp
+    haskell-lsp-types lens lsp-test network-uri optparse-applicative
+    process QuickCheck quickcheck-instances rope-utf16-splay safe
+    safe-exceptions shake tasty tasty-expected-failure tasty-hunit
+    tasty-quickcheck tasty-rerun text
   ];
   benchmarkHaskellDepends = [
     aeson base Chart Chart-diagrams diagrams diagrams-svg directory
diff --git a/pkgs/development/tools/haskell/haskell-language-server/update.sh b/pkgs/development/tools/haskell/haskell-language-server/update.sh
index 6cf29968338..498859843c4 100755
--- a/pkgs/development/tools/haskell/haskell-language-server/update.sh
+++ b/pkgs/development/tools/haskell/haskell-language-server/update.sh
@@ -29,7 +29,7 @@ ghcide_new_version=$(curl --silent "https://api.github.com/repos/haskell/haskell
 echo "Updating haskell-language-server from old version $ghcide_old_version to new version $ghcide_new_version."
 echo "Running cabal2nix and outputting to ${ghcide_derivation_file}..."
 
-cabal2nix --revision "$ghcide_new_version" "https://github.com/bubba/ghcide" > "$ghcide_derivation_file"
+cabal2nix --revision "$ghcide_new_version" "https://github.com/wz1000/ghcide" > "$ghcide_derivation_file"
 
 
 # ===========================
diff --git a/pkgs/development/tools/lattice-diamond/default.nix b/pkgs/development/tools/lattice-diamond/default.nix
index 1dea1440113..6720603b2e5 100644
--- a/pkgs/development/tools/lattice-diamond/default.nix
+++ b/pkgs/development/tools/lattice-diamond/default.nix
@@ -1,5 +1,5 @@
 { stdenv, rpmextract, patchelf, makeWrapper, file, requireFile, glib, zlib, 
-    freetype, fontconfig, xorg }:
+    freetype, fontconfig, xorg, libusb-compat-0_1 }:
 
 stdenv.mkDerivation {
   name = "diamond-3.10";
@@ -98,6 +98,7 @@ stdenv.mkDerivation {
   libPath = stdenv.lib.makeLibraryPath [
     glib zlib freetype fontconfig
     xorg.libSM xorg.libICE xorg.libXrender xorg.libXext xorg.libX11 xorg.libXt
+    libusb-compat-0_1
   ];
 
   meta = {
diff --git a/pkgs/development/tools/metals/default.nix b/pkgs/development/tools/metals/default.nix
index e5046d1d1d9..caee8058f0f 100644
--- a/pkgs/development/tools/metals/default.nix
+++ b/pkgs/development/tools/metals/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "metals";
-  version = "0.9.2";
+  version = "0.9.3";
 
   deps = stdenv.mkDerivation {
     name = "${pname}-deps-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash     = "1gnf2p578nk1ygx3cc4mb7fa690c51nbdwvc2qz2805m4xg3x7zv";
+    outputHash     = "0mr0pxicka4qd0cn002g5r80dyg59164czyb0r7012l0q1xighz2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index d632c756c59..09313cd780f 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure-lsp";
-  version = "20200806T150857";
+  version = "20200819T134828";
 
   src = fetchurl {
     url = "https://github.com/snoe/clojure-lsp/releases/download/release-${version}/${pname}";
-    sha256 = "132w60p10ffr3vcykgw8rzxs54i6ynmw13p9nd59pqbn5adblrsp";
+    sha256 = "0nfi6wf78z0xm0mgsz83pn1v4mr76h2d5rva3xan4hn8gpd1s57s";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/misc/fujprog/default.nix b/pkgs/development/tools/misc/fujprog/default.nix
new file mode 100644
index 00000000000..61aeea9967d
--- /dev/null
+++ b/pkgs/development/tools/misc/fujprog/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, fetchFromGitHub
+, cmake
+, pkgconfig
+, libftdi1
+, libusb-compat-0_1
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fujprog";
+  version = "4.6";
+
+  src = fetchFromGitHub {
+    owner = "kost";
+    repo = "${pname}";
+    rev = "v${version}";
+    sha256 = "04l5rrfrp3pflwz5ncwvb4ibbsqib2259m23bzfi8m80aj216shd";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+  ];
+
+  buildInputs = [
+    libftdi1
+    libusb-compat-0_1
+  ];
+
+  meta = with stdenv.lib; {
+    description = "JTAG programmer for the ULX3S and ULX2S open hardware FPGA development boards.";
+    homepage = "https://github.com/kost/fujprog";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ trepetti ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}
diff --git a/pkgs/development/tools/misc/replacement/default.nix b/pkgs/development/tools/misc/replacement/default.nix
new file mode 100644
index 00000000000..3d0218ffab2
--- /dev/null
+++ b/pkgs/development/tools/misc/replacement/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, fetchFromGitHub
+, python3Packages
+}:
+
+python3Packages.buildPythonApplication rec {
+  pname = "replacement";
+  version = "0.4.4";
+
+  disabled = python3Packages.isPy27;
+
+  src = fetchFromGitHub {
+    owner = "siriobalmelli";
+    repo = "replacement";
+    rev = "v${version}";
+    sha256 = "0j4lvn3rx1kqvxcsd8nhc2lgk48jyyl7qffhlkvakhy60f9lymj3";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    ruamel_yaml
+  ];
+
+  checkInputs = with python3Packages; [
+    pytestCheckHook
+    sh
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/siriobalmelli/replacement";
+    description = "A tool to execute yaml templates and output text";
+    longDescription = ''
+        Replacement is a python utility
+        that parses a yaml template and outputs text.
+
+        A 'template' is a YAML file containing a 'replacement' object.
+
+        A 'replacement' object contains a list of blocks,
+        each of which is executed in sequence.
+
+        This tool is useful in generating configuration files,
+        static websites and the like.
+    '';
+    license = licenses.asl20;
+    maintainers = with maintainers; [ siriobalmelli ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/camlp4/default.nix b/pkgs/development/tools/ocaml/camlp4/default.nix
index ea1b3965098..73228655cca 100644
--- a/pkgs/development/tools/ocaml/camlp4/default.nix
+++ b/pkgs/development/tools/ocaml/camlp4/default.nix
@@ -43,6 +43,11 @@ stdenv.mkDerivation rec {
   dontAddPrefix = true;
 
   preConfigure = ''
+    # increase stack space for spacetime variant of the compiler
+    # https://github.com/ocaml/ocaml/issues/7435
+    # but disallowed by darwin sandbox
+    ulimit -s unlimited || true
+
     configureFlagsArray=(
       --bindir=$out/bin
       --libdir=$out/lib/ocaml/${ocaml.version}/site-lib
diff --git a/pkgs/development/tools/pipenv/default.nix b/pkgs/development/tools/pipenv/default.nix
index 5f9e122c16a..1474ba56a14 100644
--- a/pkgs/development/tools/pipenv/default.nix
+++ b/pkgs/development/tools/pipenv/default.nix
@@ -6,7 +6,7 @@ with python3.pkgs;
 
 let
 
-  runtimeDeps = [
+  runtimeDeps = ps: with ps; [
     certifi
     setuptools
     pip
@@ -14,7 +14,7 @@ let
     virtualenv-clone
   ];
 
-  pythonEnv = python3.withPackages(ps: with ps; runtimeDeps);
+  pythonEnv = python3.withPackages runtimeDeps;
 
 in buildPythonApplication rec {
   pname = "pipenv";
@@ -36,7 +36,7 @@ in buildPythonApplication rec {
       --replace "sys.executable" "'${pythonEnv.interpreter}'"
   '';
 
-  propagatedBuildInputs = runtimeDeps;
+  propagatedBuildInputs = runtimeDeps python3.pkgs;
 
   doCheck = true;
   checkPhase = ''
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index 20a1f53f675..b36bc26433d 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -11,11 +11,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.15.3";
+  version = "0.16.0";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "0spc7r531kmh9magaxzy4jls3bzfazwf8sq3qzk6f292d7ky6n8y";
-    rev = "da6d91c19b23f06f3ede793f78599a6589c9e7cd";
+    sha256 = "0z4s0z14n1v9wajs7mj2b295rrrw24gdca79drzlv6x1y6dj7sxh";
+    rev = "71b093cdf5e48ded645303281ab4a3ea5b730f5d";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/rebazel/default.nix b/pkgs/development/tools/rebazel/default.nix
new file mode 100644
index 00000000000..73a58ee100b
--- /dev/null
+++ b/pkgs/development/tools/rebazel/default.nix
@@ -0,0 +1,21 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+rustPlatform.buildRustPackage rec {
+  pname = "rebazel";
+  version = "0.1.4";
+
+  src = fetchFromGitHub {
+    owner = "meetup";
+    repo = "rebazel";
+    rev = "v${version}";
+    hash = "sha256-v84ZXhtJpejQmP61NmP06+qrtMu/0yb7UyD7U12xlME=";
+  };
+
+  cargoSha256 = "sha256-2FmtbvtNfNoocj3Ly553KBLfOgBAa/eAxOrfZ3NGzzw=";
+
+  meta = with lib; {
+    description = "tool for expediting bazel build workflows";
+    homepage = "https://github.com/meetup/rebazel";
+    license = licenses.mit;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/tools/rust/cargo-make/Cargo.lock b/pkgs/development/tools/rust/cargo-make/Cargo.lock
index 191e96f021f..3be32ff068e 100644
--- a/pkgs/development/tools/rust/cargo-make/Cargo.lock
+++ b/pkgs/development/tools/rust/cargo-make/Cargo.lock
@@ -2,9 +2,9 @@
 # It is not intended for manual editing.
 [[package]]
 name = "adler"
-version = "0.2.2"
+version = "0.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccc9a9dd069569f212bc4330af9f17c4afb5e8ce185e83dbb14f1349dda18b10"
+checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
 
 [[package]]
 name = "aho-corasick"
@@ -72,9 +72,9 @@ dependencies = [
 
 [[package]]
 name = "autocfg"
-version = "1.0.0"
+version = "1.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
 
 [[package]]
 name = "base64"
@@ -107,16 +107,13 @@ dependencies = [
 
 [[package]]
 name = "bytes"
-version = "0.5.5"
+version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "118cf036fbb97d0816e3c34b2d7a1e8cfc60f68fcf63d550ddbe9bd5f59c213b"
-dependencies = [
- "loom",
-]
+checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
 
 [[package]]
 name = "cargo-make"
-version = "0.32.0"
+version = "0.32.2"
 dependencies = [
  "ci_info",
  "clap",
@@ -135,7 +132,7 @@ dependencies = [
  "run_script",
  "rust_info",
  "rusty-hook",
- "semver 0.10.0",
+ "semver",
  "serde",
  "serde_derive",
  "serde_json",
@@ -145,15 +142,15 @@ dependencies = [
 
 [[package]]
 name = "cc"
-version = "1.0.57"
+version = "1.0.59"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fde55d2a2bfaa4c9668bbc63f531fbdeee3ffe188f4662511ce2c22b3eedebe"
+checksum = "66120af515773fb005778dc07c261bd201ec8ce50bd6e7144c927753fe013381"
 
 [[package]]
 name = "cfg-if"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33"
+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
 
 [[package]]
 name = "chrono"
@@ -176,9 +173,9 @@ dependencies = [
 
 [[package]]
 name = "clap"
-version = "2.33.1"
+version = "2.33.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bdfa80d47f954d53a35a64987ca1422f495b8d6483c0fe9f7117b36c2a792129"
+checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
 dependencies = [
  "ansi_term",
  "atty",
@@ -191,9 +188,9 @@ dependencies = [
 
 [[package]]
 name = "colored"
-version = "1.9.3"
+version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59"
+checksum = "b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd"
 dependencies = [
  "atty",
  "lazy_static 1.4.0",
@@ -244,11 +241,10 @@ dependencies = [
 
 [[package]]
 name = "dirs"
-version = "3.0.0"
+version = "3.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fddc3610d8f9552384e06ebc87f714e1d0b2b64a99194d2faf36d7ae5f48549"
+checksum = "142995ed02755914747cc6ca76fc7e4583cd18578746716d0508ea6ed558b9ff"
 dependencies = [
- "cfg-if",
  "dirs-sys",
 ]
 
@@ -274,9 +270,9 @@ dependencies = [
 
 [[package]]
 name = "duckscriptsdk"
-version = "0.6.0"
+version = "0.6.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0033c9c694e0a358f42316e3517442ca9039de8b3838d8320fb129da5dbec28b"
+checksum = "15dee0b26565d497303de383d0e20dbb5f6e95cdcba902aee109dc55fe62b8af"
 dependencies = [
  "attohttpc",
  "base64 0.12.3",
@@ -291,6 +287,7 @@ dependencies = [
  "meval",
  "num_cpus",
  "rand",
+ "serde_json",
  "uname",
  "walkdir",
  "which",
@@ -363,9 +360,9 @@ checksum = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
 
 [[package]]
 name = "envmnt"
-version = "0.8.3"
+version = "0.8.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0dad160daebf530422640d9496277681d6a2caa3172ec8fd2a315a122829319b"
+checksum = "a2d328fc287c61314c4a61af7cfdcbd7e678e39778488c7cb13ec133ce0f4059"
 dependencies = [
  "fsio",
  "indexmap",
@@ -382,9 +379,9 @@ dependencies = [
 
 [[package]]
 name = "flate2"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "68c90b0fc46cf89d227cc78b40e494ff81287a92dd07631e5af0d06fe3cf885e"
+checksum = "766d0e77a2c1502169d4a93ff3b8c15a71fd946cd0126309752104e5f3c46d94"
 dependencies = [
  "cfg-if",
  "crc32fast",
@@ -421,9 +418,9 @@ checksum = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674"
 
 [[package]]
 name = "fsio"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2131cb03096f67334dfba2f0bc46afc5564b08a919d042c6e217e2665741fc54"
+checksum = "c1fd087255f739f4f1aeea69f11b72f8080e9c2e7645cd06955dad4a178a49e3"
 dependencies = [
  "rand",
  "users",
@@ -441,19 +438,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "generator"
-version = "0.6.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "add72f17bb81521258fcc8a7a3245b1e184e916bfbe34f0ea89558f440df5c68"
-dependencies = [
- "cc",
- "libc",
- "log",
- "rustc_version",
- "winapi 0.3.9",
-]
-
-[[package]]
 name = "getopts"
 version = "0.2.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -486,10 +470,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
 
 [[package]]
+name = "hashbrown"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
 name = "hermit-abi"
-version = "0.1.14"
+version = "0.1.15"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9586eedd4ce6b3c498bc3b4dd92fc9f11166aa908a914071953768066c67909"
+checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
 dependencies = [
  "libc",
 ]
@@ -527,11 +520,12 @@ dependencies = [
 
 [[package]]
 name = "indexmap"
-version = "1.4.0"
+version = "1.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c398b2b113b55809ceb9ee3e753fcbac793f1956663f3c36549c1346015c2afe"
+checksum = "86b45e59b16c76b11bf9738fd5d38879d3bd28ad292d7b313608becb17ae2df9"
 dependencies = [
  "autocfg",
+ "hashbrown",
  "serde",
 ]
 
@@ -575,28 +569,17 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
 
 [[package]]
 name = "libc"
-version = "0.2.71"
+version = "0.2.76"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9457b06509d27052635f90d6466700c65095fdf75409b3fbdd903e988b886f49"
+checksum = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3"
 
 [[package]]
 name = "log"
-version = "0.4.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "loom"
-version = "0.3.4"
+version = "0.4.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4ecc775857611e1df29abba5c41355cdf540e7e9d4acfdf0f355eefee82330b7"
+checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
 dependencies = [
  "cfg-if",
- "generator",
- "scoped-tls",
 ]
 
 [[package]]
@@ -761,21 +744,21 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
 
 [[package]]
 name = "pkg-config"
-version = "0.3.17"
+version = "0.3.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
+checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
 
 [[package]]
 name = "ppv-lite86"
-version = "0.2.8"
+version = "0.2.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
+checksum = "c36fa947111f5c62a733b652544dd0016a43ce89619538a8ef92724a6f501a20"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.18"
+version = "1.0.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beae6331a816b1f65d04c45b078fd8e6c93e8071771f41b8163255bbd8d7c8fa"
+checksum = "04f5f085b5d71e2188cb8271e5da0161ad52c3f227a661a3c135fdf28e258b12"
 dependencies = [
  "unicode-xid",
 ]
@@ -832,9 +815,9 @@ dependencies = [
 
 [[package]]
 name = "redox_syscall"
-version = "0.1.56"
+version = "0.1.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
+checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
 
 [[package]]
 name = "redox_users"
@@ -921,15 +904,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "02b506bd796703b88d74a3edb529acde6c71d81bb078c392eecd60a745cb1d2f"
 
 [[package]]
-name = "rustc_version"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-dependencies = [
- "semver 0.9.0",
-]
-
-[[package]]
 name = "rusty-hook"
 version = "0.11.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -967,12 +941,6 @@ dependencies = [
 ]
 
 [[package]]
-name = "scoped-tls"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28"
-
-[[package]]
 name = "security-framework"
 version = "0.4.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -997,15 +965,6 @@ dependencies = [
 
 [[package]]
 name = "semver"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-dependencies = [
- "semver-parser",
-]
-
-[[package]]
-name = "semver"
 version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "394cec28fa623e00903caf7ba4fa6fb9a0e260280bb8cdbbba029611108a0190"
@@ -1021,15 +980,15 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
 
 [[package]]
 name = "serde"
-version = "1.0.114"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5317f7588f0a5078ee60ef675ef96735a1442132dc645eb1d12c018620ed8cd3"
+checksum = "e54c9a88f2da7238af84b5101443f0c0d0a3bbdc455e34a5c9497b1903ed55d5"
 
 [[package]]
 name = "serde_derive"
-version = "1.0.114"
+version = "1.0.115"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a0be94b04690fbaed37cddffc5c134bf537c8e3329d53e982fe04c374978f8e"
+checksum = "609feed1d0a73cc36a0182a840a9b37b4a82f0b1150369f0536a9e3f2a31dc48"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1038,9 +997,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.56"
+version = "1.0.57"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3433e879a558dde8b5e8feb2a04899cf34fdde1fafb894687e52105fc1162ac3"
+checksum = "164eacbdb13512ec2745fb09d51fd5b22b0d65ed294a1dcf7285a360c80a675c"
 dependencies = [
  "itoa",
  "ryu",
@@ -1064,9 +1023,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
 
 [[package]]
 name = "syn"
-version = "1.0.33"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e8d5d96e8cbb005d6959f119f773bfaebb5684296108fb32600c00cde305b2cd"
+checksum = "e69abc24912995b3038597a7a593be5053eb0fb44f3cc5beec0deb421790c1f4"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -1156,9 +1115,9 @@ dependencies = [
 
 [[package]]
 name = "tinyvec"
-version = "0.3.3"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed"
+checksum = "238ce071d267c5710f9d31451efec16c5ee22de34df17cc05e56cbc92e967117"
 
 [[package]]
 name = "toml"
@@ -1221,11 +1180,12 @@ dependencies = [
 
 [[package]]
 name = "users"
-version = "0.9.1"
+version = "0.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c72f4267aea0c3ec6d07eaabea6ead7c5ddacfafc5e22bcf8d186706851fb4cf"
+checksum = "aa4227e95324a443c9fcb06e03d4d85e91aabe9a5a02aa818688b6918b6af486"
 dependencies = [
  "libc",
+ "log",
 ]
 
 [[package]]
@@ -1265,9 +1225,9 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
 
 [[package]]
 name = "which"
-version = "4.0.1"
+version = "4.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5fe1a9cb33fe7cf77d431070d0223e544b1e4e7f7764bad0a3e691a6678a131"
+checksum = "87c14ef7e1b8b8ecfc75d5eca37949410046e66f15d185c01d70824f1f8111ef"
 dependencies = [
  "libc",
  "thiserror",
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 2e502251a6b..f02ee5e5107 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -4,7 +4,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.32.0";
+  version = "0.32.2";
 
   src =
     let
@@ -12,7 +12,7 @@ rustPlatform.buildRustPackage rec {
         owner = "sagiegurari";
         repo = pname;
         rev = version;
-        sha256 = "1bkc3z1w9gbjymmr5lk322kn0rd6b57v92a32jf7nckllxf43807";
+        sha256 = "0l0pislc7pgx1m68kirvadraq88c86mm1k46wbz3a47ph2d4g912";
       };
     in
     runCommand "source" {} ''
@@ -26,7 +26,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
-  cargoSha256 = "0l7krag7n4kjvh3d4zhkk1jdswsrkag5z664fm1zwvf6rw6sfdmi";
+  cargoSha256 = "16ygkh8sbb37nfc41shxg9nh2mbszyschbqrrr1gr7xzf1z36ipp";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/maturin/default.nix b/pkgs/development/tools/rust/maturin/default.nix
index 8ddbbcc8204..723ea94152c 100644
--- a/pkgs/development/tools/rust/maturin/default.nix
+++ b/pkgs/development/tools/rust/maturin/default.nix
@@ -5,16 +5,16 @@ let
   inherit (darwin.apple_sdk.frameworks) Security;
 in rustPlatform.buildRustPackage rec {
   name = "maturin-${version}";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "PyO3";
     repo = "maturin";
     rev = "v${version}";
-    sha256 = "1y6bxqbv7k8xvqjzgpf6n2n3yad4qxr2dwwlw8cb0knd7cfl2a2n";
+    sha256 = "08l5r7d75id6qzf8xhkjv4hkdr64cq4dbcmdjywmvf9szjbnr65z";
   };
 
-  cargoSha256 = "1f12k6n58ycv79bv416566fnsnsng8jk3f6fy5j78py1qgy30swm";
+  cargoSha256 = "1n0sxkhcdg2rbzqd7826pa7sxlnn0c2sc8l6lc98xw21vvqisc8n";
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/tools/summon/default.nix b/pkgs/development/tools/summon/default.nix
new file mode 100644
index 00000000000..e01c60e3a89
--- /dev/null
+++ b/pkgs/development/tools/summon/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, buildGoModule, fetchFromGitHub, lib, patchResolver ? true }:
+
+with stdenv.lib;
+
+buildGoModule rec {
+  pname = "summon";
+  version = "0.8.2";
+
+  src = fetchFromGitHub {
+    owner = "cyberark";
+    repo = "summon";
+    rev = "v${version}";
+    sha256 = "1z4xnrncwvp3rfm97zvc0ivvw2fh1hrjhj3rplvidzxjfyasbvwv";
+  };
+
+  vendorSha256 = "1597vrs4b7k6gkmkvf7xnd38rvjixmlcz0j7npmik9nbkm57l74m";
+
+  subPackages = [ "cmd" ];
+
+  # Patches provider resolver to support resolving unqualified names
+  # from $PATH, e.g. `summon -p gopass` instead of `summon -p $(which gopass)`
+  patches = optional patchResolver [ ./resolve-paths.patch ];
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/summon
+  '';
+
+  meta = with lib; {
+    description =
+      "CLI that provides on-demand secrets access for common DevOps tools";
+    homepage = "https://cyberark.github.io/summon";
+    license = lib.licenses.mit;
+    maintainers = with maintainers; [ quentini ];
+  };
+}
diff --git a/pkgs/development/tools/summon/resolve-paths.patch b/pkgs/development/tools/summon/resolve-paths.patch
new file mode 100644
index 00000000000..cd49c50e2bd
--- /dev/null
+++ b/pkgs/development/tools/summon/resolve-paths.patch
@@ -0,0 +1,39 @@
+From dd34727ebfbd59738084eeb7c2a020e40a4d0abe Mon Sep 17 00:00:00 2001
+From: Quentin <Quentin Inkling>
+Date: Mon, 29 Jun 2020 17:35:04 +0300
+Subject: [PATCH] Patch for
+
+---
+ provider/provider.go | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/provider/provider.go b/provider/provider.go
+index c1e28d9..f20fdaa 100644
+--- a/provider/provider.go
++++ b/provider/provider.go
+@@ -78,7 +78,22 @@ func expandPath(provider string) string {
+ 	if path.Base(provider) != provider {
+ 		return provider
+ 	}
++
++	var (
++		stdOut bytes.Buffer
++		stdErr bytes.Buffer
++	)
++	cmd := exec.Command("which", provider)
++	cmd.Stdout = &stdOut
++	cmd.Stderr = &stdErr
++	err := cmd.Run()
++
++	if err == nil {
++		return strings.TrimSpace(stdOut.String())
++	}
++
+ 	return path.Join(DefaultPath, provider)
++
+ }
+ 
+ func getDefaultPath() string {
+-- 
+2.27.0
+
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 7749249695d..3a0583628f0 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -18,16 +18,16 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "163qvxggdv4mr1r1nab4s5n2b74bji0iil4r4nmp6n2ghssyf01h";
+    sha256 = "1j5ajasng380p5a7nkk9ag5zp9ybwfz7b2z42lyk1wfg0pcd6j0r";
     fetchSubmodules = true;
   };
-  cargoSha256 = "11i00a92i2d6y2vj04wa6qbpsd351qcdy6a9ansq6n3928m9f2pk";
+  cargoSha256 = "0ba7afk4n7k170cqwy0gjc53vz6bjc176s9w1wln6yfhh55fyw6x";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/web/deno/update/common.ts b/pkgs/development/web/deno/update/common.ts
index 71e4d638f8d..d8956b21d16 100644
--- a/pkgs/development/web/deno/update/common.ts
+++ b/pkgs/development/web/deno/update/common.ts
@@ -8,7 +8,20 @@ const run = async (command: string, args: string[]) => {
     { cmd: [command, ...args], stdout: "piped", stderr: "piped" },
   );
   if (!(await cmd.status()).success) {
-    throw await cmd.stderrOutput().then((b) => decode(b));
+    const error = await cmd.stderrOutput().then((b) => decode(b).trimEnd());
+    // Known error we can ignore
+    if (error.includes("'allow-unsafe-native-code-during-evaluation'")) {
+      // Extract the target sha256 out of the error
+      const target = "  got:    sha256:";
+      const match = error
+        .split("\n")
+        .find((l) => l.includes(target))
+        ?.split(target)[1];
+      if (typeof match !== "undefined") {
+        return match;
+      }
+    }
+    throw new Error(error);
   }
   return cmd.output().then((b) => decode(b).trimEnd());
 };
diff --git a/pkgs/development/web/grails/default.nix b/pkgs/development/web/grails/default.nix
index fc68fa53246..55ec74eb173 100644
--- a/pkgs/development/web/grails/default.nix
+++ b/pkgs/development/web/grails/default.nix
@@ -11,11 +11,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "grails";
-  version = "4.0.3";
+  version = "4.1.0.M1";
 
   src = fetchurl {
     url = "https://github.com/grails/grails-core/releases/download/v${version}/grails-${version}.zip";
-    sha256 = "107dvgwv2ldpdr99q1nvb1i93jj635p1n7md6q14v9m4a6a226sa";
+    sha256 = "0l99x3g485qjpdd7ga553xpi1s6rq21p8v16qjzqwdhyld961qsr";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch
index f792dc013f0..dda55b09f32 100644
--- a/pkgs/games/crawl/crawl_purify.patch
+++ b/pkgs/games/crawl/crawl_purify.patch
@@ -1,37 +1,22 @@
-diff -ru3 crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile
---- crawl-ref-0.23.2-src-old/crawl-ref/source/Makefile	1970-01-01 03:00:01.000000000 +0300
-+++ crawl-ref-0.23.2-src-new/crawl-ref/source/Makefile	2017-07-27 14:45:34.611221571 +0300
-@@ -224,9 +224,9 @@
-	STRIP := strip -x
-	NEED_APPKIT = YesPlease
-	LIBNCURSES_IS_UNICODE = Yes
+diff --git a/crawl-ref/source/Makefile b/crawl-ref/source/Makefile
+--- a/crawl-ref/source/Makefile
++++ b/crawl-ref/source/Makefile
+@@ -248,9 +248,9 @@ ifeq ($(uname_S),Darwin)
+ 	STRIP := strip -x
+ 	NEED_APPKIT = YesPlease
+ 	LIBNCURSES_IS_UNICODE = Yes
 -	NO_PKGCONFIG = Yes
 -	BUILD_SQLITE = YesPlease
 -	BUILD_ZLIB = YesPlease
 +	#NO_PKGCONFIG = Yes
 +	#BUILD_SQLITE = YesPlease
 +	#BUILD_ZLIB = YesPlease
-	ifdef TILES
-		EXTRA_LIBS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL -framework AudioToolbox -framework CoreVideo contrib/install/$(ARCH)/lib/libSDL2main.a
-		BUILD_FREETYPE = YesPlease
-@@ -286,13 +286,7 @@
- LIBZ := contrib/install/$(ARCH)/lib/libz.a
- 
- ifndef CROSSHOST
--	# FreeBSD keeps all of its userland includes in /usr/local so
--	# look there
--	ifeq ($(uname_S),FreeBSD)
--		SQLITE_INCLUDE_DIR := /usr/local/include
--	else
--		SQLITE_INCLUDE_DIR := /usr/include
--	endif
-+	SQLITE_INCLUDE_DIR := ${sqlite}/include
- else
- 	# This is totally wrong, works only with some old-style setups, and
- 	# on some architectures of Debian/new FHS multiarch -- excluding, for
-diff -ru3 crawl-ref-0.23.2-src-old/crawl-ref/source/util/find_font crawl-ref-0.23.2-src-new/crawl-ref/source/util/find_font
---- crawl-ref-0.23.2-src-old/crawl-ref/source/util/find_font	1970-01-01 03:00:01.000000000 +0300
-+++ crawl-ref-0.23.2-src-new/crawl-ref/source/util/find_font	2017-07-27 14:44:29.784235540 +0300
+ 	ifdef TILES
+ 		EXTRA_LIBS += -framework AppKit -framework AudioUnit -framework CoreAudio -framework ForceFeedback -framework Carbon -framework IOKit -framework OpenGL -framework AudioToolbox -framework CoreVideo contrib/install/$(ARCH)/lib/libSDL2main.a
+ 		BUILD_FREETYPE = YesPlease
+diff --git a/crawl-ref/source/util/find_font b/crawl-ref/source/util/find_font
+--- a/crawl-ref/source/util/find_font
++++ b/crawl-ref/source/util/find_font
 @@ -1,6 +1,6 @@
  #! /bin/sh
  
@@ -59,4 +44,4 @@ diff --git a/crawl-ref/source/windowmanager-sdl.cc b/crawl-ref/source/windowmana
 +# include <SDL2/SDL_image.h>
  # if defined(USE_SOUND) && !defined(WINMM_PLAY_SOUNDS)
  #  include <SDL2/SDL_mixer.h>
- # endif
\ No newline at end of file
+ # endif
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index 8fe3b20419a..eeb8bd7f9db 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "crawl-${version}${lib.optionalString tileMode "-tiles"}";
-  version = "0.24.1";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "crawl";
     repo = "crawl";
     rev = version;
-    sha256 = "1fiizkigmbrw0nb1l1m3syl2mw4a4r36l1y0n4z8z7slp79bsbv4";
+    sha256 = "0swcl8cxz64yw8dl9macz8ar1ccwrkwz89j7s1f60inb5jlxifqm";
   };
 
   # Patch hard-coded paths and remove force library builds
diff --git a/pkgs/games/dwarf-fortress/dfhack/default.nix b/pkgs/games/dwarf-fortress/dfhack/default.nix
index bd37f6180b1..11c21b82c29 100644
--- a/pkgs/games/dwarf-fortress/dfhack/default.nix
+++ b/pkgs/games/dwarf-fortress/dfhack/default.nix
@@ -1,5 +1,5 @@
 { stdenv, buildEnv, lib, fetchFromGitHub, cmake, writeScriptBin
-, perl, XMLLibXML, XMLLibXSLT, zlib
+, perl, XMLLibXML, XMLLibXSLT, zlib, ruby
 , enableStoneSense ? false,  allegro5, libGLU, libGL
 , enableTWBT ? true, twbt
 , SDL
@@ -53,10 +53,10 @@ let
       prerelease = true;
     };
     "0.47.04" = {
-      dfHackRelease = "0.47.04-alpha0";
-      sha256 = "07056k6717mqim9skwjprqplj8jmmli6g4p2c72c8000jwnn2hjy";
-      xmlRev = "23500e4e9bd1885365d0a2ef1746c321c1dd50aa";
-      prerelease = true;
+      dfHackRelease = "0.47.04-r2";
+      sha256 = "18ppn1dqaxi6ahjzsvb9kw70rvca106a1hibhzc4rxmraypnqb89";
+      xmlRev = "036b662a1bbc96b4911f3cbe74dfa1243b6459bc";
+      prerelease = false;
     };
   };
 
@@ -109,6 +109,19 @@ let
     };
 
     patches = [ ./fix-stonesense.patch ];
+
+    # As of
+    # https://github.com/DFHack/dfhack/commit/56e43a0dde023c5a4595a22b29d800153b31e3c4,
+    # dfhack gets its goodies from the directory above the Dwarf_Fortress
+    # executable, which leads to stock Dwarf Fortress and not the built
+    # environment where all the dfhack resources are symlinked to (typically
+    # ~/.local/share/df_linux). This causes errors like `tweak is not a
+    # recognized command` to be reported and dfhack to lose some of its
+    # functionality.
+    postPatch = ''
+      sed -i 's@cached_path = path_string.*@cached_path = getenv("DF_DIR");@' library/Process-linux.cpp
+    '';
+
     nativeBuildInputs = [ cmake perl XMLLibXML XMLLibXSLT fakegit ];
     # We don't use system libraries because dfhack needs old C++ ABI.
     buildInputs = [ zlib SDL ]
@@ -127,6 +140,12 @@ let
     cmakeFlags = [ "-DDFHACK_BUILD_ARCH=${arch}" "-DDOWNLOAD_RUBY=OFF" ]
               ++ lib.optionals enableStoneSense [ "-DBUILD_STONESENSE=ON" "-DSTONESENSE_INTERNAL_SO=OFF" ];
 
+    # dfhack expects an unversioned libruby.so to be present in the hack
+    # subdirectory for ruby plugins to function.
+    postInstall = ''
+      ln -s ${ruby}/lib/libruby-*.so $out/hack/libruby.so
+    '';
+
     enableParallelBuilding = true;
   };
 in
diff --git a/pkgs/games/dwarf-fortress/twbt/default.nix b/pkgs/games/dwarf-fortress/twbt/default.nix
index b5bff0e9b7a..a0990e04f93 100644
--- a/pkgs/games/dwarf-fortress/twbt/default.nix
+++ b/pkgs/games/dwarf-fortress/twbt/default.nix
@@ -42,9 +42,10 @@ let
       prerelease = false;
     };
     "0.47.04" = {
-      twbtRelease = "6.61";
-      sha256 = "07bqy9rkd64h033sxdpigp5zq4xrr0xd36wdr1b21g649mv8j6yw";
-      prerelease = false;
+      twbtRelease = "6.xx";
+      dfhackRelease = "0.47.04-r2";
+      sha256 = "092dgp8fh1j4nqr9wbzn89ib1nhscclr8m91lfxsvg0mgn7j8xlv";
+      prerelease = true;
     };
   };
 
@@ -58,7 +59,11 @@ stdenvNoCC.mkDerivation rec {
   version = release.twbtRelease;
 
   src = fetchurl {
-    url = "https://github.com/mifki/df-twbt/releases/download/v${version}/twbt-${version}-linux.zip";
+    url =
+      if version == "6.xx" then
+        "https://github.com/thurin/df-twbt/releases/download/${release.dfhackRelease}/twbt-${version}-linux64-${release.dfhackRelease}.zip"
+      else
+        "https://github.com/mifki/df-twbt/releases/download/v${version}/twbt-${version}-linux.zip";
     sha256 = release.sha256;
   };
 
diff --git a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
index 054935af012..b041067d89e 100644
--- a/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
+++ b/pkgs/games/dwarf-fortress/wrapper/dwarf-fortress-init.in
@@ -1,6 +1,6 @@
 shopt -s extglob
 
-[ -z "$DF_DIR" ] && DF_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/df_linux"
+[ -z "$DF_DIR" ] && export DF_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/df_linux"
 env_dir="@env@"
 exe="$env_dir/@exe@"
 
diff --git a/pkgs/games/hyperrogue/default.nix b/pkgs/games/hyperrogue/default.nix
index 1ef0fd147d8..32882f16894 100644
--- a/pkgs/games/hyperrogue/default.nix
+++ b/pkgs/games/hyperrogue/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hyperrogue";
-  version = "11.3l";
+  version = "11.3o";
 
   src = fetchFromGitHub {
     owner = "zenorogue";
     repo = "hyperrogue";
     rev = "v${version}";
-    sha256 = "0fniyaf9mgg99s03wbdc36zg909kshpdfk9pn8pkai0x99lghkwb";
+    sha256 = "0bijgbqpc867pq8lbwwvcnc713gm51mmz625xb5br0q2qw09nkyh";
   };
 
   CPPFLAGS = "-I${SDL.dev}/include/SDL";
diff --git a/pkgs/games/legendary-gl/default.nix b/pkgs/games/legendary-gl/default.nix
new file mode 100644
index 00000000000..114aa6ab12a
--- /dev/null
+++ b/pkgs/games/legendary-gl/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, fetchFromGitHub
+, buildPythonApplication
+, pythonOlder
+, requests
+}:
+
+buildPythonApplication rec {
+  pname = "legendary-gl"; # Name in pypi
+  version = "0.0.14";
+
+  src = fetchFromGitHub {
+    owner = "derrod";
+    repo = "legendary";
+    rev = version;
+    sha256 = "05r88qi8mmbj07wxcpb3fhbl40qscbq1aqb0mnj9bpmi9gf5zll5";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  disabled = pythonOlder "3.8";
+
+  meta = with lib; {
+    description = "A free and open-source Epic Games Launcher alternative";
+    homepage = "https://github.com/derrod/legendary";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ wchresta ];
+  };
+}
+
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
index 5ba4b4de2f6..3c2ab9b3fcd 100644
--- a/pkgs/games/minecraft-server/default.nix
+++ b/pkgs/games/minecraft-server/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, jre_headless }:
 stdenv.mkDerivation {
   pname = "minecraft-server";
-  version = "1.16.1";
+  version = "1.16.2";
 
   src = fetchurl {
-    url = "https://launcher.mojang.com/v1/objects/a412fd69db1f81db3f511c1463fd304675244077/server.jar";
+    url = "https://launcher.mojang.com/v1/objects/c5f6fb23c3876461d46ec380421e42b289789530/server.jar";
     # sha1 because that comes from mojang via api
-    sha1 = "a412fd69db1f81db3f511c1463fd304675244077";
+    sha1 = "c5f6fb23c3876461d46ec380421e42b289789530";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/games/sm64ex/default.nix b/pkgs/games/sm64ex/default.nix
new file mode 100644
index 00000000000..e5aeb84fbf1
--- /dev/null
+++ b/pkgs/games/sm64ex/default.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchFromGitHub
+, python3
+, pkg-config
+, audiofile
+, SDL2
+, hexdump
+, requireFile
+, compileFlags ? [ ]
+, region ? "us"
+, baseRom ? requireFile {
+    name = "baserom.${region}.z64";
+    message = ''
+      This nix expression requires that baserom.${region}.z64 is
+      already part of the store. To get this file you can dump your Super Mario 64 cartridge's contents
+      and add it to the nix store with nix-store --add-fixed sha256 <FILE>.
+      Note that if you are not using a US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
+    '';
+    sha256 = {
+      "us" = "17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91";
+      "eu" = "c792e5ebcba34c8d98c0c44cf29747c8ee67e7b907fcc77887f9ff2523f80572";
+      "jp" = "9cf7a80db321b07a8d461fe536c02c87b7412433953891cdec9191bfad2db317";
+    }.${region};
+  }
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sm64ex";
+  version = "unstable-2020-06-19";
+
+  src = fetchFromGitHub {
+    owner = "sm64pc";
+    repo = "sm64ex";
+    rev = "f5005418348cf1a53bfa75ff415a513ef0b9b273";
+    sha256 = "0adyshkqk5c4lxhdxc3j6ax4svfka26486qpa5q2gl2nixwg9zxn";
+  };
+
+  nativeBuildInputs = [ python3 pkg-config ];
+  buildInputs = [ audiofile SDL2 hexdump ];
+
+  makeFlags = [ "VERSION=${region}" ] ++ compileFlags
+    ++ stdenv.lib.optionals stdenv.isDarwin [ "OSX_BUILD=1" ];
+
+  inherit baseRom;
+
+  preBuild = ''
+    patchShebangs extract_assets.py
+    cp $baseRom ./baserom.${region}.z64
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp build/${region}_pc/sm64.${region}.f3dex2e $out/bin/sm64ex
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/sm64pc/sm64ex";
+    description = "Super Mario 64 port based off of decompilation";
+    longDescription = ''
+      Super Mario 64 port based off of decompilation.
+      Note that you must supply a baserom yourself to extract assets from.
+      If you are not using an US baserom, you must overwrite the "region" attribute with either "eu" or "jp".
+      If you would like to use patches sm64ex distributes as makeflags, add them to the "compileFlags" attribute.
+    '';
+    license = licenses.unfree;
+    maintainers = with maintainers; [ ivar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/misc/screensavers/pipes/default.nix b/pkgs/misc/screensavers/pipes/default.nix
index 211b7614f3b..94d6299d383 100644
--- a/pkgs/misc/screensavers/pipes/default.nix
+++ b/pkgs/misc/screensavers/pipes/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgs }:
+{ stdenv, fetchurl, makeWrapper, coreutils, ncurses }:
 
 stdenv.mkDerivation rec {
   pname = "pipes";
@@ -9,11 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "09m4alb3clp3rhnqga5v6070p7n1gmnwp2ssqhq87nf2ipfpcaak";
   };
 
-  buildInputs = with pkgs; [ bash ];
+  buildInputs = [ makeWrapper ];
 
   installPhase = ''
     mkdir $out -p
     make PREFIX=$out/ install
+
+    wrapProgram $out/bin/pipes.sh \
+      --set PATH "${stdenv.lib.makeBinPath [ coreutils ncurses ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/iputils/default.nix b/pkgs/os-specific/linux/iputils/default.nix
index 12784638348..e12c44888a0 100644
--- a/pkgs/os-specific/linux/iputils/default.nix
+++ b/pkgs/os-specific/linux/iputils/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchFromGitHub, fetchpatch
+{ stdenv, fetchFromGitHub
 , meson, ninja, pkgconfig, gettext, libxslt, docbook_xsl_ns
-, libcap, nettle, libidn2, systemd
+, libcap, systemd, libidn2
 }:
 
 with stdenv.lib;
 
 let
-  version = "20190709";
+  version = "20200821";
   sunAsIsLicense = {
     fullName = "AS-IS, SUN MICROSYSTEMS license";
     url = "https://github.com/iputils/iputils/blob/s${version}/rdisc.c";
@@ -19,26 +19,27 @@ in stdenv.mkDerivation rec {
     owner = pname;
     repo = pname;
     rev = "s${version}";
-    sha256 = "04bp4af15adp79ipxmiakfp0ij6hx5qam266flzbr94pr8z8l693";
+    sha256 = "1jhbcz75a4ij1myyyi110ma1d8d5hpm3scz9pyw7js6qym50xvh4";
   };
 
-  mesonFlags =
-    [ "-DUSE_CRYPTO=nettle"
-      "-DBUILD_RARPD=true"
-      "-DBUILD_TRACEROUTE6=true"
-      "-DNO_SETCAP_OR_SUID=true"
-      "-Dsystemdunitdir=etc/systemd/system"
-    ]
+  mesonFlags = [
+    "-DBUILD_RARPD=true"
+    "-DBUILD_TRACEROUTE6=true"
+    "-DBUILD_TFTPD=true"
+    "-DNO_SETCAP_OR_SUID=true"
+    "-Dsystemdunitdir=etc/systemd/system"
+  ]
     # Disable idn usage w/musl (https://github.com/iputils/iputils/pull/111):
     ++ optional stdenv.hostPlatform.isMusl "-DUSE_IDN=false";
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext libxslt.bin docbook_xsl_ns ];
-  buildInputs = [ libcap nettle systemd ]
+  buildInputs = [ libcap systemd ]
     ++ optional (!stdenv.hostPlatform.isMusl) libidn2;
 
   meta = {
-    homepage = "https://github.com/iputils/iputils";
     description = "A set of small useful utilities for Linux networking";
+    inherit (src.meta) homepage;
+    changelog = "https://github.com/iputils/iputils/releases/tag/s${version}";
     license = with licenses; [ gpl2Plus bsd3 sunAsIsLicense ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos lheckemann ];
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 12e55cab2bc..4807ff7dba4 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.193";
+  version = "4.14.194";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "00wziff12xphafyspb02rnjim5a15zywnhdk70ks9q9h8hfv83qb";
+    sha256 = "1q7ssi2790bqjn8s8ra5ihma70hmxykahink7iq5h78738id191y";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 6b9629edca7..e0c9c69061a 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.19.140";
+  version = "4.19.141";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1a4fy48jb16qdx165n48qch6nikfvmxqwys7mw8fynq0pykzj3ya";
+    sha256 = "0511vb9rfpy5l6cz69v0v97rw2rk2pscc4hkz2pfmgikagm1shm4";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index ba03af8696a..033599900ff 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.232";
+  version = "4.4.233";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0d7x30sy9c27n9bqf5f5mf64c6j5iljnw1gm7g8z00xgvrjqibjf";
+    sha256 = "1z77dikgkvkp9ggwxp07hl8vxsf9kq57rhfdpbvhny1x13fqkrlp";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 38353cc3323..c1da330e4ae 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.232";
+  version = "4.9.233";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0q2gpkazfw93r79aq21kv1y3hwxawl0swyvd3nd73p254gl75x2q";
+    sha256 = "19dcwylhy5iqq3dmppqf7s9wy9d16m103djn1n183c9acnqclv9a";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index d1fe6b47890..1c903902b61 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.4.59";
+  version = "5.4.60";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1zdjqkm6sniy718dgqzbc1w1sgwpy2x64n1p91cjwps3wjr9vjwv";
+    sha256 = "08x2a78n23371k7l5p677mihnl58dpjh7r7bvyiwj3y4hlisplmd";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.7.nix b/pkgs/os-specific/linux/kernel/linux-5.7.nix
index 927940df9a0..8583b3b1628 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.7.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.7.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "5.7.16";
+  version = "5.7.17";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0lypik2wvkl3z60zi1x4dxrh646jn0c4x0cg5z9yp33504q4x1ip";
+    sha256 = "09ajavdyvr0025rwvwfp9yv2z8q779nan1i6dck2kkdxr48kd36c";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/rtl8821cu/default.nix b/pkgs/os-specific/linux/rtl8821cu/default.nix
new file mode 100644
index 00000000000..62ea8aaaab5
--- /dev/null
+++ b/pkgs/os-specific/linux/rtl8821cu/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub, kernel, bc }:
+stdenv.mkDerivation rec {
+  name = "rtl8821cu-${kernel.version}-${version}";
+  version = "unstable-2020-05-16";
+
+  src = fetchFromGitHub {
+    owner = "brektrou";
+    repo = "rtl8821cu";
+    rev = "5c510c9f14352fed4906a10921040b9e46b58346";
+    sha256 = "1n74h1m3l2dj35caswaghzcjwcv5qlv3gj6j1rqdddbyg5khl4ag";
+  };
+
+  hardeningDisable = [ "pic" ];
+
+  nativeBuildInputs = [ bc ];
+  buildInputs = kernel.moduleBuildDependencies;
+
+  prePatch = ''
+    substituteInPlace ./Makefile \
+      --replace /lib/modules/ "${kernel.dev}/lib/modules/" \
+      --replace '$(shell uname -r)' "${kernel.modDirVersion}" \
+      --replace /sbin/depmod \# \
+      --replace '$(MODDESTDIR)' "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+  '';
+
+  preInstall = ''
+    mkdir -p "$out/lib/modules/${kernel.modDirVersion}/kernel/net/wireless/"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Realtek rtl8821cu driver";
+    homepage = "https://github.com/brektrou/rtl8821CU";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.contrun ];
+  };
+}
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index 9c80b7e7db3..84c92619f73 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -43,11 +43,11 @@ assert withRest -> curl != null && withJson;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   pname = "freeradius";
-  version = "3.0.20";
+  version = "3.0.21";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "0zrnlpril8lcnyd6zz0wy45wj5i2k2krcf42dwa0rldjsjh6nazp";
+    sha256 = "1bij07angf6ll6bq8lccd4fx1a1clf7k13kh5vbryh6lf7a19y9b";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 4290599cbf8..922755db1fb 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "0.114.2";
+  version = "0.114.3";
   components = {
     "abode" = ps: with ps; [ ]; # missing inputs: abodepy
     "accuweather" = ps: with ps; [ ]; # missing inputs: accuweather
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index f0a664dd635..4fe1e79105e 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -72,7 +72,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.114.2";
+  hassVersion = "0.114.3";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -91,7 +91,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    sha256 = "0llyf3icdgb9mh7x02309m35hxhinzsbd6i31mmb9fjfzp0d27q9";
+    sha256 = "1fn93vac9vi1wcbq8z9pc2cdvfdkkxpam2qhv5ni14wrmnjc4305";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/meguca/default.nix b/pkgs/servers/meguca/default.nix
deleted file mode 100644
index d3853fc9de1..00000000000
--- a/pkgs/servers/meguca/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, pkgconfig, cmake, ffmpeg-full
-, ghostscript, graphicsmagick, quicktemplate, go-bindata, easyjson
-, nodePackages, emscripten, opencv, statik }:
-
-buildGoPackage {
-  pname = "meguca-unstable";
-  version = "2019-03-12";
-  goPackagePath = "github.com/bakape/meguca";
-  goDeps = ./server_deps.nix;
-
-  src = fetchFromGitHub {
-    owner = "bakape";
-    repo = "meguca";
-    rev = "21b08de09b38918061c5cd0bbd0dc9bcc1280525";
-    sha256 = "1nb3bf1bscbdma83sp9fbgvmxxlxh21j9h80wakfn85sndcrws5i";
-    fetchSubmodules = true;
-  };
-
-  nativeBuildInputs = [ pkgconfig cmake go-bindata ];
-
-  buildInputs = [
-    ffmpeg-full graphicsmagick ghostscript quicktemplate
-    easyjson emscripten opencv statik
-  ];
-
-  buildPhase = ''
-    export HOME=`pwd`
-    cd go/src/github.com/bakape/meguca
-    ln -sf ${nodePackages.meguca}/lib/node_modules/meguca/node_modules
-    sed -i "/npm install --progress false --depth 0/d" Makefile
-    make -j $NIX_BUILD_CORES generate all
-  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
-    make -j $NIX_BUILD_CORES wasm
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin $out/share/meguca
-    cp meguca $out/bin
-    cp -r www $out/share/meguca
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = "https://github.com/bakape/meguca";
-    description = "High performance anonymous realtime imageboard";
-    license = licenses.agpl3Plus;
-    maintainers = with maintainers; [ chiiruno ];
-    broken = true; # Broken on Hydra since 2019-04-18:
-    # https://hydra.nixos.org/build/98885902
-  };
-}
diff --git a/pkgs/servers/meguca/server_deps.nix b/pkgs/servers/meguca/server_deps.nix
deleted file mode 100644
index bff9d5624e8..00000000000
--- a/pkgs/servers/meguca/server_deps.nix
+++ /dev/null
@@ -1,390 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/ErikDubbelboer/gspt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ErikDubbelboer/gspt";
-      rev = "e68493906b8382891943ddc9960cb9c6ecd1a1f0";
-      sha256 = "17xjyg6zw02yzly30hs92pwgn0w85naixr4kb2c0mgp5zavl1ffz";
-    };
-  }
-  {
-    goPackagePath = "github.com/Masterminds/squirrel";
-    fetch = {
-      type = "git";
-      url = "https://github.com/Masterminds/squirrel";
-      rev = "d67d6a236213ef67cff454e09ea1bf742d943f6c";
-      sha256 = "0gzvnws0a29c663hjk379bybvxfmkiic3spkc985hdvn5gkbrwkq";
-    };
-  }
-  {
-    goPackagePath = "github.com/PuerkitoBio/goquery";
-    fetch = {
-      type = "git";
-      url = "https://github.com/PuerkitoBio/goquery";
-      rev = "3dcf72e6c17f694381a21592651ca1464ded0e10";
-      sha256 = "0fpsf6b54z33a7zl28x860jbaj3g5722g8kpqs6rdpaqv99yyvnn";
-    };
-  }
-  {
-    goPackagePath = "github.com/andybalholm/cascadia";
-    fetch = {
-      type = "git";
-      url = "https://github.com/andybalholm/cascadia";
-      rev = "680b6a57bda4f657485ad44bdea42342ead737bc";
-      sha256 = "0v95plagirbjlc4p00y9brhpvv4nm8q0gr63gcfs3shyh1a8xwbm";
-    };
-  }
-  {
-    goPackagePath = "github.com/aquilax/tripcode";
-    fetch = {
-      type = "git";
-      url = "https://github.com/aquilax/tripcode";
-      rev = "1a14b0a5e89f7fdb8a821562569338ad59ab2da5";
-      sha256 = "1ishrg37gkkx04gbchhsk7jp01mmfvln2i2zrncbj4qxs2amnn2l";
-    };
-  }
-  {
-    goPackagePath = "github.com/badoux/goscraper";
-    fetch = {
-      type = "git";
-      url = "https://github.com/badoux/goscraper";
-      rev = "9b4686c4b62c22b0489d53dddf5421605caba33e";
-      sha256 = "1f1wc4s2b6g1ndpihb0gn7cxmwyi4wfqi5slvsk6i6p9q4kxrkvx";
-    };
-  }
-  {
-    goPackagePath = "github.com/bakape/boorufetch";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bakape/boorufetch";
-      rev = "90aee10269a138a08ce49cd91635500336657a82";
-      sha256 = "0zaa2b3bl2hnl4lipghl6mbvpv9sq9r7skykp26c29qy77xy99nk";
-    };
-  }
-  {
-    goPackagePath = "github.com/bakape/captchouli";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bakape/captchouli";
-      rev = "b57177c8d2f239547e9545354e2f55fbc851ab47";
-      sha256 = "1fi24322bbicc2bpfla37nhy2w89cf67345dbybcavgcny5rs65a";
-    };
-  }
-  {
-    goPackagePath = "github.com/bakape/mnemonics";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bakape/mnemonics";
-      rev = "056d8d3259923b93bb0449a45b0c56ac20c77f1b";
-      sha256 = "137dl4bkpszj7pm4dyj222xdvy9lmwsgmm0l6bxni0msc3jdrqkl";
-    };
-  }
-  {
-    goPackagePath = "github.com/bakape/thumbnailer";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bakape/thumbnailer";
-      rev = "3d9565548e572a385b5a1ecf3bb9840c9ccd9949";
-      sha256 = "0zriks4j694y65ryf9xkiz0sc932hskjigmk83bj1069hkgzx9dk";
-    };
-  }
-  {
-    goPackagePath = "github.com/boltdb/bolt";
-    fetch = {
-      type = "git";
-      url = "https://github.com/boltdb/bolt";
-      rev = "fd01fc79c553a8e99d512a07e8e0c63d4a3ccfc5";
-      sha256 = "12f5swiwzcamk87r9j73nn7rmyyday7jkgzfh7x5wdg9blzhrir2";
-    };
-  }
-  {
-    goPackagePath = "github.com/chai2010/webp";
-    fetch = {
-      type = "git";
-      url = "https://github.com/chai2010/webp";
-      rev = "76ae9d0b5d6d590fcc9772bf9cf0526128ee6fab";
-      sha256 = "0sanh0c2bvignxnrj9vlzr2sw1bd3cgw2lg0vkn63xxjj3bqmsbh";
-    };
-  }
-  {
-    goPackagePath = "github.com/dimfeld/httptreemux";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dimfeld/httptreemux";
-      rev = "a454a10de4a11f751681a0914461ab9e98c2a3ff";
-      sha256 = "0qx94lij9ldzd1xl36rl8blbgzjz9b4rkpydi44d9lik7qkdi5gp";
-    };
-  }
-  {
-    goPackagePath = "github.com/dsnet/compress";
-    fetch = {
-      type = "git";
-      url = "https://github.com/dsnet/compress";
-      rev = "da652975a8eea9fa0735aba8056747a751db0bd3";
-      sha256 = "1wwjaymzb1xxq3ybch3nwn72xhi2s40cvz0cl986yad3w1xwzj91";
-    };
-  }
-  {
-    goPackagePath = "github.com/fsnotify/fsnotify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fsnotify/fsnotify";
-      rev = "11844c0959f6fff69ba325d097fce35bd85a8e93";
-      sha256 = "0driasljawka9r914530mr9df2i5cwldcgj2v94qkhzlkb48ljwc";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-playground/ansi";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-playground/ansi";
-      rev = "777788a9be1a7296979a999c86b251fc777077a9";
-      sha256 = "1y2pqx04lc7cqg50scfivzw0n8f0dliflnih14f5jf4svff8s561";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-playground/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-playground/errors";
-      rev = "4050dd2e2e3b2052ef736048661d1d23a4a4e55d";
-      sha256 = "0b3bhf2c9fpv095db3ajyb1fz7nxjn7rfg9rjb83hqfm492wjy86";
-    };
-  }
-  {
-    goPackagePath = "github.com/go-playground/log";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-playground/log";
-      rev = "fdcdf507e3bf20900bc1a44b0cbd73fee5bcbe19";
-      sha256 = "0mbzawm09n2kggrkmj0khrhipmdi191z01mw120ahbmmjdjls749";
-    };
-  }
-  {
-    goPackagePath = "github.com/golang/snappy";
-    fetch = {
-      type = "git";
-      url = "https://github.com/golang/snappy";
-      rev = "2a8bb927dd31d8daada140a5d09578521ce5c36a";
-      sha256 = "0gp3kkzlm3wh37kgkhbqxq3zx07iqbgis5w9mf4d64h6vjq760is";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/handlers";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/handlers";
-      rev = "ac6d24f88de4584385a0cb3a88f953d08a2f7a05";
-      sha256 = "166p7yw2sy6lbxgyk722phkskmxzv3v21vf0l145zicrn30m9zli";
-    };
-  }
-  {
-    goPackagePath = "github.com/gorilla/websocket";
-    fetch = {
-      type = "git";
-      url = "https://github.com/gorilla/websocket";
-      rev = "0ec3d1bd7fe50c503d6df98ee649d81f4857c564";
-      sha256 = "0mdq489izwy20bpjg31k8qnfgvh5r7mm5yq709q6xyzmzdd5nasx";
-    };
-  }
-  {
-    goPackagePath = "github.com/julienschmidt/httprouter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/julienschmidt/httprouter";
-      rev = "26a05976f9bf5c3aa992cc20e8588c359418ee58";
-      sha256 = "0bmvrgg373fxwqsr6nri01bmi9qdj6knxkmnbw70h9rmi2d9c585";
-    };
-  }
-  {
-    goPackagePath = "github.com/lann/builder";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lann/builder";
-      rev = "47ae307949d02aa1f1069fdafc00ca08e1dbabac";
-      sha256 = "1kg9jy1rciznj627hafpq2mi7hr5d3ssgqcpwrm3bnlk9sqnydil";
-    };
-  }
-  {
-    goPackagePath = "github.com/lann/ps";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lann/ps";
-      rev = "62de8c46ede02a7675c4c79c84883eb164cb71e3";
-      sha256 = "10yhcyymypvdiiipchsp80jbglk8c4r7lq7h54v9f4mxmvz6xgf7";
-    };
-  }
-  {
-    goPackagePath = "github.com/lib/pq";
-    fetch = {
-      type = "git";
-      url = "https://github.com/lib/pq";
-      rev = "9eb73efc1fcc404148b56765b0d3f61d9a5ef8ee";
-      sha256 = "17wkjdz265iqf92gj3ljslvjcqvkfblw11jdq2scc3kp1hcsfr10";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-sqlite3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-sqlite3";
-      rev = "ad30583d8387ce8118f8605eaeb3b4f7b4ae0ee1";
-      sha256 = "024h09n4g41x4awzim5l0vxpj1nfwc9isf8bryrdnichpqpa6siz";
-    };
-  }
-  {
-    goPackagePath = "github.com/nwaples/rardecode";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nwaples/rardecode";
-      rev = "197ef08ef68c4454ae5970a9c2692d6056ceb8d7";
-      sha256 = "0vvijw7va283dbdvnf4bgkn7bjngxqzk1rzdpy8sl343r62bmh4g";
-    };
-  }
-  {
-    goPackagePath = "github.com/oschwald/maxminddb-golang";
-    fetch = {
-      type = "git";
-      url = "https://github.com/oschwald/maxminddb-golang";
-      rev = "fc04c43d3c694a35570a7e4358b0f4d4ac3fea32";
-      sha256 = "16bz3g8mkg2xhb4pxcpk6scxrmn48485jgky7wvi4gzpizlhsxxq";
-    };
-  }
-  {
-    goPackagePath = "github.com/otium/ytdl";
-    fetch = {
-      type = "git";
-      url = "https://github.com/otium/ytdl";
-      rev = "5c8ee71b4175be285baaff66147458254884f748";
-      sha256 = "1w22cfc6nr7z5fc3hmcymmx2xfcb66ylhfs89vn4i19ksxbkkcjk";
-    };
-  }
-  {
-    goPackagePath = "github.com/pierrec/lz4";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pierrec/lz4";
-      rev = "062282ea0dcff40c9fb8525789eef9644b1fbd6e";
-      sha256 = "04lzigxv2f4yv9gr1dybsjkcnmv1lj0mx9ls2ry1pzy2l9z6i6cp";
-    };
-  }
-  {
-    goPackagePath = "github.com/rakyll/statik";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rakyll/statik";
-      rev = "79258177a57a85a8ab2eca7ce0936aad80307f4e";
-      sha256 = "14wqh38a7dhm2jgr1lsl2wdvjmkgdapzl2z4a1vl7ncv3x43gkg5";
-    };
-  }
-  {
-    goPackagePath = "github.com/sevlyar/go-daemon";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sevlyar/go-daemon";
-      rev = "fedf95d0cd0be92511436dbc84c290ff1c104f61";
-      sha256 = "1ffjgx75wvpharzq60aqbpl78z1jwx13b21ifcadm1f976vdjq1q";
-    };
-  }
-  {
-    goPackagePath = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev = "dae0fa8d5b0c810a8ab733fbd5510c7cae84eca4";
-      sha256 = "1y1qjcg19z7q9sy32rhc148kdql2aw7xkcm9d6r1blrl0mdgpx0w";
-    };
-  }
-  {
-    goPackagePath = "github.com/ulikunitz/xz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/ulikunitz/xz";
-      rev = "6f934d456d51e742b4eeab20d925a827ef22320a";
-      sha256 = "1qpk02c0nfgfyg110nmbaiy5x12fpn0pm8gy7h1s8pwns133n831";
-    };
-  }
-  {
-    goPackagePath = "github.com/valyala/bytebufferpool";
-    fetch = {
-      type = "git";
-      url = "https://github.com/valyala/bytebufferpool";
-      rev = "cdfbe9377474227bb42120c1e22fd4433e7f69bf";
-      sha256 = "0c6cixd85dvl2gvs7sdh0k2wm8r3grl4fw0jg4w7d78cp8s2k7ag";
-    };
-  }
-  {
-    goPackagePath = "github.com/valyala/quicktemplate";
-    fetch = {
-      type = "git";
-      url = "https://github.com/valyala/quicktemplate";
-      rev = "d08324ac14fa81325830fae7eb30188ec68427f8";
-      sha256 = "0gpc1kcqvcn1f9mz2dww8bhrspnsk2fgxzvx398vy7a0xhxq8vhx";
-    };
-  }
-  {
-    goPackagePath = "gitlab.com/nyarla/go-crypt";
-    fetch = {
-      type = "git";
-      url = "https://gitlab.com/nyarla/go-crypt.git";
-      rev = "d9a5dc2b789bc330075d4b805d9b7c971f2865a1";
-      sha256 = "0249hbwvhy0xywi9b5k8964km27pvfkr3jvliy3azri6vnyvkkx1";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev = "c2843e01d9a2bc60bb26ad24e09734fdc2d9ec58";
-      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev = "d8887717615a059821345a5c23649351b52a1c0b";
-      sha256 = "1wfm6ngxjyj7v5a2dqib6lw8bb2rdnf1kl48diykxjrsddn0s163";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev = "fead79001313d15903fb4605b4a1b781532cd93e";
-      sha256 = "12vwl6sv6w7q0dyvynjhbp67242rhh77d6nlsb22ajr8rf17c63i";
-    };
-  }
-  {
-    goPackagePath = "golang.org/x/text";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/text";
-      rev = "5d731a35f4867878fc89f7744f7b6debb3beded6";
-      sha256 = "1ipmjki0i0dvpal1g0vgr8qc77kkvw3ka6yxlm0qzjk9j3579bsq";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/gomail.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/gomail.v2";
-      rev = "81ebce5c23dfd25c6c67194b37d3dd3f338c98b1";
-      sha256 = "0zdykrv5s19lnq0g49p6njldy4cpk4g161vyjafiw7f84h8r28mc";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/mholt/archiver.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/mholt/archiver.v2";
-      rev = "de0d89e255e17c8d75a40122055763e743ab0593";
-      sha256 = "02fsc0za0yi3dg0r5caa8vpxz6kqxjxxlmwzzj5899dlmdvqk57g";
-    };
-  }
-]
diff --git a/pkgs/servers/monitoring/loki/default.nix b/pkgs/servers/monitoring/loki/default.nix
index 668695aa8df..e6ecf5681f5 100644
--- a/pkgs/servers/monitoring/loki/default.nix
+++ b/pkgs/servers/monitoring/loki/default.nix
@@ -1,7 +1,7 @@
 { stdenv, buildGoPackage, fetchFromGitHub, makeWrapper, systemd }:
 
 buildGoPackage rec {
-  version = "1.5.0";
+  version = "1.6.0";
   pname = "grafana-loki";
   goPackagePath = "github.com/grafana/loki";
 
@@ -11,7 +11,7 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "loki";
-    sha256 = "137lnd69p8qfg2z8l32dr1mrk2lhrxjx392xfij11sy5i9blfc3n";
+    sha256 = "0i1m9aaqbq5p99fysrnhl1vxj97cq59gbdkcwkq4hkylqxlaxkyk";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 0b17f7801b6..7e729cd366f 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -1,13 +1,13 @@
-{ lib, go, buildGoPackage, fetchFromGitHub, mkYarnPackage }:
+{ lib, go, buildGoPackage, fetchFromGitHub, mkYarnPackage, nixosTests }:
 
 let
-  version = "2.19.3";
+  version = "2.20.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
     repo = "prometheus";
-    sha256 = "0dlvhbxahdq0x0qa0gv1rc4y5dp6lx44w280rbm9279nv1nplffh";
+    sha256 = "0svhx08pbz55nhn6g9pn79zbhyvr394k5w3ny1mq3wp382h62r5j";
   };
 
   webui = mkYarnPackage {
@@ -61,6 +61,8 @@ in buildGoPackage rec {
 
   doCheck = true;
 
+  passthru.tests = { inherit (nixosTests) prometheus; };
+
   meta = with lib; {
     description = "Service monitoring system and time series database";
     homepage = "https://prometheus.io";
diff --git a/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix b/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
index 7e9843dc98b..8b7d346e560 100644
--- a/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
+++ b/pkgs/servers/monitoring/prometheus/webui-yarndeps.nix
@@ -4122,11 +4122,11 @@
       };
     }
     {
-      name = "elliptic___elliptic_6.5.2.tgz";
+      name = "elliptic___elliptic_6.5.3.tgz";
       path = fetchurl {
-        name = "elliptic___elliptic_6.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz";
-        sha1 = "05c5678d7173c049d8ca433552224a495d0e3762";
+        name = "elliptic___elliptic_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz";
+        sha1 = "cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6";
       };
     }
     {
@@ -11698,11 +11698,11 @@
       };
     }
     {
-      name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
+      name = "websocket_extensions___websocket_extensions_0.1.4.tgz";
       path = fetchurl {
-        name = "websocket_extensions___websocket_extensions_0.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
-        sha1 = "5d2ff22977003ec687a4b87073dfbbac146ccf29";
+        name = "websocket_extensions___websocket_extensions_0.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz";
+        sha1 = "7f8473bc839dfd87608adb95d7eb075211578a42";
       };
     }
     {
diff --git a/pkgs/servers/monitoring/zabbix/server.nix b/pkgs/servers/monitoring/zabbix/server.nix
index fdf3fd476df..9d0e1c199d3 100644
--- a/pkgs/servers/monitoring/zabbix/server.nix
+++ b/pkgs/servers/monitoring/zabbix/server.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, curl, libevent, libiconv, libxml2, openssl, pcre, zlib
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, curl, libevent, libiconv, libxml2, openssl, pcre, zlib
 , jabberSupport ? true, iksemel
 , ldapSupport ? true, openldap
 , odbcSupport ? true, unixODBC
@@ -25,7 +25,7 @@ in
         inherit sha256;
       };
 
-      nativeBuildInputs = [ pkgconfig ];
+      nativeBuildInputs = [ autoreconfHook pkgconfig ];
       buildInputs = [
         curl
         libevent
@@ -65,6 +65,13 @@ in
         find database -name data.sql -exec sed -i 's|/usr/bin/||g' {} +
       '';
 
+      preAutoreconf = ''
+        for i in $(find . -type f -name "*.m4"); do
+          substituteInPlace $i \
+            --replace 'test -x "$PKG_CONFIG"' 'type -P "$PKG_CONFIG" >/dev/null'
+        done
+      '';
+
       postInstall = ''
         mkdir -p $out/share/zabbix/database/
         cp -r include $out/
diff --git a/pkgs/servers/monitoring/zabbix/versions.nix b/pkgs/servers/monitoring/zabbix/versions.nix
index c75df46cf04..f867c819d07 100644
--- a/pkgs/servers/monitoring/zabbix/versions.nix
+++ b/pkgs/servers/monitoring/zabbix/versions.nix
@@ -1,7 +1,7 @@
 generic: {
-  v44 = generic {
-    version = "4.4.8";
-    sha256 = "0l9n4l5179lf90krv1kb0lraipj7q4hyba6r48n6rj2zqx2j4mn0";
+  v50 = generic {
+    version = "5.0.2";
+    sha256 = "1cnns7ixqi7ank3cbvcs7d8rb5zh9qiqbmgivazr83jnz81qg46w";
   };
 
   v40 = generic {
diff --git a/pkgs/servers/monitoring/zabbix/web.nix b/pkgs/servers/monitoring/zabbix/web.nix
index a75deff3db2..f677fe5c0af 100644
--- a/pkgs/servers/monitoring/zabbix/web.nix
+++ b/pkgs/servers/monitoring/zabbix/web.nix
@@ -18,7 +18,7 @@ import ./versions.nix ({ version, sha256 }:
 
     installPhase = ''
       mkdir -p $out/share/zabbix/
-      cp -a frontends/php/. $out/share/zabbix/
+      cp -a ${if stdenv.lib.versionAtLeast version "5.0.0" then "ui/." else "frontends/php/."} $out/share/zabbix/
       cp ${phpConfig} $out/share/zabbix/conf/zabbix.conf.php
     '';
 
diff --git a/pkgs/servers/nosql/rethinkdb/default.nix b/pkgs/servers/nosql/rethinkdb/default.nix
index 46a23ed2529..40ffddd4f10 100644
--- a/pkgs/servers/nosql/rethinkdb/default.nix
+++ b/pkgs/servers/nosql/rethinkdb/default.nix
@@ -5,20 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rethinkdb";
-  version = "2.3.6";
+  version = "2.4.1";
 
   src = fetchurl {
-    url = "https://download.rethinkdb.com/dist/${pname}-${version}.tgz";
-    sha256 = "0a6wlgqa2flf87jrp4fq4y9aihwyhgwclmss56z03b8hd5k5j8f4";
+    url = "https://download.rethinkdb.com/repository/raw/dist/${pname}-${version}.tgz";
+    sha256 = "5f1786c94797a0f8973597796e22545849dc214805cf1962ef76969e0b7d495b";
   };
 
-  patches = [
-    (fetchurl {
-        url = "https://github.com/rethinkdb/rethinkdb/commit/871bd3705a1f29c4ab07a096d562a4b06231a97c.patch";
-        sha256 = "05nagixlwnq3x7441fhll5vs70pxppbsciw8qjqp660bdb5m4jm1";
-    })
-  ];
-
   postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' external/v8_3.30.33.16/build/gyp/pylib/gyp/xcode_emulation.py
 
@@ -36,6 +29,8 @@ stdenv.mkDerivation rec {
     "--lib-path=${jemalloc}/lib"
   ];
 
+  makeFlags = [ "rethinkdb" ];
+
   buildInputs = [ protobuf boost zlib curl openssl icu makeWrapper ]
     ++ stdenv.lib.optional (!stdenv.isDarwin) jemalloc
     ++ stdenv.lib.optional stdenv.isDarwin libtool;
@@ -58,9 +53,8 @@ stdenv.mkDerivation rec {
       joins and group by, and is easy to setup and learn.
     '';
     homepage    = "http://www.rethinkdb.com";
-    license     = stdenv.lib.licenses.agpl3;
+    license     = stdenv.lib.licenses.asl20;
     platforms   = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice bluescreen303 ];
-    broken = true;  # broken with openssl 1.1
   };
 }
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 54d327d5fc4..f6b0574fa5c 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -1,17 +1,33 @@
-{stdenv, fetchFromGitHub, python2, par2cmdline, unzip, unrar, p7zip, makeWrapper}:
+{ stdenv
+, fetchFromGitHub
+, python3
+, par2cmdline
+, unzip
+, unrar
+, p7zip
+, makeWrapper
+}:
 
 let
-  pythonEnv = python2.withPackages(ps: with ps; [ cryptography cheetah yenc sabyenc ]);
+  pythonEnv = python3.withPackages(ps: with ps; [
+    chardet
+    cheetah3
+    cherrypy
+    cryptography
+    configobj
+    feedparser
+    sabyenc3
+  ]);
   path = stdenv.lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
-  version = "2.3.9";
+  version = "3.0.1";
   pname = "sabnzbd";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "06ln00rqz4xpsqhq0f495893xq1w5dfjawb8dgfyjjfds8627p16";
+    sha256 = "1zp8cxz56qmai1z6xcscnq85gxhv64dv1s5zqsqdn0zpbxyqqdlr";
   };
 
   buildInputs = [ pythonEnv makeWrapper ];
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
index e67b7244a32..b04675d64f4 100644
--- a/pkgs/servers/sickbeard/sickgear.nix
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -4,13 +4,13 @@ let
   pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
 in stdenv.mkDerivation rec {
   pname = "sickgear";
-  version = "0.21.33";
+  version = "0.21.36";
 
   src = fetchFromGitHub {
     owner = "SickGear";
     repo = "SickGear";
     rev = "release_${version}";
-    sha256 = "0ilgjm21psfb0ix32qm560976wn84qg0y5cg7506ybwsynlmway2";
+    sha256 = "0kssz44agvb5zxjq2i566f4xk9924372hjpj0czjckrrjvzjqvci";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 29975ef5ba8..61f07f01bf2 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -49,7 +49,7 @@ in {
   };
 
   unifiStable = generic {
-    version = "5.13.32";
-    sha256 = "0r1lz73hn4pl5jygmmfngr8sr0iybirsqlkcdkq31a36vcr567i8";
+    version = "5.14.22";
+    sha256 = "115i0gjk7higy07j3d95r21kcgmm6kb9jsvcsycdinrcn7kz2x6r";
   };
 }
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 6fe433daf8b..7f46e017c36 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -90,9 +90,12 @@ in buildPythonApplication rec {
     "--with-vsock"
   ];
 
+  dontWrapGApps = true;
   preFixup = ''
-    gappsWrapperArgs+=(
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
       --set XPRA_INSTALL_PREFIX "$out"
+      --set XPRA_COMMAND "$out/bin/xpra"
       --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib
       --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudio ]}
     )
diff --git a/pkgs/tools/X11/xpra/libfakeXinerama.nix b/pkgs/tools/X11/xpra/libfakeXinerama.nix
index 712f47fb2c8..e43043d78f2 100644
--- a/pkgs/tools/X11/xpra/libfakeXinerama.nix
+++ b/pkgs/tools/X11/xpra/libfakeXinerama.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation  rec {
 
   buildInputs = [ libX11 libXinerama ];
 
-  phases = [ "unpackPhase" "buildPhase" "installPhase" ];
-
   buildPhase = ''
     gcc -O2 -Wall fakeXinerama.c -fPIC -o libfakeXinerama.so.1.0 -shared
   '';
@@ -20,6 +18,7 @@ stdenv.mkDerivation  rec {
   installPhase = ''
     mkdir -p $out/lib
     cp libfakeXinerama.so.1.0 $out/lib
+    ln -s libfakeXinerama.so.1.0 $out/lib/libXinerama.so.1.0
     ln -s libXinerama.so.1.0 $out/lib/libXinerama.so.1
     ln -s libXinerama.so.1 $out/lib/libXinerama.so
   '';
diff --git a/pkgs/tools/admin/ansible/default.nix b/pkgs/tools/admin/ansible/default.nix
index 4783e98204d..58b2852baca 100644
--- a/pkgs/tools/admin/ansible/default.nix
+++ b/pkgs/tools/admin/ansible/default.nix
@@ -1,27 +1,32 @@
-{ python3Packages, fetchurl }:
+{ python3Packages, fetchurl, fetchFromGitHub }:
 
 rec {
-  ansible = ansible_2_9;
+  ansible = ansible_2_10;
 
-  ansible_2_9 = python3Packages.toPythonApplication python3Packages.ansible;
-
-  ansible_2_8 = python3Packages.toPythonApplication (python3Packages.ansible.overridePythonAttrs (old: rec {
+  # The python module stays at v2.9.x until the related package set has caught up. Therefore v2.10 gets an override
+  # for now.
+  ansible_2_10 = python3Packages.toPythonApplication (python3Packages.ansible.overridePythonAttrs (old: rec {
     pname = "ansible";
-    version = "2.8.14";
+    version = "2.10.0";
 
-    src = fetchurl {
-      url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "19ga0c9qs2b216qjg5k2yknz8ksjn8qskicqspg2d4b8x2nr1294";
+    # TODO: migrate to fetchurl, when release becomes available on releases.ansible.com
+    src = fetchFromGitHub {
+      owner = pname;
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "0k9rs5ajx0chaq0xr1cj4x7fr5n8kd4y856miss6k01iv2m7yx42";
     };
   }));
 
-  ansible_2_7 = python3Packages.toPythonApplication (python3Packages.ansible.overridePythonAttrs (old: rec {
+  ansible_2_9 = python3Packages.toPythonApplication python3Packages.ansible;
+
+  ansible_2_8 = python3Packages.toPythonApplication (python3Packages.ansible.overridePythonAttrs (old: rec {
     pname = "ansible";
-    version = "2.7.18";
+    version = "2.8.14";
 
     src = fetchurl {
       url = "https://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
-      sha256 = "0sgshaaqyjq3i035yi5hivmrrwrq05hxrbjrv1w3hfzmvljn41d1";
+      sha256 = "19ga0c9qs2b216qjg5k2yknz8ksjn8qskicqspg2d4b8x2nr1294";
     };
   }));
 }
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 442df887955..bdde2b8f24c 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.16.0";
+  version = "1.16.1";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "0w0lgc3db9r1knd7hp98ycxfbfxbpfrb0vf4vxcqxlvlkjcrvg1z";
+    sha256 = "0616nvqrcvn2xdmnkr5sjf1r5qg30b24ry87hhiqi4kz9a92qdx5";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 60ba024fd5b..5a51ace3b98 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -21,18 +21,18 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "1b9pm0k298w7scsi493a2xlikiqqbb8vwcy9j71421kyvlj4g7yr";
+      sha256 = "1l2r9pgyzih7xgrr2ygm0mcl97kyp1wfvybwhbn1i0kbb72nagk1";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "1f6kkcwxg419kw58521n4ms68hspx7mj87syj4xzxdwgkwg92ws7";
+      sha256 = "1qbkdfa7dzysp7crv9ph476hbabl3qiszs067f20dadqssqs1v4r";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "301.0.0";
+  version = "306.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
diff --git a/pkgs/tools/archivers/innoextract/default.nix b/pkgs/tools/archivers/innoextract/default.nix
index 5dab1950145..da26639fcb5 100644
--- a/pkgs/tools/archivers/innoextract/default.nix
+++ b/pkgs/tools/archivers/innoextract/default.nix
@@ -3,11 +3,11 @@
 , withGog ? false, unar ? null }:
 
 stdenv.mkDerivation rec {
-  name = "innoextract-1.8";
+  name = "innoextract-1.9";
 
   src = fetchurl {
     url = "https://constexpr.org/innoextract/files/${name}.tar.gz";
-    sha256 = "0saj50n8ds85shygy4mq1h6s99510r9wgjjdll4dmvhra4lzcy2y";
+    sha256 = "09l1z1nbl6ijqqwszdwch9mqr54qb7df0wp2sd77v17dq6gsci33";
   };
 
   buildInputs = [ python lzma boost ];
diff --git a/pkgs/tools/archivers/maxcso/default.nix b/pkgs/tools/archivers/maxcso/default.nix
new file mode 100644
index 00000000000..333b0dcabc3
--- /dev/null
+++ b/pkgs/tools/archivers/maxcso/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, libuv, lz4, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "maxcso";
+  version = "1.12.0";
+
+  src = fetchFromGitHub {
+    owner = "unknownbrackets";
+    repo = "maxcso";
+    rev = "v${version}";
+    sha256 = "10r0vb3ndpq1pw5224d48nim5xz8jj94zhlfy29br6h6jblq8zap";
+  };
+
+  buildInputs = [ libuv lz4 zlib ];
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/unknownbrackets/maxcso";
+    description =
+      "A fast ISO to CSO compression program for use with PSP and PS2 emulators, which uses multiple algorithms for best compression ratio";
+    maintainers = with maintainers; [ david-sawatzke ];
+    platforms = platforms.linux ++ platforms.darwin;
+    license = licenses.isc;
+  };
+}
diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix
new file mode 100644
index 00000000000..4b7692d49d6
--- /dev/null
+++ b/pkgs/tools/bluetooth/blueberry/default.nix
@@ -0,0 +1,96 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, bluez-tools
+, cinnamon
+, gnome3
+, gobject-introspection
+, intltool
+, pavucontrol
+, python3Packages
+, rfkill
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "blueberry";
+  version = "1.3.9";
+
+  src = fetchFromGitHub {
+    owner = "linuxmint";
+    repo = pname;
+    rev = version;
+    sha256 = "0llvz1h2dmvhvwkkvl0q4ggi1nmdbllw34ppnravs5lybqkicyw9";
+  };
+
+  nativeBuildInputs = [
+    gobject-introspection
+    python3Packages.wrapPython
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    bluez-tools
+    cinnamon.xapps
+    gnome3.gnome-bluetooth
+    python3Packages.python
+    rfkill
+  ];
+
+  pythonPath = with python3Packages; [
+    dbus-python
+    pygobject3
+    setproctitle
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -a etc usr/* $out
+
+    # Fix paths
+    substituteInPlace $out/bin/blueberry \
+      --replace /usr/lib/blueberry $out/lib/blueberry
+    substituteInPlace $out/bin/blueberry-tray \
+      --replace /usr/lib/blueberry $out/lib/blueberry
+    substituteInPlace $out/etc/xdg/autostart/blueberry-obex-agent.desktop \
+      --replace /usr/lib/blueberry $out/lib/blueberry
+    substituteInPlace $out/etc/xdg/autostart/blueberry-tray.desktop \
+      --replace Exec=blueberry-tray Exec=$out/bin/blueberry-tray
+    substituteInPlace $out/lib/blueberry/blueberry-obex-agent.py \
+      --replace /usr/share $out/share
+    substituteInPlace $out/lib/blueberry/blueberry-tray.py \
+      --replace /usr/share $out/share
+    substituteInPlace $out/lib/blueberry/blueberry.py \
+      --replace '"bt-adapter"' '"${bluez-tools}/bin/bt-adapter"' \
+      --replace /usr/bin/pavucontrol ${pavucontrol}/bin/pavucontrol \
+      --replace /usr/lib/blueberry $out/lib/blueberry \
+      --replace /usr/share $out/share
+    substituteInPlace $out/lib/blueberry/rfkillMagic.py \
+      --replace /usr/bin/rfkill ${rfkill}/bin/rfkill \
+      --replace /usr/sbin/rfkill ${rfkill}/bin/rfkill \
+      --replace /usr/lib/blueberry $out/lib/blueberry
+    substituteInPlace $out/share/applications/blueberry.desktop \
+      --replace Exec=blueberry Exec=$out/bin/blueberry
+
+    glib-compile-schemas --strict $out/share/glib-2.0/schemas
+
+    runHook postInstall
+  '';
+
+  dontWrapGApps = true;
+
+  postFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+    wrapPythonProgramsIn $out/lib "$out $pythonPath"
+  '';
+
+  meta = with lib; {
+    description = "Bluetooth configuration tool";
+    homepage = "https://github.com/linuxmint/blueberry";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/tools/filesystems/wiimms-iso-tools/default.nix b/pkgs/tools/filesystems/wiimms-iso-tools/default.nix
new file mode 100644
index 00000000000..cb09fdcf131
--- /dev/null
+++ b/pkgs/tools/filesystems/wiimms-iso-tools/default.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, zlib, ncurses, fuse}:
+
+stdenv.mkDerivation rec {
+  name = "wiimms-iso-tools";
+  version = "3.02a";
+
+  src = fetchurl {
+    url = "https://download.wiimm.de/source/wiimms-iso-tools/wiimms-iso-tools.source-${version}.tar.bz2";
+    sha256 = "074cvcaqz23xyihslc6n64wwxwcnl6xp7l0750yb9pc0wrqxmj69";
+  };
+
+  buildInputs = [ zlib ncurses fuse ];
+
+  patches = [ ./fix-paths.diff ];
+  postPatch = ''
+    patchShebangs setup.sh
+    patchShebangs gen-template.sh
+    patchShebangs gen-text-file.sh
+  '';
+
+  NIX_CFLAGS_COMPILE = "-Wno-error=format-security";
+  INSTALL_PATH = "$out";
+
+  installPhase = ''
+    mkdir "$out"
+    patchShebangs install.sh
+    ./install.sh --no-sudo
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://wit.wiimm.de";
+    description = "A set of command line tools to manipulate Wii and GameCube ISO images and WBFS containers";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nilp0inter ];
+  };
+}
diff --git a/pkgs/tools/filesystems/wiimms-iso-tools/fix-paths.diff b/pkgs/tools/filesystems/wiimms-iso-tools/fix-paths.diff
new file mode 100644
index 00000000000..4a545e92a18
--- /dev/null
+++ b/pkgs/tools/filesystems/wiimms-iso-tools/fix-paths.diff
@@ -0,0 +1,12 @@
+diff -r -u wiimms-iso-tools.source-3.02a.patched/setup.sh wiimms-iso-tools.source-3.02a/setup.sh
+--- wiimms-iso-tools.source-3.02a.patched/setup.sh	2020-06-02 23:48:18.651495869 +0200
++++ wiimms-iso-tools.source-3.02a/setup.sh	2020-06-02 23:48:29.758162513 +0200
+@@ -57,7 +57,7 @@
+ 
+ #--------------------------------------------------
+ 
+-INSTALL_PATH=/usr/local
++ INSTALL_PATH="$out"
+ 
+ if [[ -d $INSTALL_PATH/bin ]]
+ then
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index fc1892317fa..ce2a87981e7 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -20,11 +20,11 @@ let
 in
 (if withQt then mkDerivation else stdenv.mkDerivation) rec {
   pname = "gnuplot";
-  version = "5.2.8";
+  version = "5.4.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${pname}-${version}.tar.gz";
-    sha256 = "0dxc52d17mpyb2xm24da1nvhlacryv0irwa0q5l1cjj0rx67d9k0";
+    sha256 = "0iwwliq5a6qcawbpxk4d7l17fpkq9xxcz05kwblx37rr7bq84h7b";
   };
 
   nativeBuildInputs = [ makeWrapper pkgconfig texinfo ] ++ lib.optional withQt qttools;
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
index 2e812d9b7b3..69ff9c1fe53 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
@@ -1,5 +1,5 @@
 { clangStdenv, fetchFromGitHub, fetchurl, fetchpatch, gyp, which, ninja,
-  python, pkgconfig, protobuf, gtk2, zinnia, qt5, libxcb,
+  python, pkgconfig, protobuf, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese,
   fcitx, gettext }:
 let
   japanese_usage_dictionary = fetchFromGitHub {
@@ -23,7 +23,7 @@ in clangStdenv.mkDerivation rec {
     sha256 = "0w2dy2j9x5nc7x3g95j17r3m60vbfyn5j617h7js9xryv33yzpgx";
   };
 
-  nativeBuildInputs = [ gyp which ninja python pkgconfig ];
+  nativeBuildInputs = [ gyp which ninja python pkgconfig qt5.wrapQtAppsHook ];
   buildInputs = [ protobuf gtk2 zinnia qt5.qtbase libxcb fcitx gettext ];
 
   postUnpack = ''
@@ -57,7 +57,7 @@ in clangStdenv.mkDerivation rec {
   '';
 
   configurePhase = ''
-    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 use_fcitx5=0"
+    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 use_fcitx5=0 zinnia_model_file=${tegaki-zinnia-japanese}/share/tegaki/models/zinnia/handwriting-ja.model"
     cd src && python build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc
   '';
 
@@ -79,6 +79,8 @@ in clangStdenv.mkDerivation rec {
     install -D -m 755 out_linux/Release/mozc_server     $out/lib/mozc/mozc_server
     install    -m 755 out_linux/Release/mozc_tool       $out/lib/mozc/mozc_tool
 
+    wrapQtApp $out/lib/mozc/mozc_tool
+
     install -D -m 755 out_linux/Release/fcitx-mozc.so   $out/lib/fcitx/fcitx-mozc.so
     install -D -m 644 unix/fcitx/fcitx-mozc.conf        $out/share/fcitx/addon/fcitx-mozc.conf
     install -D -m 644 unix/fcitx/mozc.conf              $out/share/fcitx/inputmethod/mozc.conf
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index bd34f2c49a5..41a04d01835 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -1,5 +1,5 @@
 { clangStdenv, fetchFromGitHub, fetchpatch, which, ninja, python, gyp, pkgconfig
-, protobuf, ibus, gtk2, zinnia, qt5, libxcb }:
+, protobuf, ibus, gtk2, zinnia, qt5, libxcb, tegaki-zinnia-japanese }:
 
 let
   japanese_usage_dictionary = fetchFromGitHub {
@@ -21,7 +21,7 @@ in clangStdenv.mkDerivation rec {
     maintainers  = with maintainers; [ gebner ericsagnes ];
   };
 
-  nativeBuildInputs = [ which ninja python gyp pkgconfig ];
+  nativeBuildInputs = [ which ninja python gyp pkgconfig qt5.wrapQtAppsHook ];
   buildInputs = [ protobuf ibus gtk2 zinnia qt5.qtbase libxcb ];
 
   src = fetchFromGitHub {
@@ -50,7 +50,7 @@ in clangStdenv.mkDerivation rec {
   '';
 
   configurePhase = ''
-    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc"
+    export GYP_DEFINES="document_dir=$out/share/doc/mozc use_libzinnia=1 use_libprotobuf=1 ibus_mozc_path=$out/lib/ibus-mozc/ibus-engine-mozc zinnia_model_file=${tegaki-zinnia-japanese}/share/tegaki/models/zinnia/handwriting-ja.model"
     cd src && python build_mozc.py gyp --gypdir=${gyp}/bin --server_dir=$out/lib/mozc
   '';
 
@@ -70,6 +70,7 @@ in clangStdenv.mkDerivation rec {
 
     install -D -m 755 out_linux/Release/mozc_server $out/lib/mozc/mozc_server
     install    -m 755 out_linux/Release/mozc_tool   $out/lib/mozc/mozc_tool
+    wrapQtApp $out/lib/mozc/mozc_tool
 
     install -d        $out/share/doc/mozc
     install -m 644    data/installer/*.html         $out/share/doc/mozc/
diff --git a/pkgs/tools/misc/clpeak/default.nix b/pkgs/tools/misc/clpeak/default.nix
new file mode 100644
index 00000000000..46284f9a4da
--- /dev/null
+++ b/pkgs/tools/misc/clpeak/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, ocl-icd, opencl-clhpp }:
+
+stdenv.mkDerivation rec {
+  pname = "clpeak";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "krrishnarraj";
+    repo = "clpeak";
+    rev = version;
+    fetchSubmodules = true;
+    sha256 = "1wkjpvn4r89c3y06rv7gfpwpqw6ljmqwz0w0mljl9y5hn1r4pkx2";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ ocl-icd opencl-clhpp ];
+
+  meta = with stdenv.lib; {
+    description = "A tool which profiles OpenCL devices to find their peak capacities";
+    homepage = "https://github.com/krrishnarraj/clpeak/";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ danieldk ];
+  };
+}
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 2278e113395..d9fe6ac819b 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses }:
+{ lib, buildGoModule, fetchFromGitHub, writeText, runtimeShell, ncurses, perl }:
 
 buildGoModule rec {
   pname = "fzf";
@@ -27,6 +27,13 @@ buildGoModule rec {
         echo "Failed to replace vim base_dir path with $out"
         exit 1
     fi
+
+    # Has a sneaky dependency on perl
+    # Include first args to make sure we're patching the right thing
+    substituteInPlace shell/key-bindings.zsh \
+      --replace " perl -ne " " ${perl}/bin/perl -ne "
+    substituteInPlace shell/key-bindings.bash \
+      --replace " perl -n " " ${perl}/bin/perl -n "
   '';
 
   preInstall = ''
diff --git a/pkgs/tools/misc/mcfly/default.nix b/pkgs/tools/misc/mcfly/default.nix
index 1e5a68d9e7b..39f9b47f465 100644
--- a/pkgs/tools/misc/mcfly/default.nix
+++ b/pkgs/tools/misc/mcfly/default.nix
@@ -2,21 +2,25 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.4.1";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    sha256 = "0fgnhm0b1sd6n12fa2cwlb5b8q4jjm9lqik4lx3l2hv5pkp3dcmb";
+    sha256 = "155x745jakfcpr6kmp24cy8xwdhv81jdfjjhd149bnw5ilg0z037";
   };
 
-  preInstall = ''
+  postInstall = ''
+    substituteInPlace mcfly.bash --replace '$(which mcfly)' $out/bin/mcfly
+    substituteInPlace mcfly.zsh  --replace '$(which mcfly)' $out/bin/mcfly
+    substituteInPlace mcfly.fish --replace '(which mcfly)' $out/bin/mcfly
     install -Dm644 -t $out/share/mcfly mcfly.bash
     install -Dm644 -t $out/share/mcfly mcfly.zsh
+    install -Dm644 -t $out/share/mcfly mcfly.fish
   '';
 
-  cargoSha256 = "11vc4r3cx5amkrmh4hhc174bca02a87i7hfjb33adjvipphfm83f";
+  cargoSha256 = "0y6sjbzg5qqqip9sc9ajyd5ra3n2wwvarj6nhpzjhh05kqz3qja4";
 
   meta = with stdenv.lib; {
     homepage = "https://github.com/cantino/mcfly";
diff --git a/pkgs/tools/misc/pubs/default.nix b/pkgs/tools/misc/pubs/default.nix
index 96d1a5fc6a0..158b56e2a5d 100644
--- a/pkgs/tools/misc/pubs/default.nix
+++ b/pkgs/tools/misc/pubs/default.nix
@@ -2,34 +2,29 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pubs";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "pubs";
     repo = "pubs";
     rev = "v${version}";
-    sha256 = "16zwdqfbmlla6906g3a57a4nj8wnl11fq78r20qms717bzv211j0";
+    sha256 = "0npgsyxj7kby5laznk5ilkrychs3i68y57gphwk48w8k9fvnl3zc";
   };
 
-  patches = [
-    # Fix for bibtexparser 1.1.0
-    (fetchpatch {
-      url = "https://github.com/pubs/pubs/pull/185/commits/e58ae98b93b8364a07fd5f5f452ba88ad332c948.patch";
-      sha256 = "1n7zrk119v395jj8wqg8wlymc9l9pq3v752yy3kam9kflc0aashp";
-    })
-    # Fix test broken by PyYAML 5.1
-    (fetchpatch {
-      url = "https://github.com/pubs/pubs/pull/194/commits/c3cb713ae76528eeeaaeb948fe319a76ab3934d8.patch";
-      sha256 = "05as418m7wzs65839bb91b2jrs8l68z8ldcjcd9cn4b9fcgsf3rk";
-    })
-  ];
-
   propagatedBuildInputs = with python3Packages; [
-    argcomplete dateutil configobj feedparser bibtexparser pyyaml requests six beautifulsoup4
+    argcomplete dateutil configobj feedparser bibtexparser pyyaml requests six 
+    beautifulsoup4
   ];
 
   checkInputs = with python3Packages; [ pyfakefs mock ddt ];
 
+  # Disabling git tests because they expect git to be preconfigured
+  # with the user's details. See 
+  # https://github.com/NixOS/nixpkgs/issues/94663
+  preCheck = ''
+    rm tests/test_git.py
+    '';
+
   meta = with stdenv.lib; {
     description = "Command-line bibliography manager";
     homepage = "https://github.com/pubs/pubs";
diff --git a/pkgs/tools/misc/rargs/default.nix b/pkgs/tools/misc/rargs/default.nix
new file mode 100644
index 00000000000..6ebbeb39c6e
--- /dev/null
+++ b/pkgs/tools/misc/rargs/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname   = "rargs";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner  = "lotabout";
+    repo   = pname;
+    rev    = "v${version}";
+    sha256 = "188gj05rbivci1z4z29vwdwxlj2w01v5i4avwrxjnj1dd6mmlbxd";
+  };
+
+  cargoSha256 = "0qzkhx0n28f5wy4fral3adn499q3f10q71cd544s4ghqwqn4khc9";
+
+  doCheck=false;  # `rargs`'s test depends on the deprecated `assert_cli` crate, which in turn is not in Nixpkgs
+
+  meta = with stdenv.lib; {
+    description = "xargs + awk with pattern matching support";
+    homepage    = "https://github.com/lolabout/rargs";
+    license     = with licenses; [ mit ];
+    maintainers = with maintainers; [ pblkt ]; 
+  };
+}
diff --git a/pkgs/tools/networking/clash/default.nix b/pkgs/tools/networking/clash/default.nix
index c26af7743c4..4447ab0f048 100644
--- a/pkgs/tools/networking/clash/default.nix
+++ b/pkgs/tools/networking/clash/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clash";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "Dreamacro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0qyfv6h6m86m5bwayj0s1pjldnbagy63zc2ygzpnicihmd58khny";
+    sha256 = "0cbbih035h40hhl7ykmyh9q9nzdqq1p8hmvzd4358cigz1gjc3j2";
   };
 
-  vendorSha256 = "0ap6wsx23s4q730s6d5cgc4ginh8zj5sd32k0za49fh50v8k8zbh";
+  vendorSha256 = "0s7mhbjfpfmzqf48d7k0d416m39x6fh5ds4q3xnvhcfx5kmdymq6";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index 9658fd5e46b..ed4f7a5f704 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "8.0.12";
+  version = "8.0.13";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0j0cdxblh0h68a55jvljzahj851yba354xv2w5gg9hjzjd38769x";
+    sha256 = "0vinccakinp996kqzry8irk7sf4djajxdfmpy982dl5y45491l4a";
   };
 
   vendorSha256 = "1d6gg7c0rb45zy9rilacn2xyr3kcb7acsh389hk6lppipmhpzr5a";
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index 52c7161f8e0..8f231935ee3 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.29.0";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "164l97x1g20a61jkb2dwwmf63md3np9x2m59dri3qf22k4rl4l0d";
+    sha256 = "1jyik1022iv8nqjfrv3lkvcpr8zsaxfx8hi7yagklbs6vzlg80jg";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index bbc054f874b..3fb34697da1 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.8.14";
+  version = "1.8.16";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "0fcpmdshl52lg44b94h7pbikq91ppvmkdgd8993hgvzjyl0pchs5";
+    sha256 = "09wncvy1cn8038xf8srz8y955xw9h59zh7avrh060wm50azrhlg5";
   };
 
-  cargoSha256 = "1vvcsadp2kycqjsmgy48szxzqg6s1jpdlzppfgffm8r71dcppyjj";
+  cargoSha256 = "0n03dg1rrhlryap0dqqmmzhp49lxvhh3478z123x23fm04ygln44";
 
   SODIUM_USE_PKG_CONFIG = 1;
 
diff --git a/pkgs/tools/networking/shadowsocks-v2ray-plugin/default.nix b/pkgs/tools/networking/shadowsocks-v2ray-plugin/default.nix
new file mode 100644
index 00000000000..be3a2f77d5c
--- /dev/null
+++ b/pkgs/tools/networking/shadowsocks-v2ray-plugin/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "shadowsocks-v2ray-plugin";
+  version = "1.3.1";
+
+  src = fetchFromGitHub {
+    owner = "shadowsocks";
+    repo = "v2ray-plugin";
+    rev = "v${version}";
+    sha256 = "0aq445gnqk9dxs1hkw7rvk86wg0iyiy0h740lvyh6d9zsqhf61wb";
+  };
+
+  vendorSha256 = "0vzd9v33p4a32f5ic9ir4g5ckis06wpdf07a649h9qalimxnvzfz";
+
+  meta = with lib; {
+    description = "Yet another SIP003 plugin for shadowsocks, based on v2ray";
+    homepage = "https://github.com/shadowsocks/v2ray-plugin/";
+    license = licenses.mit;
+    maintainers = [ maintainers.ahrzb ];
+  };
+}
+
diff --git a/pkgs/tools/networking/wireguard-tools/default.nix b/pkgs/tools/networking/wireguard-tools/default.nix
index 6cd3682c3f2..c3e4c637109 100644
--- a/pkgs/tools/networking/wireguard-tools/default.nix
+++ b/pkgs/tools/networking/wireguard-tools/default.nix
@@ -13,11 +13,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   pname = "wireguard-tools";
-  version = "1.0.20200513";
+  version = "1.0.20200820";
 
   src = fetchzip {
     url = "https://git.zx2c4.com/wireguard-tools/snapshot/wireguard-tools-${version}.tar.xz";
-    sha256 = "1rvnr4hk17xa2sp48icbhdnd3l69fiwwlxnn3587p1slrlms808l";
+    sha256 = "138pf23x39xm68pa4ks3g76axphl8pz5jw4fyi54wi7rvxclybc7";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/tools/networking/wstunnel/default.nix b/pkgs/tools/networking/wstunnel/default.nix
index 2488d874e6d..161b08a7d39 100644
--- a/pkgs/tools/networking/wstunnel/default.nix
+++ b/pkgs/tools/networking/wstunnel/default.nix
@@ -2,28 +2,21 @@
 , classy-prelude, cmdargs, connection, hslogger, mtl, network
 , network-conduit-tls, stdenv, streaming-commons, text
 , unordered-containers, websockets
+, hspec, iproute
 , lib, fetchFromGitHub, fetchpatch
 }:
 
 mkDerivation rec {
   pname = "wstunnel";
-  version = "unstable-2019-01-28";
+  version = "unstable-2020-07-12";
 
   src = fetchFromGitHub {
     owner = "erebe";
     repo = pname;
-    rev = "78cc5a5f1aa4dbcb25fa9b0efc9cfef3640672e4";
-    sha256 = "17y3yn7qg1h7jx9xs041sw63g51vyns236f60d2m2mghi49lm9i2";
+    rev = "093a01fa3a34eee5efd8f827900e64eab9d16c05";
+    sha256 = "17p9kq0ssz05qzl6fyi5a5fjbpn4bxkkwibb9si3fhzrxc508b59";
   };
 
-  patches = [
-    # Support GHC 8.6   https://github.com/erebe/wstunnel/pull/18
-    (fetchpatch {
-      url = "https://github.com/erebe/wstunnel/commit/8f348fea4dbf75874d5d930334377843763335ab.patch";
-      sha256 = "0a66jx7k97j3iyr7j5npbyq1lkhzz74r81mkas4nig7z3hny1gn9";
-    })
-  ];
-
   isLibrary = false;
   isExecutable = true;
 
@@ -31,13 +24,14 @@ mkDerivation rec {
     async base base64-bytestring binary bytestring classy-prelude
     connection hslogger mtl network network-conduit-tls
     streaming-commons text unordered-containers websockets
+    iproute
   ];
 
   executableHaskellDepends = [
     base bytestring classy-prelude cmdargs hslogger text
   ];
 
-  testHaskellDepends = [ base text ];
+  testHaskellDepends = [ base text hspec ];
 
   homepage = "https://github.com/erebe/wstunnel";
   description = "UDP and TCP tunnelling over WebSocket";
diff --git a/pkgs/tools/security/bitwarden_rs/default.nix b/pkgs/tools/security/bitwarden_rs/default.nix
index ebf65b07234..c2bb8324186 100644
--- a/pkgs/tools/security/bitwarden_rs/default.nix
+++ b/pkgs/tools/security/bitwarden_rs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, rustPlatform, fetchFromGitHub
+{ stdenv, rustPlatform, fetchFromGitHub, nixosTests
 , pkgconfig, openssl
 , Security, CoreServices
 , dbBackend ? "sqlite", libmysqlclient, postgresql }:
@@ -35,6 +35,8 @@ in rustPlatform.buildRustPackage rec {
     runHook postCheck
   '';
 
+  passthru.tests = nixosTests.bitwarden;
+
   meta = with stdenv.lib; {
     description = "Unofficial Bitwarden compatible server written in Rust";
     homepage = "https://github.com/dani-garcia/bitwarden_rs";
diff --git a/pkgs/tools/security/bitwarden_rs/vault.nix b/pkgs/tools/security/bitwarden_rs/vault.nix
index 7c71506c888..2ac50912c05 100644
--- a/pkgs/tools/security/bitwarden_rs/vault.nix
+++ b/pkgs/tools/security/bitwarden_rs/vault.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, nixosTests }:
 
 stdenv.mkDerivation rec {
   pname = "bitwarden_rs-vault";
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     mv web-vault vault
   '';
 
+  passthru.tests = nixosTests.bitwarden;
+
   meta = with stdenv.lib; {
     description = "Integrates the web vault into bitwarden_rs";
     homepage = "https://github.com/dani-garcia/bw_web_builds";
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index f3d4c3d9f86..b637eacd3da 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.9.1";
+  version = "3.10.1";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "1hfl70k4xz3kxylffybixgklv04sl47knbyd96h8rnmnhscniwzl";
+    sha256 = "0wzs480dg6q6j8jzhk5lkf5hs53jf7ljmnyw3i9xwqm9sxq7dsfx";
   };
 
   vendorSha256 = "0wqbwk72k4r30a3vnf0gnx3k97y8xgnr2iavk5bc8f8vkjv0bsv6";
diff --git a/pkgs/tools/system/rocm-smi/default.nix b/pkgs/tools/system/rocm-smi/default.nix
index 159b41fd1ce..8cbc56e0468 100644
--- a/pkgs/tools/system/rocm-smi/default.nix
+++ b/pkgs/tools/system/rocm-smi/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonApplication rec {
   pname = "rocm-smi";
-  version = "3.5.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "RadeonOpenCompute";
     repo = "ROC-smi";
     rev = "rocm-${version}";
-    sha256 = "189mpvmcv46nfwshyc1wla6k71kbraldik5an20g4v9s13ycrpx9";
+    sha256 = "00g9cbni73x9da05lx7hiffp303mdkj1wpxiavfylr4q4z84yhrz";
   };
 
   format = "other";
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index f4941df8ebd..5d9196fcc16 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, autoreconfHook
+, mailutils, inetutils
 , IOKit ? null , ApplicationServices ? null }:
 
 let
@@ -24,6 +25,10 @@ in stdenv.mkDerivation rec {
   patches = [ ./smartmontools.patch ];
   postPatch = "cp -v ${driverdb} drivedb.h";
 
+  configureFlags = [
+    "--with-scriptpath=${stdenv.lib.makeBinPath [ mailutils inetutils ]}"
+  ];
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [] ++ stdenv.lib.optionals stdenv.isDarwin [IOKit ApplicationServices];
   enableParallelBuilding = true;
diff --git a/pkgs/tools/system/storebrowse/default.nix b/pkgs/tools/system/storebrowse/default.nix
deleted file mode 100644
index 4324fba87e7..00000000000
--- a/pkgs/tools/system/storebrowse/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchurl, fetchhg, go, sqlite}:
-
-stdenv.mkDerivation rec {
-  name = "storebrowse-20130318212204";
-
-  src = fetchurl {
-    url = "http://viric.name/cgi-bin/storebrowse/tarball/storebrowse-775928f68e53.tar.gz?uuid=775928f68e53";
-    name = "${name}.tar.gz";
-    sha256 = "1yb8qbw95d9561s10k12a6lwv3my8h52arsbfcpizx74dwfsv7in";
-  };
-
-  # This source has license BSD
-  srcGoSqlite = fetchhg {
-    url = "https://code.google.com/p/gosqlite/";
-    rev = "5baefb109e18";
-    sha256 = "0mqfnx06jj15cs8pq9msny2z18x99hgk6mchnaxpg343nzdiz4zk";
-  };
-
-  buildPhase = ''
-    PATH=${go}/bin:$PATH
-    mkdir $TMPDIR/go
-    export GOPATH=$TMPDIR/go
-
-    ${stdenv.lib.optionalString (stdenv.hostPlatform.system == "armv5tel-linux") "export GOARM=5"}
-
-    GOSQLITE=$GOPATH/src/code.google.com/p/gosqlite
-    mkdir -p $GOSQLITE
-    cp -R $srcGoSqlite/* $GOSQLITE/
-    export CGO_CFLAGS=-I${sqlite.dev}/include
-    export CGO_LDFLAGS=-L${sqlite.out}/lib
-    go build -ldflags "-r ${sqlite.out}/lib" -o storebrowse
-  '';
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp storebrowse $out/bin
-  '';
-
-  meta = {
-    homepage = "http://viric.name/cgi-bin/storebrowse";
-    license = stdenv.lib.licenses.agpl3Plus;
-    broken = true;
-  };
-}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 9f959c8d16e..80f85c707aa 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -87,6 +87,7 @@ mapAliases ({
   coprthr = throw "coprthr has been removed."; # added 2019-12-08
   corebird = throw "deprecated 2019-10-02: See https://www.patreon.com/posts/corebirds-future-18921328. Please use Cawbird as replacement.";
   coredumper = throw "coredumper has been removed: Abandoned by upstream."; # added 2019-11-16
+  cryptol = throw "cryptol was remove for prolonged broken build"; # added 2020-08-21
   cpp-gsl = microsoft_gsl; # added 2019-05-24
   cupsBjnp = cups-bjnp; # added 2016-01-02
   cups_filters = cups-filters; # added 2016-08
@@ -464,6 +465,7 @@ mapAliases ({
   rhc = throw "deprecated in 2019-04-09: abandoned by upstream.";
   rng_tools = rng-tools; # added 2018-10-24
   robomongo = robo3t; #added 2017-09-28
+  rocm-runtime-ext = throw "rocm-runtime-ext has been removed, since its functionality was added to rocm-runtime"; #added 2020-08-21
   rssglx = rss-glx; #added 2015-03-25
   recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
   gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
@@ -687,6 +689,9 @@ mapAliases ({
   mumble_git = pkgs.mumble;
   murmur_git = pkgs.murmur;
 
+  # added 2020-08-17
+  zabbix44 = throw "Zabbix 4.4 is end of life, see https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500 for details on upgrading to Zabbix 5.0.";
+
   # added 2019-09-06
   zeroc_ice = pkgs.zeroc-ice;
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 5ce5dde18de..243aaeae896 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -763,6 +763,8 @@ in
 
   asciiquarium = callPackage ../applications/misc/asciiquarium {};
 
+  ashuffle = callPackage ../applications/audio/ashuffle {};
+
   asls = callPackage ../development/tools/misc/asls { };
 
   asymptote = callPackage ../tools/graphics/asymptote {
@@ -937,6 +939,8 @@ in
 
   codespell = with python3Packages; toPythonApplication codespell;
 
+  coolreader = libsForQt5.callPackage ../applications/misc/coolreader {};
+
   cozy = callPackage ../applications/audio/cozy-audiobooks { };
 
   ctrtool = callPackage ../tools/archivers/ctrtool { };
@@ -1142,6 +1146,8 @@ in
 
   wiiload = callPackage ../development/tools/wiiload { };
 
+  wiimms-iso-tools = callPackage ../tools/filesystems/wiimms-iso-tools { };
+
   xcodeenv = callPackage ../development/mobile/xcodeenv { };
 
   ssh-agents = callPackage ../tools/networking/ssh-agents { };
@@ -2022,7 +2028,9 @@ in
 
   gringo = callPackage ../tools/misc/gringo { };
 
-  grobi = callPackage ../tools/X11/grobi { };
+  grobi = callPackage ../tools/X11/grobi {
+    buildGoModule = buildGo114Module;
+  };
 
   gscan2pdf = callPackage ../applications/graphics/gscan2pdf { };
 
@@ -2136,6 +2144,8 @@ in
 
   massren = callPackage ../tools/misc/massren { };
 
+  maxcso = callPackage ../tools/archivers/maxcso {};
+
   medusa = callPackage ../tools/security/medusa { };
 
   megasync = libsForQt5.callPackage ../applications/misc/megasync { };
@@ -2494,6 +2504,8 @@ in
     inherit (python27Packages) pillow;
   };
 
+  blueberry = callPackage ../tools/bluetooth/blueberry { };
+
   blueman = callPackage ../tools/bluetooth/blueman { };
 
   bmrsa = callPackage ../tools/security/bmrsa/11.nix { };
@@ -3957,6 +3969,10 @@ in
   gocryptfs = callPackage ../tools/filesystems/gocryptfs { };
 
   godot = callPackage ../development/tools/godot {};
+  
+  godot-headless = callPackage ../development/tools/godot/headless.nix { };
+
+  godot-server = callPackage ../development/tools/godot/server.nix { };
 
   goklp = callPackage ../tools/networking/goklp {};
 
@@ -4491,7 +4507,9 @@ in
   iperf3 = callPackage ../tools/networking/iperf/3.nix { };
   iperf = iperf3;
 
-  ipfs = callPackage ../applications/networking/ipfs { };
+  ipfs = callPackage ../applications/networking/ipfs {
+    buildGoModule = buildGo114Module;
+  };
   ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { };
   ipfs-cluster = callPackage ../applications/networking/ipfs-cluster { };
 
@@ -6401,6 +6419,8 @@ in
 
   qjoypad = callPackage ../tools/misc/qjoypad { };
 
+  qosmic = libsForQt5.callPackage ../applications/graphics/qosmic { };
+
   qownnotes = libsForQt5.callPackage ../applications/office/qownnotes { };
 
   qpdf = callPackage ../development/libraries/qpdf { };
@@ -6793,6 +6813,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  shadowsocks-v2ray-plugin = callPackage ../tools/networking/shadowsocks-v2ray-plugin { };
+
   sharutils = callPackage ../tools/archivers/sharutils { };
 
   shelldap = callPackage ../tools/misc/shelldap { };
@@ -6884,6 +6906,8 @@ in
     conf = config.slstatus.conf or null;
   };
 
+  sm64ex = callPackage ../games/sm64ex { };
+
   smartdns = callPackage ../tools/networking/smartdns { };
 
   smartmontools = callPackage ../tools/system/smartmontools {
@@ -6968,8 +6992,6 @@ in
 
   stm32loader = with python3Packages; toPythonApplication stm32loader;
 
-  storebrowse = callPackage ../tools/system/storebrowse { };
-
   stubby = callPackage ../tools/networking/stubby { };
 
   syntex = callPackage ../tools/graphics/syntex {};
@@ -7044,8 +7066,6 @@ in
 
   supertux-editor = callPackage ../applications/editors/supertux-editor { };
 
-  super-user-spark = haskellPackages.callPackage ../applications/misc/super_user_spark { };
-
   svgbob = callPackage ../tools/graphics/svgbob { };
 
   svgcleaner = callPackage ../tools/graphics/svgcleaner { };
@@ -7543,6 +7563,8 @@ in
 
   verilog = callPackage ../applications/science/electronics/verilog {};
 
+  vhd2vl = callPackage ../applications/science/electronics/vhd2vl { };
+
   video2midi = callPackage ../tools/audio/video2midi {
     pythonPackages = python3Packages;
   };
@@ -8406,7 +8428,9 @@ in
 
   cmucl_binary = pkgsi686Linux.callPackage ../development/compilers/cmucl/binary.nix { };
 
-  compcert = callPackage ../development/compilers/compcert { };
+  compcert = callPackage ../development/compilers/compcert {
+    inherit (coqPackages_8_10) coq;
+  };
 
   computecpp-unwrapped = callPackage ../development/compilers/computecpp {};
   computecpp = wrapCCWith rec {
@@ -8429,8 +8453,6 @@ in
     '';
   };
 
-  cryptol = haskell.lib.justStaticExecutables haskellPackages.cryptol;
-
   inherit (callPackages ../development/compilers/crystal {
     inherit (llvmPackages_10) stdenv clang llvm;
   })
@@ -8965,7 +8987,7 @@ in
     buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
   });
 
-  go = go_1_14;
+  go = go_1_15;
 
   go-repo-root = callPackage ../development/tools/go-repo-root { };
 
@@ -9405,9 +9427,9 @@ in
     inherit (llvmPackages_rocm) clang clang-unwrapped lld llvm;
   };
 
-  rocm-runtime = callPackage ../development/libraries/rocm-runtime { };
-
-  rocm-runtime-ext = callPackage ../development/libraries/rocm-runtime-ext { };
+  rocm-runtime = callPackage ../development/libraries/rocm-runtime {
+    inherit (llvmPackages_rocm) clang-unwrapped llvm;
+  };
 
   # Python >= 3.8 still gives a bunch of warnings.
   rocm-smi = python37.pkgs.callPackage ../tools/system/rocm-smi { };
@@ -10262,9 +10284,9 @@ in
 
   inherit (callPackage ../tools/admin/ansible { })
     ansible
-    ansible_2_7
     ansible_2_8
-    ansible_2_9;
+    ansible_2_9
+    ansible_2_10;
 
   ansible-lint = with python3.pkgs; toPythonApplication ansible-lint;
 
@@ -10396,6 +10418,8 @@ in
 
   bazelisk = callPackage ../development/tools/bazelisk { };
 
+  rebazel = callPackage ../development/tools/rebazel { };
+
   buildBazelPackage = callPackage ../build-support/build-bazel-package { };
 
   bear = callPackage ../development/tools/build-managers/bear { };
@@ -10777,6 +10801,8 @@ in
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  fujprog = callPackage ../development/tools/misc/fujprog { };
+
   funnelweb = callPackage ../development/tools/literate-programming/funnelweb { };
 
   gede = libsForQt5.callPackage ../development/tools/misc/gede { };
@@ -11244,6 +11270,8 @@ in
 
   remake = callPackage ../development/tools/build-managers/remake { };
 
+  replacement = callPackage ../development/tools/misc/replacement { };
+
   retdec = callPackage ../development/tools/analysis/retdec {
     stdenv = gcc8Stdenv;
   };
@@ -11370,6 +11398,8 @@ in
 
   strace = callPackage ../development/tools/misc/strace { };
 
+  summon = callPackage ../development/tools/summon { };
+
   swarm = callPackage ../development/tools/analysis/swarm { };
 
   swiftformat = callPackage ../development/tools/swiftformat { };
@@ -11973,6 +12003,8 @@ in
 
   dotconf = callPackage ../development/libraries/dotconf { };
 
+  draco = callPackage ../development/libraries/draco { };
+
   # Multi-arch "drivers" which we want to build for i686.
   driversi686Linux = recurseIntoAttrs {
     inherit (pkgsi686Linux)
@@ -15242,6 +15274,7 @@ in
   stlport = callPackage ../development/libraries/stlport { };
 
   streamlink = callPackage ../applications/video/streamlink { pythonPackages = python3Packages; };
+  streamlink-twitch-gui-bin = callPackage ../applications/video/streamlink-twitch-gui/bin.nix {};
 
   strigi = callPackage ../development/libraries/strigi { clucene_core = clucene_core_2; };
 
@@ -15846,7 +15879,7 @@ in
     go = buildPackages.go_1_15;
   };
 
-  buildGoPackage = buildGo114Package;
+  buildGoPackage = buildGo115Package;
 
   buildGo114Module = callPackage ../development/go-modules/generic {
     go = buildPackages.go_1_14;
@@ -15855,7 +15888,7 @@ in
     go = buildPackages.go_1_15;
   };
 
-  buildGoModule = buildGo114Module;
+  buildGoModule = buildGo115Module;
 
   go2nix = callPackage ../development/tools/go2nix { };
 
@@ -16171,9 +16204,13 @@ in
 
   gofish = callPackage ../servers/gopher/gofish { };
 
-  grafana = callPackage ../servers/monitoring/grafana { };
+  grafana = callPackage ../servers/monitoring/grafana {
+    buildGoModule = buildGo114Module;
+  };
 
-  grafana-loki = callPackage ../servers/monitoring/loki { };
+  grafana-loki = callPackage ../servers/monitoring/loki {
+    buildGoPackage = buildGo114Package;
+  };
 
   grafana_reporter = callPackage ../servers/monitoring/grafana-reporter { };
 
@@ -16271,8 +16308,6 @@ in
 
   mediatomb = callPackage ../servers/mediatomb { };
 
-  meguca = callPackage ../servers/meguca { };
-
   memcached = callPackage ../servers/memcached {};
 
   meteor = callPackage ../servers/meteor { };
@@ -16332,7 +16367,9 @@ in
 
   unit = callPackage ../servers/http/unit { };
 
-  ncdns = callPackage ../servers/dns/ncdns { };
+  ncdns = callPackage ../servers/dns/ncdns {
+    buildGoPackage = buildGo114Package;
+  };
 
   nginx = nginxStable;
 
@@ -16636,7 +16673,10 @@ in
   postgresql_jdbc = callPackage ../development/java-modules/postgresql_jdbc { };
 
   prom2json = callPackage ../servers/monitoring/prometheus/prom2json.nix { };
-  prometheus = callPackage ../servers/monitoring/prometheus { };
+  prometheus = callPackage ../servers/monitoring/prometheus {
+    buildGoPackage = buildGo114Package;
+    go = go_1_14;
+  };
   prometheus-alertmanager = callPackage ../servers/monitoring/prometheus/alertmanager.nix { };
   prometheus-apcupsd-exporter = callPackage ../servers/monitoring/prometheus/apcupsd-exporter.nix { };
   prometheus-aws-s3-exporter = callPackage ../servers/monitoring/prometheus/aws-s3-exporter.nix { };
@@ -16732,6 +16772,7 @@ in
   restya-board = callPackage ../servers/web-apps/restya-board { };
 
   rethinkdb = callPackage ../servers/nosql/rethinkdb {
+    stdenv = clangStdenv;
     libtool = darwin.cctools;
   };
 
@@ -16960,11 +17001,11 @@ in
     server = server-pgsql;
   };
 
-  zabbix44 = recurseIntoAttrs (zabbixFor "v44");
+  zabbix50 = recurseIntoAttrs (zabbixFor "v50");
   zabbix40 = dontRecurseIntoAttrs (zabbixFor "v40");
   zabbix30 = dontRecurseIntoAttrs (zabbixFor "v30");
 
-  zabbix = zabbix44;
+  zabbix = zabbix50;
 
   zipkin = callPackage ../servers/monitoring/zipkin { };
 
@@ -17585,6 +17626,8 @@ in
 
     rtl88x2bu = callPackage ../os-specific/linux/rtl88x2bu { };
 
+    rtl8821cu = callPackage ../os-specific/linux/rtl8821cu { };
+
     rtlwifi_new = callPackage ../os-specific/linux/rtlwifi_new { };
 
     openafs = callPackage ../servers/openafs/1.6/module.nix { };
@@ -17962,6 +18005,8 @@ in
 
   gotop = callPackage ../tools/system/gotop { };
 
+  go-migrate = callPackage ../development/tools/go-migrate { };
+
   gomodifytags = callPackage ../development/tools/gomodifytags { };
 
   go-langserver = callPackage ../development/tools/go-langserver { };
@@ -20112,6 +20157,8 @@ in
 
   foo-yc20 = callPackage ../applications/audio/foo-yc20 { };
 
+  foot = callPackage ../applications/misc/foot { };
+
   fossil = callPackage ../applications/version-management/fossil { };
 
   freebayes = callPackage ../applications/science/biology/freebayes { };
@@ -20624,7 +20671,9 @@ in
 
   gv = callPackage ../applications/misc/gv { };
 
-  gvisor = callPackage ../applications/virtualization/gvisor { };
+  gvisor = callPackage ../applications/virtualization/gvisor {
+    go = go_1_14;
+  };
 
   gvisor-containerd-shim = callPackage ../applications/virtualization/gvisor/containerd-shim.nix { };
 
@@ -20862,6 +20911,10 @@ in
 
   iksemel = callPackage ../development/libraries/iksemel { };
 
+  imag = callPackage ../applications/misc/imag {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   imagej = callPackage ../applications/graphics/imagej { };
 
   imagemagick_light = imagemagick.override {
@@ -21299,7 +21352,7 @@ in
   ledger-autosync = callPackage  ../applications/office/ledger-autosync { };
 
   ledger-web = callPackage ../applications/office/ledger-web { };
-  
+
   lightburn = libsForQt5.callPackage ../applications/graphics/lightburn { };
 
   lighthouse = callPackage ../applications/misc/lighthouse { };
@@ -21384,6 +21437,8 @@ in
 
   lv2bm = callPackage ../applications/audio/lv2bm { };
 
+  lv2-cpp-tools = callPackage ../applications/audio/lv2-cpp-tools { };
+
   lynx = callPackage ../applications/networking/browsers/lynx { };
 
   lyx = libsForQt5.callPackage ../applications/misc/lyx { };
@@ -22972,6 +23027,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  talentedhack = callPackage ../applications/audio/talentedhack { };
+
   tambura = callPackage ../applications/audio/tambura { };
 
   tamgamp.lv2 = callPackage ../applications/audio/tamgamp.lv2 { };
@@ -22983,7 +23040,7 @@ in
   teamspeak_client = libsForQt512.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak_server = callPackage ../applications/networking/instant-messengers/teamspeak/server.nix { };
 
-  taskell = callPackage ../applications/misc/taskell { };
+  taskell = haskell.lib.justStaticExecutables haskellPackages.taskell;
 
   taskjuggler = callPackage ../applications/misc/taskjuggler { };
 
@@ -23329,6 +23386,8 @@ in
 
   virtscreen = callPackage ../tools/admin/virtscreen {};
 
+  virtual-ans = callPackage ../applications/audio/virtual-ans {};
+
   virtualbox = libsForQt5.callPackage ../applications/virtualization/virtualbox {
     stdenv = stdenv_32bit;
     inherit (gnome2) libIDL;
@@ -23392,6 +23451,8 @@ in
 
   vmpk = callPackage ../applications/audio/vmpk { };
 
+  vocproc = callPackage ../applications/audio/vocproc { };
+
   vnstat = callPackage ../applications/networking/vnstat { };
 
   vocal = callPackage ../applications/audio/vocal { };
@@ -24524,6 +24585,8 @@ in
 
   leela-zero = libsForQt5.callPackage ../games/leela-zero { };
 
+  legendary-gl = python38Packages.callPackage ../games/legendary-gl { };
+
   lgogdownloader = callPackage ../games/lgogdownloader { };
 
   liberal-crime-squad = callPackage ../games/liberal-crime-squad { };
@@ -26203,6 +26266,8 @@ in
 
   clinfo = callPackage ../tools/system/clinfo { };
 
+  clpeak = callPackage ../tools/misc/clpeak { };
+
   cups = callPackage ../misc/cups { };
 
   cups-filters = callPackage ../misc/cups/filters.nix { };
@@ -26821,6 +26886,8 @@ in
 
   py-wmi-client = callPackage ../tools/networking/py-wmi-client { };
 
+  rargs = callPackage ../tools/misc/rargs { };
+
   redprl = callPackage ../applications/science/logic/redprl { };
 
   renderizer = pkgs.callPackage ../development/tools/renderizer {};
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 38f23ed8cd4..c6c75cd7ffd 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -130,7 +130,7 @@ in rec {
   coqPackages_8_11 = mkCoqPackages coq_8_11;
   coqPackages_8_12 = mkCoqPackages coq_8_12;
   coqPackages = recurseIntoAttrs (lib.mapDerivationAttrset lib.dontDistribute
-    coqPackages_8_9
+    coqPackages_8_11
   );
   coq = coqPackages.coq;
 
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index d623610ad71..d845fbde0d9 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -16716,6 +16716,24 @@ let
     };
   };
 
+  Apprainbarf = buildPerlModule {
+    pname = "Apprainbarf";
+    version = "1.4";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/S/SY/SYP/App-rainbarf-1.4.tar.gz";
+      sha256 = "4f139ad35faaf2de0623dc0bb1dd89fa5a431e548bfec87dee194cf0e25cc97d";
+    };
+    nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
+    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/rainbarf
+    '';
+    meta = {
+      homepage = "https://github.com/creaktive/rainbarf";
+      description = "CPU/RAM/battery stats chart bar for tmux (and GNU screen)";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus  ];
+    };
+  };
+
   Razor2ClientAgent = buildPerlPackage {
     pname = "Razor2-Client-Agent";
     version = "2.86";
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 1000d615ac1..6c1c8f92879 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1560,6 +1560,8 @@ in {
 
   sabyenc = callPackage ../development/python-modules/sabyenc { };
 
+  sabyenc3 = callPackage ../development/python-modules/sabyenc3 { };
+
   salmon-mail = callPackage ../development/python-modules/salmon-mail { };
 
   sanic-auth = callPackage ../development/python-modules/sanic-auth { };
@@ -3824,6 +3826,8 @@ in {
 
   django-webpack-loader = callPackage ../development/python-modules/django-webpack-loader { };
 
+  django-widget-tweaks = callPackage ../development/python-modules/django-widget-tweaks { };
+
   django_tagging = callPackage ../development/python-modules/django_tagging { };
 
   django_classytags = callPackage ../development/python-modules/django_classytags { };
@@ -4083,6 +4087,8 @@ in {
     cudaSupport = false;
   };
 
+  pytorch-lightning = callPackage ../development/python-modules/pytorch-lightning { };
+
   pytorch-metric-learning = callPackage ../development/python-modules/pytorch-metric-learning { };
 
   pythondialog = callPackage ../development/python-modules/pythondialog { };
@@ -7637,6 +7643,8 @@ in {
 
   pure-pcapy3 = callPackage ../development/python-modules/pure-pcapy3 { };
 
+  cucumber-tag-expressions = callPackage ../development/python-modules/cucumber-tag-expressions { };
+
   behave = callPackage ../development/python-modules/behave { };
 
   bellows = callPackage ../development/python-modules/bellows { };