about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorsternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2021-06-06 12:44:46 +0200
committersternenseemann <0rpkxez4ksa01gb3typccl0i@systemli.org>2021-06-06 12:44:46 +0200
commit7f31ab271c434c3a45cebcdabf45c4699eda4e97 (patch)
tree7a137bfda79abbbd3dde74c5a3c5b84e3decf0ce /pkgs
parent5591b8e1fc39a05e4a6f792dc54d9085f6ad004c (diff)
parent20b3d65d34eea0070c991ce169f06d600ec6e1fd (diff)
downloadnixlib-7f31ab271c434c3a45cebcdabf45c4699eda4e97.tar
nixlib-7f31ab271c434c3a45cebcdabf45c4699eda4e97.tar.gz
nixlib-7f31ab271c434c3a45cebcdabf45c4699eda4e97.tar.bz2
nixlib-7f31ab271c434c3a45cebcdabf45c4699eda4e97.tar.lz
nixlib-7f31ab271c434c3a45cebcdabf45c4699eda4e97.tar.xz
nixlib-7f31ab271c434c3a45cebcdabf45c4699eda4e97.tar.zst
nixlib-7f31ab271c434c3a45cebcdabf45c4699eda4e97.zip
Merge remote-tracking branch 'origin/master' into haskell-updates
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/bjumblr/default.nix4
-rw-r--r--pkgs/applications/audio/boops/default.nix28
-rw-r--r--pkgs/applications/audio/bsequencer/default.nix4
-rw-r--r--pkgs/applications/audio/bshapr/default.nix4
-rw-r--r--pkgs/applications/audio/bslizr/default.nix4
-rw-r--r--pkgs/applications/audio/diopser/default.nix76
-rw-r--r--pkgs/applications/audio/faust/faust2.nix6
-rw-r--r--pkgs/applications/audio/faust/faustlive.nix17
-rw-r--r--pkgs/applications/audio/faustPhysicalModeling/default.nix39
-rw-r--r--pkgs/applications/audio/faustStk/default.nix39
-rw-r--r--pkgs/applications/audio/gwc/default.nix4
-rw-r--r--pkgs/applications/audio/helvum/default.nix12
-rw-r--r--pkgs/applications/audio/songrec/default.nix35
-rw-r--r--pkgs/applications/audio/stochas/default.nix4
-rw-r--r--pkgs/applications/audio/uhhyou.lv2/default.nix10
-rw-r--r--pkgs/applications/blockchains/charge-lnd/default.nix39
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix36
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/evil-markdown/default.nix46
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/git-undo/default.nix36
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/isearch-plus/default.nix36
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/isearch-prop/default.nix36
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix14
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/mu4e-patch/default.nix38
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/youtube-dl/default.nix36
-rw-r--r--pkgs/applications/misc/avell-unofficial-control-center/default.nix26
-rw-r--r--pkgs/applications/misc/clifm/default.nix34
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/moonlight-qt/default.nix2
-rw-r--r--pkgs/applications/misc/nimbo/default.nix14
-rw-r--r--pkgs/applications/misc/openrgb/default.nix13
-rw-r--r--pkgs/applications/misc/sfm/default.nix27
-rw-r--r--pkgs/applications/networking/gns3/server.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/base.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/ferdi/default.nix25
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/matrix-commander/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix3
-rw-r--r--pkgs/applications/networking/irc/senpai/default.nix37
-rw-r--r--pkgs/applications/networking/p2p/retroshare/default.nix53
-rw-r--r--pkgs/applications/networking/p2p/retroshare/no-submodules.patch62
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix8
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix5
-rw-r--r--pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch13
-rw-r--r--pkgs/applications/office/trilium/default.nix6
-rw-r--r--pkgs/applications/science/electronics/dsview/default.nix11
-rw-r--r--pkgs/applications/science/electronics/verilator/default.nix8
-rw-r--r--pkgs/applications/science/logic/acgtk/default.nix2
-rw-r--r--pkgs/applications/science/logic/why3/default.nix2
-rw-r--r--pkgs/applications/science/misc/graphia/default.nix33
-rw-r--r--pkgs/applications/terminal-emulators/wezterm/default.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/tig/default.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/default.nix1
-rw-r--r--pkgs/applications/video/lightworks/default.nix3
-rw-r--r--pkgs/applications/video/mpv/scripts/youtube-quality.nix39
-rw-r--r--pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c4
-rw-r--r--pkgs/build-support/make-desktopitem/default.nix4
-rw-r--r--pkgs/data/fonts/edwin/default.nix29
-rw-r--r--pkgs/desktops/gnome/apps/gnome-boxes/default.nix7
-rw-r--r--pkgs/desktops/gnome/apps/gnome-calendar/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/epiphany/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--pkgs/development/beam-modules/rebar3-release.nix13
-rw-r--r--pkgs/development/compilers/compcert/default.nix2
-rw-r--r--pkgs/development/compilers/cudatoolkit/common.nix4
-rw-r--r--pkgs/development/compilers/fstar/default.nix2
-rw-r--r--pkgs/development/compilers/go/1.14.nix57
-rw-r--r--pkgs/development/compilers/go/1.15.nix57
-rw-r--r--pkgs/development/compilers/go/1.16.nix61
-rw-r--r--pkgs/development/compilers/go/2-dev.nix56
-rw-r--r--pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch71
-rw-r--r--pkgs/development/compilers/llvm/12/compiler-rt/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/git/default.nix3
-rwxr-xr-xpkgs/development/compilers/llvm/update-git.py70
-rw-r--r--pkgs/development/compilers/mezzo/default.nix4
-rw-r--r--pkgs/development/compilers/passerine/default.nix22
-rw-r--r--pkgs/development/compilers/ponyc/default.nix23
-rw-r--r--pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch14
-rw-r--r--pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch10
-rw-r--r--pkgs/development/compilers/purescript/purescript/default.nix7
-rw-r--r--pkgs/development/compilers/reason/default.nix8
-rw-r--r--pkgs/development/interpreters/erlang/R21.nix4
-rw-r--r--pkgs/development/interpreters/evcxr/default.nix6
-rw-r--r--pkgs/development/libraries/aws-c-common/default.nix7
-rw-r--r--pkgs/development/libraries/box2d/default.nix6
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp/default.nix9
-rw-r--r--pkgs/development/libraries/libimobiledevice/default.nix32
-rw-r--r--pkgs/development/libraries/libunwind/default.nix3
-rw-r--r--pkgs/development/libraries/mvapich/default.nix73
-rw-r--r--pkgs/development/libraries/sundials/default.nix4
-rw-r--r--pkgs/development/libraries/xtensor/default.nix36
-rw-r--r--pkgs/development/lua-modules/overrides.nix2
-rw-r--r--pkgs/development/ocaml-modules/cooltt/default.nix47
-rw-r--r--pkgs/development/ocaml-modules/dolmen/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/earlybird/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/menhir/default.nix30
-rw-r--r--pkgs/development/ocaml-modules/menhir/generic.nix43
-rw-r--r--pkgs/development/ocaml-modules/menhir/lib.nix29
-rw-r--r--pkgs/development/ocaml-modules/menhir/sdk.nix15
-rw-r--r--pkgs/development/ocaml-modules/mustache/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/stdcompat/default.nix24
-rw-r--r--pkgs/development/php-packages/deployer/default.nix9
-rw-r--r--pkgs/development/python-modules/aio-georss-client/default.nix51
-rw-r--r--pkgs/development/python-modules/aio-georss-gdacs/default.nix43
-rw-r--r--pkgs/development/python-modules/aiokafka/default.nix21
-rw-r--r--pkgs/development/python-modules/aiomultiprocess/default.nix8
-rw-r--r--pkgs/development/python-modules/aioswitcher/default.nix4
-rw-r--r--pkgs/development/python-modules/angrop/default.nix7
-rw-r--r--pkgs/development/python-modules/clldutils/default.nix6
-rw-r--r--pkgs/development/python-modules/elevate/default.nix35
-rw-r--r--pkgs/development/python-modules/georss-client/default.nix43
-rw-r--r--pkgs/development/python-modules/georss-generic-client/default.nix37
-rw-r--r--pkgs/development/python-modules/georss-ign-sismologia-client/default.nix37
-rw-r--r--pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix37
-rw-r--r--pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix37
-rw-r--r--pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix37
-rw-r--r--pkgs/development/python-modules/georss-tfs-incidents-client/default.nix37
-rw-r--r--pkgs/development/python-modules/georss-wa-dfes-client/default.nix37
-rw-r--r--pkgs/development/python-modules/haversine/default.nix4
-rw-r--r--pkgs/development/python-modules/icmplib/default.nix8
-rw-r--r--pkgs/development/python-modules/influxdb-client/default.nix14
-rw-r--r--pkgs/development/python-modules/motioneye-client/default.nix4
-rw-r--r--pkgs/development/python-modules/pglast/default.nix23
-rw-r--r--pkgs/development/python-modules/pyls-black/default.nix29
-rw-r--r--pkgs/development/python-modules/sanic/default.nix2
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix30
-rw-r--r--pkgs/development/python-modules/subliminal/default.nix5
-rw-r--r--pkgs/development/python-modules/userpath/default.nix4
-rw-r--r--pkgs/development/python-modules/zipstream/default.nix2
-rw-r--r--pkgs/development/r-modules/default.nix1
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix4
-rw-r--r--pkgs/development/tools/analysis/tflint/default.nix8
-rw-r--r--pkgs/development/tools/earthly/default.nix13
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/f2c/default.nix32
-rw-r--r--pkgs/development/tools/go-toml/default.nix4
-rw-r--r--pkgs/development/tools/lazygit/default.nix4
-rw-r--r--pkgs/development/tools/misc/coccinelle/default.nix26
-rw-r--r--pkgs/development/tools/misc/strace/default.nix8
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix4
-rw-r--r--pkgs/development/tools/ocaml/merlin/4.x.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlformat/generic.nix8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammar.nix3
-rw-r--r--pkgs/games/fheroes2/default.nix45
-rw-r--r--pkgs/games/lunar-client/default.nix4
-rw-r--r--pkgs/games/stockfish/default.nix8
-rw-r--r--pkgs/games/torus-trooper/default.nix104
-rw-r--r--pkgs/games/tumiki-fighters/default.nix97
-rw-r--r--pkgs/games/unvanquished/default.nix191
-rw-r--r--pkgs/misc/screensavers/betterlockscreen/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/generated.nix700
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names4
-rw-r--r--pkgs/os-specific/linux/mwprocapture/default.nix14
-rw-r--r--pkgs/os-specific/linux/pam_u2f/default.nix12
-rw-r--r--pkgs/os-specific/linux/ryzenadj/default.nix27
-rw-r--r--pkgs/servers/consul/default.nix6
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/process-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/zabbix/agent2.nix5
-rw-r--r--pkgs/servers/openafs/1.8/module.nix10
-rw-r--r--pkgs/servers/unpackerr/default.nix6
-rw-r--r--pkgs/stdenv/generic/default.nix7
-rw-r--r--pkgs/tools/admin/gixy/default.nix2
-rw-r--r--pkgs/tools/audio/liquidsoap/full.nix2
-rw-r--r--pkgs/tools/backup/borgmatic/default.nix8
-rw-r--r--pkgs/tools/cd-dvd/bootiso/default.nix48
-rw-r--r--pkgs/tools/games/gamemode/default.nix104
-rw-r--r--pkgs/tools/games/gamemode/preload-nix-workaround.patch12
-rw-r--r--pkgs/tools/graphics/astc-encoder/default.nix4
-rw-r--r--pkgs/tools/inputmethods/remote-touchpad/default.nix6
-rw-r--r--pkgs/tools/misc/depotdownloader/default.nix49
-rw-r--r--pkgs/tools/misc/depotdownloader/deps.nix88
-rw-r--r--pkgs/tools/misc/ethminer/default.nix16
-rw-r--r--pkgs/tools/misc/handlr/default.nix10
-rw-r--r--pkgs/tools/misc/mmv/default.nix4
-rw-r--r--pkgs/tools/misc/plantuml-server/default.nix6
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/veikk-linux-driver-gui/default.nix32
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/misc/zellij/default.nix6
-rw-r--r--pkgs/tools/networking/ddclient/default.nix17
-rw-r--r--pkgs/tools/networking/ngrok-2/default.nix3
-rw-r--r--pkgs/tools/networking/subfinder/default.nix21
-rw-r--r--pkgs/tools/networking/subfinder/deps.nix165
-rw-r--r--pkgs/tools/security/gpg-tui/default.nix6
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock24
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix42
-rw-r--r--pkgs/tools/security/oath-toolkit/default.nix6
-rwxr-xr-xpkgs/tools/security/oath-toolkit/update.sh50
-rw-r--r--pkgs/tools/security/qdigidoc/default.nix9
-rw-r--r--pkgs/tools/security/qdigidoc/qt5.15.patch39
-rw-r--r--pkgs/tools/text/replace/default.nix9
-rw-r--r--pkgs/tools/typesetting/satysfi/default.nix2
-rw-r--r--pkgs/tools/wayland/wlrctl/default.nix26
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix70
-rw-r--r--pkgs/top-level/dotnet-packages.nix83
-rw-r--r--pkgs/top-level/ocaml-packages.nix8
-rw-r--r--pkgs/top-level/python-packages.nix26
206 files changed, 3912 insertions, 1112 deletions
diff --git a/pkgs/applications/audio/bjumblr/default.nix b/pkgs/applications/audio/bjumblr/default.nix
index 608839fc16ac..ce81415cd5db 100644
--- a/pkgs/applications/audio/bjumblr/default.nix
+++ b/pkgs/applications/audio/bjumblr/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, libX11, cairo, lv2, pkg-config, libsndfile }:
 
 stdenv.mkDerivation rec {
-  pname = "BJumblr";
+  pname = "bjumblr";
   version = "1.6.6";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
-    repo = pname;
+    repo = "BJumblr";
     rev = version;
     sha256 = "1nbxi54023vck3qgmr385cjzinmdnvz62ywb6bcksmc3shl080mg";
   };
diff --git a/pkgs/applications/audio/boops/default.nix b/pkgs/applications/audio/boops/default.nix
new file mode 100644
index 000000000000..b1b91aaf9de0
--- /dev/null
+++ b/pkgs/applications/audio/boops/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, lib, fetchFromGitHub, xorg, cairo, lv2, libsndfile, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "boops";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "sjaehn";
+    repo = "BOops";
+    rev = version;
+    sha256 = "sha256-7eNvt8PxIZCp83Y5XX5fBolBon4j+HPtu8wrgG8Miok=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    xorg.libX11 cairo lv2 libsndfile
+  ];
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/sjaehn/BOops";
+    description = "Sound glitch effect sequencer LV2 plugin";
+    maintainers = [ maintainers.magnetophon ];
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/applications/audio/bsequencer/default.nix b/pkgs/applications/audio/bsequencer/default.nix
index 58b48a581ae1..8fb646855952 100644
--- a/pkgs/applications/audio/bsequencer/default.nix
+++ b/pkgs/applications/audio/bsequencer/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }:
 
 stdenv.mkDerivation rec {
-  pname = "BSEQuencer";
+  pname = "bsequencer";
   version = "1.8.8";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
-    repo = pname;
+    repo = "BSEQuencer";
     rev = version;
     sha256 = "sha256-OArIMf0XP9CKDdb3H4s8jMzVRjoLFQDPmTS9rS2KW3w=";
   };
diff --git a/pkgs/applications/audio/bshapr/default.nix b/pkgs/applications/audio/bshapr/default.nix
index de8566709c1a..e1a83537a6a0 100644
--- a/pkgs/applications/audio/bshapr/default.nix
+++ b/pkgs/applications/audio/bshapr/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }:
 
 stdenv.mkDerivation rec {
-  pname = "BShapr";
+  pname = "bshapr";
   version = "0.12";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
-    repo = pname;
+    repo = "BShapr";
     rev = "v${version}";
     sha256 = "sha256-2DySlD5ZTxeQ2U++Dr67bek5oVbAiOHCxM6S5rTTZN0=";
   };
diff --git a/pkgs/applications/audio/bslizr/default.nix b/pkgs/applications/audio/bslizr/default.nix
index 01dd736dc59c..743f1080854a 100644
--- a/pkgs/applications/audio/bslizr/default.nix
+++ b/pkgs/applications/audio/bslizr/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, xorg, cairo, lv2, pkg-config }:
 
 stdenv.mkDerivation rec {
-  pname = "BSlizr";
+  pname = "bslizr";
   version = "1.2.14";
 
   src = fetchFromGitHub {
     owner = "sjaehn";
-    repo = pname;
+    repo = "BSlizr";
     rev = version;
     sha256 = "sha256-dut3I68tJWQH+X6acKROqb5HywufeBQ4/HkXFKsA3hY=";
   };
diff --git a/pkgs/applications/audio/diopser/default.nix b/pkgs/applications/audio/diopser/default.nix
new file mode 100644
index 000000000000..0c97d64945ba
--- /dev/null
+++ b/pkgs/applications/audio/diopser/default.nix
@@ -0,0 +1,76 @@
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
+, libjack2, alsaLib, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
+}:
+
+let
+
+  # Derived from subprojects/function2.wrap
+  function2 = rec {
+    version = "4.1.0";
+    src = fetchFromGitHub {
+      owner = "Naios";
+      repo = "function2";
+      rev = version;
+      hash = "sha256-JceZU8ZvtYhFheh8BjMvjjZty4hcYxHEK+IIo5X4eSk=";
+    };
+  };
+
+  juce = rec {
+    version = "unstable-2021-04-07";
+    src = fetchFromGitHub {
+      owner = "juce-framework";
+      repo = "JUCE";
+      rev = "1a5fb5992a1a4e28e998708ed8dce2cc864a30d7";
+      sha256= "1ri7w4sz3sy5xilibg53ls9526fx7jwbv8rc54ccrqfhxqyin308";
+    };
+  };
+
+
+in  stdenv.mkDerivation rec {
+  pname = "diopser";
+  version = "unstable-2021-5-13";
+
+  src = fetchFromGitHub {
+    owner = "robbert-vdh";
+    repo = pname;
+    fetchSubmodules = true;
+    rev = "d5fdc92f1caf5a828e071dac99e106e58f06d84d";
+    sha256 = "06y1h895yxh44gp4vxzrna59lf7nlfw7aacd3kk4l1g56jhy9pdx";
+  };
+
+  postUnpack = ''
+    (
+      cd "$sourceRoot"
+      cp -R --no-preserve=mode,ownership ${function2.src} function2
+      cp -R --no-preserve=mode,ownership ${juce.src} JUCE
+      sed -i 's@CPMAddPackage("gh:juce-framework/JUCE.*@add_subdirectory(JUCE)@g' CMakeLists.txt
+      sed -i 's@CPMAddPackage("gh:Naios/function2.*@add_subdirectory(function2)@g' CMakeLists.txt
+      patchShebangs .
+    )
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/vst3
+    cp -r Diopser_artefacts/Release/VST3/Diopser.vst3 $out/lib/vst3
+  '';
+
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [
+    libjack2 alsaLib freetype libX11 libXrandr libXinerama libXext
+    libXcursor
+  ];
+
+  cmakeFlags = [
+    "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib"
+  ];
+
+  meta = with lib; {
+    description = "A totally original phase rotation plugin";
+    homepage = "https://github.com/robbert-vdh/diopser";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ magnetophon ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/audio/faust/faust2.nix b/pkgs/applications/audio/faust/faust2.nix
index 051caf120fa2..995618af4ce5 100644
--- a/pkgs/applications/audio/faust/faust2.nix
+++ b/pkgs/applications/audio/faust/faust2.nix
@@ -20,13 +20,13 @@ with lib.strings;
 
 let
 
-  version = "unstable-2020-08-27";
+  version = "2.30.5";
 
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faust";
-    rev = "c10f316fa90f338e248787ebf55e3795c3a0d70e";
-    sha256 = "068pm04ddafbsj2r8akdpqyzb0m8mp9ql0rgi83hcqs4ndr8v7sb";
+    rev = version;
+    sha256 = "0cs52w4rwaj5d8pjak4cxsg02sxvx4y07592nc3ck81clqjmszmm";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/faust/faustlive.nix b/pkgs/applications/audio/faust/faustlive.nix
index 20afb6fd7617..2b4602f78cfd 100644
--- a/pkgs/applications/audio/faust/faustlive.nix
+++ b/pkgs/applications/audio/faust/faustlive.nix
@@ -1,22 +1,24 @@
 { lib, stdenv, fetchFromGitHub
-, llvm, qt48Full, qrencode, libmicrohttpd_0_9_70, libjack2, alsaLib, faust, curl
-, bc, coreutils, which, libsndfile, pkg-config
+, llvm_10, qt5, qrencode, libmicrohttpd, libjack2, alsaLib, faust, curl
+, bc, coreutils, which, libsndfile, pkg-config, libxcb
 }:
 
 stdenv.mkDerivation rec {
   pname = "faustlive";
-  version = "unstable-dev-2020-08-03";
+  version = "2.5.5";
   src = fetchFromGitHub {
     owner = "grame-cncm";
     repo = "faustlive";
-    rev = "c16565dc1b616ac0aad7c303c1997fa9e57177ab";
-    sha256 = "1ys661lp1xwz21vy12kwkg248jvjq1z9w433knkh0ldyy2igvmd5";
+    rev = version;
+    sha256 = "0qbn05nq170ckycwalkk5fppklc4g457mapr7p7ryrhc1hwzffm9";
     fetchSubmodules = true;
   };
 
+  nativeBuildInputs = [ pkg-config qt5.wrapQtAppsHook ];
+
   buildInputs = [
-    llvm qt48Full qrencode libmicrohttpd_0_9_70 libjack2 alsaLib faust curl
-    bc coreutils which libsndfile pkg-config
+    llvm_10 qt5.qtbase qrencode libmicrohttpd libjack2 alsaLib faust curl
+    bc coreutils which libsndfile libxcb
   ];
 
   makeFlags = [ "PREFIX=$(out)" ];
@@ -39,5 +41,6 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://faust.grame.fr/";
     license = licenses.gpl3;
+    maintainers = with maintainers; [ magnetophon ];
   };
 }
diff --git a/pkgs/applications/audio/faustPhysicalModeling/default.nix b/pkgs/applications/audio/faustPhysicalModeling/default.nix
new file mode 100644
index 000000000000..f55cee957c77
--- /dev/null
+++ b/pkgs/applications/audio/faustPhysicalModeling/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+stdenv.mkDerivation rec {
+  pname = "faustPhysicalModeling";
+  version = "2.20.2";
+
+  src = fetchFromGitHub {
+    owner = "grame-cncm";
+    repo = "faust";
+    rev = version;
+    sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a";
+  };
+
+  buildInputs = [ faust2jaqt faust2lv2 ];
+
+  buildPhase = ''
+    cd examples/physicalModeling
+
+    for f in *MIDI.dsp; do
+      faust2jaqt -time -vec -double -midi -nvoices 16 -t 99999 $f
+      faust2lv2  -time -vec -double -gui -nvoices 16 -t 99999 $f
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2 $out/bin
+    mv *.lv2/ $out/lib/lv2
+    for f in $(find . -executable -type f); do
+      cp $f $out/bin/
+    done
+  '';
+
+  meta = with lib; {
+    description = "The physical models included with faust compiled as jack standalone and lv2 instruments";
+    homepage = "https://github.com/grame-cncm/faust/tree/master-dev/examples/physicalModeling";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/faustStk/default.nix b/pkgs/applications/audio/faustStk/default.nix
new file mode 100644
index 000000000000..85ebb1d9a021
--- /dev/null
+++ b/pkgs/applications/audio/faustStk/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
+
+stdenv.mkDerivation rec {
+  pname = "faustPhhysicalModeling";
+  version = "2.20.2";
+
+  src = fetchFromGitHub {
+    owner = "grame-cncm";
+    repo = "faust";
+    rev = version;
+    sha256 = "1mm93ba26b7q69hvabzalg30dh8pl858nj4m2bb57pznnp09lq9a";
+  };
+
+  buildInputs = [ faust2jaqt faust2lv2 ];
+
+  buildPhase = ''
+    cd examples/physicalModeling/faust-stk
+
+    for f in *.dsp; do
+      faust2jaqt -time -vec  -midi -nvoices 8 -t 99999 $f
+      faust2lv2  -time -vec -double -gui -nvoices 32 -t 99999 $f
+    done
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/lv2 $out/bin
+    mv *.lv2/ $out/lib/lv2
+    for f in $(find . -executable -type f); do
+      cp $f $out/bin/
+    done
+  '';
+  meta = with lib; {
+    description = "The physical modeling instruments included with faust, compiled as jack standalone and lv2 instruments";
+    homepage = "https://ccrma.stanford.edu/~rmichon/faustSTK/";
+    license = licenses.stk;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/gwc/default.nix b/pkgs/applications/audio/gwc/default.nix
index d6e7c0807a37..175d5e4cb51e 100644
--- a/pkgs/applications/audio/gwc/default.nix
+++ b/pkgs/applications/audio/gwc/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gwc";
-  version = "0.22-04";
+  version = "0.22-05";
 
   src = fetchFromGitHub {
     owner = "AlisterH";
     repo = pname;
     rev = version;
-    sha256 = "0xvfra32dchnnyf9kj5s5xmqhln8jdrc9f0040hjr2dsb58y206p";
+    sha256 = "sha256-FHKu5qAyRyMxXdWYTCeAc6Q4J+NOaU1SGgoTbe0PiFE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/helvum/default.nix b/pkgs/applications/audio/helvum/default.nix
index 1c2acb36f00d..1ecf9c56e861 100644
--- a/pkgs/applications/audio/helvum/default.nix
+++ b/pkgs/applications/audio/helvum/default.nix
@@ -1,5 +1,7 @@
 { lib
 , fetchFromGitLab
+, makeDesktopItem
+, copyDesktopItems
 , rustPlatform
 , pkg-config
 , clang
@@ -23,11 +25,19 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-uNTSU06Fz/ud04K40e98rb7o/uAht0DsiJOXeHX72vw=";
 
-  nativeBuildInputs = [ clang pkg-config ];
+  nativeBuildInputs = [ clang copyDesktopItems pkg-config ];
   buildInputs = [ glib gtk4 pipewire ];
 
   LIBCLANG_PATH = "${libclang.lib}/lib";
 
+  desktopItems = makeDesktopItem {
+    name = "Helvum";
+    exec = pname;
+    desktopName = "Helvum";
+    genericName = "Helvum";
+    categories = "AudioVideo;";
+  };
+
   meta = with lib; {
     description = "A GTK patchbay for pipewire";
     homepage = "https://gitlab.freedesktop.org/ryuukyu/helvum";
diff --git a/pkgs/applications/audio/songrec/default.nix b/pkgs/applications/audio/songrec/default.nix
new file mode 100644
index 000000000000..81bd3c67d7dd
--- /dev/null
+++ b/pkgs/applications/audio/songrec/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, gtk3
+, openssl
+, alsaLib
+, pkg-config
+, ffmpeg
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "songrec";
+  version = "0.1.8";
+
+  src = fetchFromGitHub {
+    owner = "marin-m";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-6siGLegNgvLdP7engwpKmhzWYqBXcMsfaXhJJ1tIqJg=";
+  };
+
+  cargoSha256 = "sha256-H4qJYcFjip71EVTGw50goj0HjKN9fmjQZqQDhaSKlaQ=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ alsaLib gtk3 openssl ffmpeg ];
+
+  meta = with lib; {
+    description = "An open-source Shazam client for Linux, written in Rust";
+    homepage = "https://github.com/marin-m/SongRec";
+    license = licenses.gpl3Only;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tcbravo ];
+  };
+}
diff --git a/pkgs/applications/audio/stochas/default.nix b/pkgs/applications/audio/stochas/default.nix
index 0c50cda8e6c0..aa4b4acf5145 100644
--- a/pkgs/applications/audio/stochas/default.nix
+++ b/pkgs/applications/audio/stochas/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stochas";
-  version = "1.3.4";
+  version = "1.3.5";
 
   src = fetchFromGitHub {
     owner = "surge-synthesizer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0b26mbj727dnygavz4kihnhmnnvwsr9l145w6kydq7bd7nwiw7lq";
+    sha256 = "1z8q53qfigw6wwbvpca92b9pf9d0mv3nyb0fmszz5ikj3pcybi7m";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/audio/uhhyou.lv2/default.nix b/pkgs/applications/audio/uhhyou.lv2/default.nix
index 9c748929d625..eb590c22bbfc 100644
--- a/pkgs/applications/audio/uhhyou.lv2/default.nix
+++ b/pkgs/applications/audio/uhhyou.lv2/default.nix
@@ -14,14 +14,14 @@ stdenv.mkDerivation rec {
   # this is what upstream calls the package, see:
   # https://github.com/ryukau/LV2Plugins#uhhyou-plugins-lv2
   pname = "uhhyou.lv2";
-  version = "unstable-2020-07-31";
+  version = "unstable-2021-02-08";
 
   src = fetchFromGitHub {
     owner = "ryukau";
     repo =  "LV2Plugins";
-    rev = "6189be67acaeb95452f8adab73a731d94a7b6f47";
+    rev = "df67460fc344f94db4306d4ee21e4207e657bbee";
     fetchSubmodules = true;
-    sha256 = "049gigx2s89z8vf17gscs00c150lmcdwya311nbrwa18fz4bx242";
+    sha256 = "1a23av35cw26zgq93yzmmw35084hsj29cb7sb04j2silv5qisila";
   };
 
   nativeBuildInputs = [ pkg-config python3 ];
@@ -31,8 +31,7 @@ stdenv.mkDerivation rec {
   makeFlags = [ "PREFIX=$(out)" ];
 
   prePatch = ''
-    patchShebangs generate-ttl.sh
-    cp patch/NanoVG.cpp lib/DPF/dgl/src/NanoVG.cpp
+    patchShebangs generate-ttl.sh patch.sh patch/apply.sh
   '';
 
   enableParallelBuilding = true;
@@ -41,6 +40,7 @@ stdenv.mkDerivation rec {
     description = "Audio plugins for Linux";
     longDescription = ''
       Plugin List:
+      - CollidingCombSynth
       - CubicPadSynth
       - EnvelopedSine
       - EsPhaser
diff --git a/pkgs/applications/blockchains/charge-lnd/default.nix b/pkgs/applications/blockchains/charge-lnd/default.nix
new file mode 100644
index 000000000000..3707b0741b6f
--- /dev/null
+++ b/pkgs/applications/blockchains/charge-lnd/default.nix
@@ -0,0 +1,39 @@
+{ lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "charge-lnd";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "accumulator";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1m1ic69aj2vlnjlp4ckan8n67r01nfysvq4w6nny32wjkr0zvphr";
+  };
+
+  propagatedBuildInputs = with python3Packages; [
+    aiorpcx
+    colorama
+    googleapis-common-protos
+    grpcio
+    protobuf
+    six
+    termcolor
+  ];
+
+  postInstall = ''
+    install README.md charge.config.example -Dt $out/share/doc/charge-lnd
+  '';
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/charge-lnd --help > /dev/null
+  '';
+
+  meta = with lib; {
+    description = "Simple policy-based fee manager for lightning network daemon";
+    homepage = "https://github.com/accumulator/charge-lnd";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ mmilata ];
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix b/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix
new file mode 100644
index 000000000000..658a18c05867
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/apheleia/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, emacs, lib }:
+
+stdenv.mkDerivation {
+  pname = "apheleia";
+  version = "2021-05-23";
+
+  src = fetchFromGitHub {
+    owner = "raxod502";
+    repo = "apheleia";
+    rev = "f865c165dac606187a66b2b25a57d5099b452120";
+    sha256 = "sha256-n37jJsNOGhSjUtQysG3NVIjjayhbOa52iTXBc8SyKXE=";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    runHook preBuild
+    emacs -L . --batch -f batch-byte-compile *.el
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Reformat buffer stably";
+    homepage = "https://github.com/raxod502/apheleia";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ leungbk ];
+    platforms = emacs.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/evil-markdown/default.nix b/pkgs/applications/editors/emacs/elisp-packages/evil-markdown/default.nix
new file mode 100644
index 000000000000..74fc1a179219
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/evil-markdown/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, emacs, emacsPackages, lib }:
+
+let
+  runtimeDeps = with emacsPackages; [
+    evil
+    markdown-mode
+  ];
+in
+stdenv.mkDerivation {
+  pname = "evil-markdown";
+  version = "2020-06-01";
+
+  src = fetchFromGitHub {
+    owner = "Somelauw";
+    repo = "evil-markdown";
+    rev = "064fe9b4767470472356d20bdd08e2f30ebbc9ac";
+    sha256 = "sha256-Kt2wxG1XCFowavVWtj0urM/yURKegonpZcxTy/+CrJY=";
+  };
+
+  buildInputs = [
+    emacs
+  ] ++ runtimeDeps;
+
+  propagatedUserEnvPkgs = runtimeDeps;
+
+  buildPhase = ''
+    runHook preBuild
+    emacs -L . --batch -f batch-byte-compile *.el
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Vim-like keybindings for markdown-mode";
+    homepage = "https://github.com/Somelauw/evil-markdown";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ leungbk ];
+    platforms = emacs.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/git-undo/default.nix b/pkgs/applications/editors/emacs/elisp-packages/git-undo/default.nix
new file mode 100644
index 000000000000..1b4da6340dc2
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/git-undo/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, emacs, lib }:
+
+stdenv.mkDerivation {
+  pname = "git-undo";
+  version = "2019-10-13";
+
+  src = fetchFromGitHub {
+    owner = "jwiegley";
+    repo = "git-undo-el";
+    rev = "cf31e38e7889e6ade7d2d2b9f8719fd44f52feb5";
+    sha256 = "sha256-cVkK9EF6qQyVV3uVqnBEjF8e9nEx/8ixnM8PvxqCyYE=";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    runHook preBuild
+    emacs -L . --batch -f batch-byte-compile *.el
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Revert region to most recent Git-historical version";
+    homepage = "https://github.com/jwiegley/git-undo-el";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ leungbk ];
+    platforms = emacs.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/isearch-plus/default.nix b/pkgs/applications/editors/emacs/elisp-packages/isearch-plus/default.nix
new file mode 100644
index 000000000000..64cfbde98b77
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/isearch-plus/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, emacs, lib }:
+
+stdenv.mkDerivation {
+  pname = "isearch-plus";
+  version = "2021-01-01";
+
+  src = fetchFromGitHub {
+    owner = "emacsmirror";
+    repo = "isearch-plus";
+    rev = "376a8f9f8a9666d7e61d125abcdb645847cb8619";
+    sha256 = "sha256-Kd5vpu+mI1tJPcsu7EpnnBcPVdVAijkAeTz+bLB3WlQ=";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    runHook preBuild
+    emacs -L . --batch -f batch-byte-compile *.el
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Extensions to isearch";
+    homepage = "https://www.emacswiki.org/emacs/download/isearch%2b.el";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with lib.maintainers; [ leungbk ];
+    platforms = emacs.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/isearch-prop/default.nix b/pkgs/applications/editors/emacs/elisp-packages/isearch-prop/default.nix
new file mode 100644
index 000000000000..0db28255f70c
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/isearch-prop/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, emacs, lib }:
+
+stdenv.mkDerivation {
+  pname = "isearch-prop";
+  version = "2019-05-01";
+
+  src = fetchFromGitHub {
+    owner = "emacsmirror";
+    repo = "isearch-prop";
+    rev = "4a2765f835dd115d472142da05215c4c748809f4";
+    sha256 = "sha256-A1Kt4nm7iRV9J5yaLupwiNL5g7ddZvQs79dggmqZ7Rk=";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    runHook preBuild
+    emacs -L . --batch -f batch-byte-compile *.el
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Search text- or overlay-property contexts";
+    homepage = "https://www.emacswiki.org/emacs/download/isearch-prop.el";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ leungbk ];
+    platforms = emacs.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
index 80cc7578b4fb..f862a1ae8a54 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix
@@ -65,11 +65,15 @@
     };
   };
 
+  apheleia = callPackage ./apheleia {};
+
   emacspeak = callPackage ./emacspeak {};
 
   ess-R-object-popup =
     callPackage ./ess-R-object-popup { };
 
+  evil-markdown = callPackage ./evil-markdown { };
+
   font-lock-plus = callPackage ./font-lock-plus { };
 
   ghc-mod = melpaBuild {
@@ -88,6 +92,8 @@
     };
   };
 
+  git-undo = callPackage ./git-undo { };
+
   haskell-unicode-input-method = melpaBuild {
     pname = "emacs-haskell-unicode-input-method";
     version = "20110905.2307";
@@ -111,6 +117,10 @@
 
   helm-words = callPackage ./helm-words { };
 
+  isearch-plus = callPackage ./isearch-plus { };
+
+  isearch-prop = callPackage ./isearch-prop { };
+
   jam-mode = callPackage ./jam-mode { };
 
   llvm-mode = trivialBuild {
@@ -177,6 +187,8 @@
 
   };
 
+  mu4e-patch = callPackage ./mu4e-patch { };
+
   org-mac-link =
     callPackage ./org-mac-link { };
 
@@ -206,6 +218,8 @@
 
   tramp = callPackage ./tramp { };
 
+  youtube-dl = callPackage ./youtube-dl { };
+
   zeitgeist = callPackage ./zeitgeist { };
 
   # From old emacsPackages (pre emacsPackagesNg)
diff --git a/pkgs/applications/editors/emacs/elisp-packages/mu4e-patch/default.nix b/pkgs/applications/editors/emacs/elisp-packages/mu4e-patch/default.nix
new file mode 100644
index 000000000000..4a436339ebc4
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/mu4e-patch/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, emacs, lib }:
+
+stdenv.mkDerivation {
+  pname = "mu4e-patch";
+  version = "2019-05-09";
+
+  src = fetchFromGitHub {
+    owner = "seanfarley";
+    repo = "mu4e-patch";
+    rev = "522da46c1653b1cacc79cde91d6534da7ae9517d";
+    sha256 = "sha256-1lV4dDuCdyCUXi/In2DzYJPEHuAc9Jfbz2ZecNZwn4I=";
+  };
+
+  buildInputs = [
+    emacs
+  ];
+
+  buildPhase = ''
+    runHook preBuild
+    emacs -L . --batch -f batch-byte-compile *.el
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Colorize patch emails in mu4e";
+    homepage = "https://github.com/seanfarley/mu4e-patch";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ leungbk ];
+    platforms = emacs.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/editors/emacs/elisp-packages/youtube-dl/default.nix b/pkgs/applications/editors/emacs/elisp-packages/youtube-dl/default.nix
new file mode 100644
index 000000000000..c99693463a64
--- /dev/null
+++ b/pkgs/applications/editors/emacs/elisp-packages/youtube-dl/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, emacs, lib }:
+
+stdenv.mkDerivation {
+  pname = "youtube-dl";
+  version = "2018-10-12";
+
+  src = fetchFromGitHub {
+    owner = "skeeto";
+    repo = "youtube-dl-emacs";
+    rev = "af877b5bc4f01c04fccfa7d47a2c328926f20ef4";
+    sha256 = "sha256-Etl95rcoRACDPjcTPQqYK2L+w8OZbOrTrRT0JadMdH4=";
+  };
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    runHook preBuild
+    emacs -L . --batch -f batch-byte-compile *.el
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -d $out/share/emacs/site-lisp
+    install *.el *.elc $out/share/emacs/site-lisp
+    runHook postInstall
+  '';
+
+  meta = {
+    description = "Emacs frontend to the youtube-dl utility";
+    homepage = "https://github.com/skeeto/youtube-dl-emacs";
+    license = lib.licenses.unlicense;
+    maintainers = with lib.maintainers; [ leungbk ];
+    platforms = emacs.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/misc/avell-unofficial-control-center/default.nix b/pkgs/applications/misc/avell-unofficial-control-center/default.nix
new file mode 100644
index 000000000000..45d4f69075d2
--- /dev/null
+++ b/pkgs/applications/misc/avell-unofficial-control-center/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "avell-unofficial-control-center";
+  version = "1.0.4";
+
+  src = fetchFromGitHub {
+    owner = "rodgomesc";
+    repo = "avell-unofficial-control-center";
+    # https://github.com/rodgomesc/avell-unofficial-control-center/issues/58
+    rev = "e32e243e31223682a95a719bc58141990eef35e6";
+    sha256 = "1qz1kv7p09nxffndzz9jlkzpfx26ppz66f8603zyamjq9dqdmdin";
+  };
+
+  # No tests included
+  doCheck = false;
+
+  propagatedBuildInputs = with python3Packages; [ pyusb elevate ];
+
+  meta = with lib; {
+    homepage = "https://github.com/rodgomesc/avell-unofficial-control-center";
+    description = "Software for controlling RGB keyboard lights on some gaming laptops that use ITE Device(8291) Rev 0.03";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rkitover ];
+  };
+}
diff --git a/pkgs/applications/misc/clifm/default.nix b/pkgs/applications/misc/clifm/default.nix
new file mode 100644
index 000000000000..7fc130700aa9
--- /dev/null
+++ b/pkgs/applications/misc/clifm/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, libcap, acl, file, readline }:
+
+stdenv.mkDerivation rec {
+  pname = "clifm";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "leo-arch";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0mf9lrq0l532vyf4ycsikrw8imn4gkavyn3cr42nhjsr1drygrp8";
+  };
+
+  buildInputs = [ libcap acl file readline ];
+
+  makeFlags = [
+    "INSTALLPREFIX=${placeholder "out"}/bin"
+    "DESKTOPPREFIX=${placeholder "out"}/share"
+  ];
+
+  preInstall = ''
+    mkdir -p $out/bin $out/share
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/leo-arch/clifm";
+    description = "CliFM is a CLI-based, shell-like, and non-curses terminal file manager written in C: simple, fast, extensible, and lightweight as hell";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ vonfry ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index e8e69cd787b2..1900b92e3bbe 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.0.16";
+  version = "0.1.3";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "dmgwFHJRy5qE71naRJKX0HCrVG0qQBOIM9TvCh4j/lY=";
+    sha256 = "1akg3xjbh01nb7l06qpvz3xsjj64kf042xjnapn60jlgg5y34vbm";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/moonlight-qt/default.nix b/pkgs/applications/misc/moonlight-qt/default.nix
index 2393fe09b37d..ad9baec8f992 100644
--- a/pkgs/applications/misc/moonlight-qt/default.nix
+++ b/pkgs/applications/misc/moonlight-qt/default.nix
@@ -15,6 +15,7 @@
 , openssl
 , libopus
 , ffmpeg
+, wayland
 }:
 
 stdenv.mkDerivation rec {
@@ -47,6 +48,7 @@ stdenv.mkDerivation rec {
     openssl
     libopus
     ffmpeg
+    wayland
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/nimbo/default.nix b/pkgs/applications/misc/nimbo/default.nix
index 1bc45bc6aee0..802a9f9a32c1 100644
--- a/pkgs/applications/misc/nimbo/default.nix
+++ b/pkgs/applications/misc/nimbo/default.nix
@@ -1,5 +1,6 @@
-{ lib, setuptools, boto3, requests, click, pyyaml, pydantic, buildPythonApplication
-, pythonOlder, fetchFromGitHub, awscli }:
+{ lib, setuptools, boto3, requests, click, pyyaml, pydantic
+, buildPythonApplication, pythonOlder, installShellFiles, fetchFromGitHub
+, awscli }:
 
 buildPythonApplication rec {
   pname = "nimbo";
@@ -12,13 +13,20 @@ buildPythonApplication rec {
     rev = "v${version}";
     sha256 = "1fs28s9ynfxrb4rzba6cmik0kl0q0vkpb4zdappsq62jqf960k24";
   };
-
+  nativeBuildInputs = [ installShellFiles ];
   propagatedBuildInputs = [ setuptools boto3 awscli requests click pyyaml pydantic ];
 
   # nimbo tests require an AWS instance
   doCheck = false;
   pythonImportsCheck = [ "nimbo" ];
 
+  postInstall = ''
+    installShellCompletion --cmd nimbo \
+      --zsh <(_NIMBO_COMPLETE=source_zsh $out/bin/nimbo) \
+      --bash <(_NIMBO_COMPLETE=source_bash $out/bin/nimbo) \
+      --fish  <(_NIMBO_COMPLETE=source_fish $out/bin/nimbo)
+  '';
+
   meta = with lib; {
     description = "Run machine learning jobs on AWS with a single command";
     homepage = "https://github.com/nimbo-sh/nimbo";
diff --git a/pkgs/applications/misc/openrgb/default.nix b/pkgs/applications/misc/openrgb/default.nix
index 728a2048bc3d..eeff215679ad 100644
--- a/pkgs/applications/misc/openrgb/default.nix
+++ b/pkgs/applications/misc/openrgb/default.nix
@@ -1,4 +1,4 @@
-{ lib, mkDerivation, fetchFromGitLab, qmake, libusb1, hidapi, pkg-config }:
+{ lib, mkDerivation, fetchFromGitLab, qmake, libusb1, hidapi, pkg-config, coreutils }:
 
 mkDerivation rec {
   pname = "openrgb";
@@ -15,11 +15,18 @@ mkDerivation rec {
   buildInputs = [ libusb1 hidapi ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp openrgb $out/bin
 
+    substituteInPlace 60-openrgb.rules \
+      --replace /bin/chmod "${coreutils}/bin/chmod"
+
     mkdir -p $out/etc/udev/rules.d
     cp 60-openrgb.rules $out/etc/udev/rules.d
+
+    runHook postInstall
   '';
 
   doInstallCheck = true;
@@ -27,13 +34,11 @@ mkDerivation rec {
     HOME=$TMPDIR $out/bin/openrgb --help > /dev/null
   '';
 
-  enableParallelBuilding = true;
-
   meta = with lib; {
     description = "Open source RGB lighting control";
     homepage = "https://gitlab.com/CalcProgrammer1/OpenRGB";
     maintainers = with maintainers; [ jonringer ];
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/sfm/default.nix b/pkgs/applications/misc/sfm/default.nix
new file mode 100644
index 000000000000..3bbcc939d2fb
--- /dev/null
+++ b/pkgs/applications/misc/sfm/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, conf ? null }:
+
+stdenv.mkDerivation rec {
+  pname = "sfm";
+  version = "0.1";
+
+  src = fetchFromGitHub {
+    owner = "afify";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-i4WzYaJKityIt+LPWCbd6UsPBaYoaS397l5BInOXQQA=";
+  };
+
+  configFile = lib.optionalString (conf!=null) (lib.writeText "config.def.h" conf);
+
+  postPatch = lib.optionalString (conf!=null) "cp ${configFile} config.def.h";
+
+  installFlags = [ "PREFIX=$(out)" ];
+
+  meta = with lib; {
+    description = "Simple file manager";
+    homepage = "https://github.com/afify/sfm";
+    license = licenses.isc;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ sikmir ];
+  };
+}
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index b0d215c47bb4..47bf0eb106bf 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -24,7 +24,8 @@ in python.pkgs.buildPythonPackage {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "aiohttp==3.6.2" "aiohttp>=3.6.2"
+      --replace "aiohttp==3.6.2" "aiohttp>=3.6.2" \
+      --replace "py-cpuinfo==7.0.0" "py-cpuinfo>=8.0.0"
   '';
 
   propagatedBuildInputs = with python.pkgs; [
diff --git a/pkgs/applications/networking/instant-messengers/discord/base.nix b/pkgs/applications/networking/instant-messengers/discord/base.nix
index a61ab254348b..110d3ffb00ee 100644
--- a/pkgs/applications/networking/instant-messengers/discord/base.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/base.nix
@@ -3,7 +3,7 @@
 , alsaLib, at-spi2-atk, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig
 , freetype, gdk-pixbuf, glib, gtk3, libcxx, libdrm, libnotify, libpulseaudio, libuuid
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
-, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb
+, libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence
 , mesa, nspr, nss, pango, systemd, libappindicator-gtk3, libdbusmenu
 }:
 
@@ -23,6 +23,7 @@ in stdenv.mkDerivation rec {
     libXScrnSaver
     libXtst
     libxcb
+    libxshmfence
     mesa
     nss
     wrapGAppsHook
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 0d75b3747922..e486cd9de62a 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -27,10 +27,10 @@ in {
     pname = "discord-canary";
     binaryName = "DiscordCanary";
     desktopName = "Discord Canary";
-    version = "0.0.123";
+    version = "0.0.124";
     src = fetchurl {
       url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-      sha256 = "0bijwfsd9s4awqkgxd9c2cxh7y5r06vix98qjp0dkv63r6jig8ch";
+      sha256 = "060ypr9rn5yl8iwh4v3ax1v6501yaq72sx50q47sm0wyxn7gpv91";
     };
   };
 }.${branch}
diff --git a/pkgs/applications/networking/instant-messengers/ferdi/default.nix b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
index c57b58eea0d8..5d3b251089cf 100644
--- a/pkgs/applications/networking/instant-messengers/ferdi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ferdi/default.nix
@@ -1,18 +1,33 @@
-{ lib, mkFranzDerivation, fetchurl }:
+{ lib, mkFranzDerivation, fetchurl, xorg, xdg-utils, buildEnv, writeShellScriptBin }:
 
-mkFranzDerivation rec {
+let
+  mkFranzDerivation' = mkFranzDerivation.override {
+    xdg-utils = buildEnv {
+      name = "xdg-utils-for-ferdi";
+      paths = [
+        xdg-utils
+        (lib.hiPrio (writeShellScriptBin "xdg-open" ''
+          unset GDK_BACKEND
+          exec ${xdg-utils}/bin/xdg-open "$@"
+        ''))
+      ];
+    };
+  };
+in
+mkFranzDerivation' rec {
   pname = "ferdi";
   name = "Ferdi";
-  version = "5.6.0-beta.5";
+  version = "5.6.0-beta.6";
   src = fetchurl {
     url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
-    sha256 = "sha256-fDUzYir53OQ3O4o9eG70sGD+FJ0/4SDNsTfh97WFRnQ=";
+    sha256 = "sha256-Q1HSAEVcaxFyOq7oWqa6AJJpsBKRxbsKb9ydyK/gH/A=";
   };
+  extraBuildInputs = [ xorg.libxshmfence ];
   meta = with lib; {
     description = "Combine your favorite messaging services into one application";
     homepage = "https://getferdi.com/";
     license = licenses.asl20;
-    maintainers = [ maintainers.davidtwco ];
+    maintainers = with maintainers; [ davidtwco ma27 ];
     platforms = [ "x86_64-linux" ];
     hydraPlatforms = [ ];
   };
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index 08afad8b56fa..6fac3657c7cb 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -28,7 +28,8 @@
 
 # Helper function for building a derivation for Franz and forks.
 
-{ pname, name, version, src, meta }:
+{ pname, name, version, src, meta, extraBuildInputs ? [] }:
+
 stdenv.mkDerivation rec {
   inherit pname version src meta;
 
@@ -36,7 +37,7 @@ stdenv.mkDerivation rec {
   dontPatchELF = true;
 
   nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapGAppsHook dpkg ];
-  buildInputs = (with xorg; [
+  buildInputs = extraBuildInputs ++ (with xorg; [
     libXi
     libXcursor
     libXdamage
diff --git a/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix b/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix
index 71f98bc08a6e..2ebf762c418b 100644
--- a/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix
+++ b/pkgs/applications/networking/instant-messengers/matrix-commander/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation {
   pname = "matrix-commander";
-  version = "unstable-2021-04-18";
+  version = "unstable-2021-05-26";
 
   src = fetchFromGitHub {
     owner = "8go";
     repo = "matrix-commander";
-    rev = "3e89a5f4c98dd191880ae371cc63eb9282d7d91f";
-    sha256 = "08nwwszp1kv5b7bgf6mmfn42slxkyhy98x18xbn4pglc4bj32iql";
+    rev = "06b4738bc74ee86fb3ac88c04b8230abf82e7421";
+    sha256 = "1skpq3xfnz11m298qnsw68xv391p5qg47flagzsk86pnzi841vc1";
   };
 
   buildInputs = [
@@ -35,7 +35,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "Simple but convenient CLI-based Matrix client app for sending and receiving";
     homepage = "https://github.com/8go/matrix-commander";
-    license = licenses.gpl3Only;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.seb314 ];
   };
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index cbec6babec3b..8782a4bc5beb 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -21,8 +21,11 @@ in mkRambox rec {
     description = "Free and Open Source messaging and emailing app that combines common web applications into one";
     homepage = "https://rambox.pro";
     license = licenses.mit;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
     platforms = ["i686-linux" "x86_64-linux"];
     hydraPlatforms = [];
+    knownVulnerabilities = [
+      "Electron 7.2.4 is EOL and contains at least the following vulnerabilities: CVE-2020-6458, CVE-2020-6460 and more (https://www.electronjs.org/releases/stable?version=7). Consider using an alternative such as `ferdi'."
+    ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 1c40c02243d9..a512e3a004d0 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -28,7 +28,7 @@ let
       else "");
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.3.0"; # Please backport all updates to the stable channel.
+  version = "5.4.0"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "15lclxw3njih90zlh2n90v8ljg0wnglw5w8jrpa7rbd789yagvq7";
+    sha256 = "046xy033ars70ay5ryj39i5053py00xj92ajdg212pamq415z1zb";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index 0224edc652fa..7496063c58ee 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation {
   version = "13.3.1.22";
 
   src = fetchurl {
-    url = "https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb";
+    # Official link: https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb
+    url = "http://web.archive.org/web/20210602004133/https://download.cdn.viber.com/cdn/desktop/Linux/viber.deb";
     sha256 = "0rs26x0lycavybn6k1hbb5kzms0zzcmxlrmi4g8k7vyafj6s8dqh";
   };
 
diff --git a/pkgs/applications/networking/irc/senpai/default.nix b/pkgs/applications/networking/irc/senpai/default.nix
new file mode 100644
index 000000000000..81a984c84cd9
--- /dev/null
+++ b/pkgs/applications/networking/irc/senpai/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildGoModule, fetchFromSourcehut, installShellFiles, scdoc }:
+
+buildGoModule rec {
+  pname = "senpai";
+  version = "unstable-2021-05-27";
+
+  src = fetchFromSourcehut {
+    owner = "~taiite";
+    repo = "senpai";
+    rev = "6be718329175c6d11e359f1a366ab6ab22b101d2";
+    sha256 = "sha256-hW6DHJlDBYEqK8zj5PvGKU54sbeXjx1tdqwKXPXlKHc=";
+  };
+
+  vendorSha256 = "sha256-OLi5y1hrYK6+l5WB1SX85QU4y3KjFyGaEzgbE6lnW2k=";
+
+  subPackages = [
+    "cmd/senpai"
+  ];
+
+  nativeBuildInputs = [
+    scdoc
+    installShellFiles
+  ];
+
+  postInstall = ''
+    scdoc < doc/senpai.1.scd > doc/senpai.1
+    scdoc < doc/senpai.5.scd > doc/senpai.5
+    installManPage doc/senpai.*
+  '';
+
+  meta = with lib; {
+    description = "Your everyday IRC student";
+    homepage = "https://ellidri.org/senpai";
+    license = licenses.isc;
+    maintainers = with maintainers; [ malvo ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/retroshare/default.nix b/pkgs/applications/networking/p2p/retroshare/default.nix
new file mode 100644
index 000000000000..e69155d4c2f4
--- /dev/null
+++ b/pkgs/applications/networking/p2p/retroshare/default.nix
@@ -0,0 +1,53 @@
+{ lib, mkDerivation, fetchFromGitHub, qmake, cmake, pkg-config, miniupnpc, bzip2
+, speex, libmicrohttpd, libxml2, libxslt, sqlcipher, rapidjson, libXScrnSaver
+, qtbase, qtx11extras, qtmultimedia, libgnome-keyring3
+}:
+
+mkDerivation rec {
+  pname = "retroshare";
+  version = "0.6.6";
+
+  src = fetchFromGitHub {
+    owner = "RetroShare";
+    repo = "RetroShare";
+    rev = "v${version}";
+    sha256 = "1hsymbhsfgycj39mdkrdp2hgq8irmvxa4a6jx2gg339m1fgf2xmh";
+    fetchSubmodules = true;
+  };
+
+  patches = [
+    # The build normally tries to get git sub-modules during build
+    # but we already have them checked out
+    ./no-submodules.patch
+  ];
+
+  nativeBuildInputs = [ pkg-config qmake cmake ];
+  buildInputs = [
+    speex miniupnpc qtmultimedia qtx11extras qtbase libgnome-keyring3
+    bzip2 libXScrnSaver libxml2 libxslt sqlcipher libmicrohttpd rapidjson
+  ];
+
+  qmakeFlags = [
+    # Upnp library autodetection doesn't work
+    "RS_UPNP_LIB=miniupnpc"
+
+    # These values are normally found from the .git folder
+    "RS_MAJOR_VERSION=${lib.versions.major version}"
+    "RS_MINOR_VERSION=${lib.versions.minor version}"
+    "RS_MINI_VERSION=${lib.versions.patch version}"
+    "RS_EXTRA_VERSION="
+  ];
+
+  postInstall = ''
+    # BT DHT bootstrap
+    cp libbitdht/src/bitdht/bdboot.txt $out/share/retroshare
+  '';
+
+  meta = with lib; {
+    description = "Decentralized peer to peer chat application.";
+    homepage = "http://retroshare.sourceforge.net/";
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ StijnDW ];
+  };
+}
diff --git a/pkgs/applications/networking/p2p/retroshare/no-submodules.patch b/pkgs/applications/networking/p2p/retroshare/no-submodules.patch
new file mode 100644
index 000000000000..d47268003090
--- /dev/null
+++ b/pkgs/applications/networking/p2p/retroshare/no-submodules.patch
@@ -0,0 +1,62 @@
+diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro
+index 84d18944e..71aeb67d2 100644
+--- a/libretroshare/src/libretroshare.pro
++++ b/libretroshare/src/libretroshare.pro
+@@ -870,20 +870,14 @@ rs_jsonapi {
+         genrestbedlib.variable_out = PRE_TARGETDEPS
+         win32-g++:isEmpty(QMAKE_SH) {
+             genrestbedlib.commands = \
+-                cd /D $$shell_path($${RS_SRC_PATH}) && git submodule update --init supportlibs/restbed || cd . $$escape_expand(\\n\\t) \
+-                cd /D $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/asio || cd . $$escape_expand(\\n\\t) \
+-                cd /D $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/catch || cd . $$escape_expand(\\n\\t )\
+-                cd /D $$shell_path($${RESTBED_SRC_PATH}) && git submodule update --init dependency/kashmir || cd . $$escape_expand(\\n\\t) \
++                cd /D $$shell_path($${RS_SRC_PATH}) && cd . $$escape_expand(\\n\\t) \
++                cd /D $$shell_path($${RESTBED_SRC_PATH}) && cd . $$escape_expand(\\n\\t) \
++                cd /D $$shell_path($${RESTBED_SRC_PATH}) && cd . $$escape_expand(\\n\\t )\
++                cd /D $$shell_path($${RESTBED_SRC_PATH}) && cd . $$escape_expand(\\n\\t) \
+                 $(CHK_DIR_EXISTS) $$shell_path($$UDP_DISCOVERY_BUILD_PATH) $(MKDIR) $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) $$escape_expand(\\n\\t)
+         } else {
+             genrestbedlib.commands = \
+-                cd $${RS_SRC_PATH} && ( \
+-                git submodule update --init supportlibs/restbed ; \
+-                cd $${RESTBED_SRC_PATH} ; \
+-                git submodule update --init dependency/asio ; \
+-                git submodule update --init dependency/catch ; \
+-                git submodule update --init dependency/kashmir ; \
+-                true ) && \
++                cd $${RS_SRC_PATH} && \
+                 mkdir -p $${RESTBED_BUILD_PATH} &&
+         }
+         genrestbedlib.commands += \
+@@ -991,14 +985,9 @@ rs_broadcast_discovery {
+         udpdiscoverycpplib.variable_out = PRE_TARGETDEPS
+         win32-g++:isEmpty(QMAKE_SH) {
+             udpdiscoverycpplib.commands = \
+-                cd /D $$shell_path($${RS_SRC_PATH}) && git submodule update --init supportlibs/udp-discovery-cpp || cd . $$escape_expand(\\n\\t) \
+                 $(CHK_DIR_EXISTS) $$shell_path($$UDP_DISCOVERY_BUILD_PATH) $(MKDIR) $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) $$escape_expand(\\n\\t)
+         } else {
+-            udpdiscoverycpplib.commands = \
+-                cd $${RS_SRC_PATH} && ( \
+-                git submodule update --init supportlibs/udp-discovery-cpp || \
+-                true ) && \
+-                mkdir -p $${UDP_DISCOVERY_BUILD_PATH} &&
++            udpdiscoverycpplib.commands = mkdir -p $${UDP_DISCOVERY_BUILD_PATH} &&
+         }
+         udpdiscoverycpplib.commands += \
+             cd $$shell_path($${UDP_DISCOVERY_BUILD_PATH}) && \
+diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro
+index 654efd170..06cba9ba3 100644
+--- a/retroshare-gui/src/retroshare-gui.pro
++++ b/retroshare-gui/src/retroshare-gui.pro
+@@ -66,10 +66,7 @@ rs_gui_cmark {
+ 		gencmarklib.CONFIG += target_predeps combine
+ 		gencmarklib.variable_out = PRE_TARGETDEPS
+ 		gencmarklib.commands = \
+-		    cd $${RS_SRC_PATH} && ( \
+-		    git submodule update --init supportlibs/cmark ; \
+-		    cd $${CMARK_SRC_PATH} ; \
+-		    true ) && \
++		    cd $${RS_SRC_PATH} && \
+ 		    mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \
+ 		    cmake \
+ 		        -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index 86a3e48ae8ff..522cef2b8a79 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.36";
+  version = "2.50";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "sha256-BVn+mV5SjyODcT+O8LXfGA42/Si5+GrdkjP0tAPiuTM=";
+    sha256 = "sha256-ai8/XryFw/7GYuWAmLkqHzK97QgTBPyE6m3dflck94w=";
   };
 
-  vendorSha256 = "sha256-qdgnoh+53o3idCfpkEFGK88aUVb2F6oHlSRZncs2hyY=";
+  vendorSha256 = "sha256-gJQDcACMWZWS4CgS2NDALoBzxu7Hh4ZW3f0gUFUALCM=";
 
   subPackages = [ "weed" ];
 
@@ -26,7 +26,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Simple and highly scalable distributed file system";
     homepage = "https://github.com/chrislusf/seaweedfs";
-    maintainers = [ maintainers.raboof ];
+    maintainers = with maintainers; [ cmacrae raboof ];
     license = licenses.asl20;
   };
 }
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index c5a38fd25001..4fe5272bc078 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -10,7 +10,7 @@ assert withQt  -> qt5  != null;
 with lib;
 
 let
-  version = "3.4.5";
+  version = "3.4.6";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -20,7 +20,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "sha256-3hqv0QCh4SB8hQ0YDpfdkauNoPXra+7FRfclzbFF0zM=";
+    sha256 = "0a26kcj3n1a2kw1f3fc6s1x3rw3f3bj2cq6rp7k0kc4ciwh7i9hj";
   };
 
   cmakeFlags = [
@@ -93,6 +93,7 @@ in stdenv.mkDerivation {
 
   meta = with lib; {
     homepage = "https://www.wireshark.org/";
+    changelog = "https://www.wireshark.org/docs/relnotes/wireshark-${version}.html";
     description = "Powerful network protocol analyzer";
     license = licenses.gpl2Plus;
 
diff --git a/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch b/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
index 21b6b1c579cd..5bda63b58451 100644
--- a/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
+++ b/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
@@ -1,5 +1,5 @@
 diff --git a/src/services/log.js b/src/services/log.js
-index b4c39e99..4c249154 100644
+index 1345ce39..a9770516 100644
 --- a/src/services/log.js
 +++ b/src/services/log.js
 @@ -1,14 +1,5 @@
@@ -17,7 +17,7 @@ index b4c39e99..4c249154 100644
  const SECOND = 1000;
  const MINUTE = 60 * SECOND;
  const HOUR = 60 * MINUTE;
-@@ -16,41 +7,7 @@ const DAY = 24 * HOUR;
+@@ -16,45 +7,7 @@ const DAY = 24 * HOUR;
  
  const NEW_LINE = process.platform === "win32" ? '\r\n' : '\n';
  
@@ -46,16 +46,19 @@ index b4c39e99..4c249154 100644
 -function checkDate(millisSinceMidnight) {
 -    if (millisSinceMidnight >= DAY) {
 -        initLogFile();
+-
+-        millisSinceMidnight =- DAY;
 -    }
+-
+-    return millisSinceMidnight;
 -}
 -
  function log(str) {
--    const millisSinceMidnight = Date.now() - todaysMidnight.getTime();
+-    let millisSinceMidnight = Date.now() - todaysMidnight.getTime();
 -
--    checkDate(millisSinceMidnight);
+-    millisSinceMidnight = checkDate(millisSinceMidnight);
 -
 -    logFile.write(formatTime(millisSinceMidnight) + ' ' + str + NEW_LINE);
 -
      console.log(str);
  }
- 
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index 51a12ea40dbf..d6b7e08b4be9 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.47.3";
+  version = "0.47.4";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "05l8yiqbqh2yr4cfbivpmj5q3jyzqz86wni36wcjlcg3rccms0hc";
+    sha256 = "0hvp6rpvgda12ficzqkj7kllgmpzc8n4rvpgv0zi6fa5alkr944x";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "03nsvalaa0rch9i1kh6p5ynnsdmidm5zrw42klj70bamviklzsnh";
+    sha256 = "01bbg7ssszrq27zk7xzil2mawk1659h1hw68yvk8lbgc4n9phkqk";
   };
 
 in {
diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix
index ab16866fe01c..eb8246a584d3 100644
--- a/pkgs/applications/science/electronics/dsview/default.nix
+++ b/pkgs/applications/science/electronics/dsview/default.nix
@@ -25,6 +25,17 @@ mkDerivation rec {
     # Using local file instead of content of commit #33e3d896a47 because
     # sourceRoot make it unappliable
     ./qt515.patch
+
+    # Change from upstream master that removes extern-C scopes which
+    # cause failures with modern glib. This can likely be removed if
+    # there is an upstream release >1.12
+    (fetchpatch {
+      name = "fix-extern-c.patch";
+      url = "https://github.com/DreamSourceLab/DSView/commit/33cc733abe19872bf5ed08540a94b798d0d4ecf4.patch";
+      sha256 = "sha256-TLfLQa3sdyNHTpMMvId/V6uUuOFihOZMFJOj9frnDoY=";
+      stripLen = 2;
+      extraPrefix = "";
+    })
   ];
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix
index 5871ad01d91c..5377a7b3d118 100644
--- a/pkgs/applications/science/electronics/verilator/default.nix
+++ b/pkgs/applications/science/electronics/verilator/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "verilator";
-  version = "4.110";
+  version = "4.202";
 
   src = fetchurl {
-    url    = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
-    sha256 = "sha256-Rxb+AFhmGinWtZyvjnRxsu3b3tbtRO3njcHGUJTs/sw=";
+    url = "https://www.veripool.org/ftp/${pname}-${version}.tgz";
+    sha256 = "0ydn4304pminzq8zc1hsrb2fjrfqnb6akr45ky43jd29c4jgznnq";
   };
 
   enableParallelBuilding = true;
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Fast and robust (System)Verilog simulator/compiler";
     homepage    = "https://www.veripool.org/wiki/verilator";
-    license     = licenses.lgpl3;
+    license     = with licenses; [ lgpl3Only artistic2 ];
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
   };
diff --git a/pkgs/applications/science/logic/acgtk/default.nix b/pkgs/applications/science/logic/acgtk/default.nix
index 1cf08741206c..1de21e09f806 100644
--- a/pkgs/applications/science/logic/acgtk/default.nix
+++ b/pkgs/applications/science/logic/acgtk/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ dune_2 ] ++ (with ocamlPackages; [
-    ocaml findlib ansiterminal cairo2 cmdliner fmt logs menhir mtime yojson
+    ocaml findlib ansiterminal cairo2 cmdliner fmt logs menhir menhirLib mtime yojson
   ]);
 
   buildPhase = "dune build --profile=release";
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index deb40c742847..c56e5445f0be 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = with ocamlPackages; [
-    ocaml findlib ocamlgraph zarith menhir
+    ocaml findlib ocamlgraph zarith menhir menhirLib
     # Compressed Sessions
     # Emacs compilation of why3.el
     emacs
diff --git a/pkgs/applications/science/misc/graphia/default.nix b/pkgs/applications/science/misc/graphia/default.nix
new file mode 100644
index 000000000000..4b45a3c06fe1
--- /dev/null
+++ b/pkgs/applications/science/misc/graphia/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, lib, cmake, fetchFromGitHub
+, wrapQtAppsHook, qtbase, qtquickcontrols2, qtgraphicaleffects
+}:
+
+stdenv.mkDerivation rec {
+  pname = "graphia";
+  version = "2.2";
+
+  src = fetchFromGitHub {
+    owner = "graphia-app";
+    repo = "graphia";
+    rev = version;
+    sha256 = "sha256:05givvvg743sawqy2vhljkfgn5v1s907sflsnsv11ddx6x51na1w";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    wrapQtAppsHook
+  ];
+  buildInputs = [
+    qtbase
+    qtquickcontrols2
+    qtgraphicaleffects
+  ];
+
+  meta = with lib; {
+    description = "A visualisation tool for the creation and analysis of graphs.";
+    homepage = "https://graphia.app";
+    license = licenses.gpl3Only;
+    maintainers = [ maintainers.bgamari ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/terminal-emulators/wezterm/default.nix b/pkgs/applications/terminal-emulators/wezterm/default.nix
index b6d7dd763ed0..d214d6fabc3d 100644
--- a/pkgs/applications/terminal-emulators/wezterm/default.nix
+++ b/pkgs/applications/terminal-emulators/wezterm/default.nix
@@ -2,6 +2,7 @@
 , rustPlatform
 , lib
 , fetchFromGitHub
+, ncurses
 , pkg-config
 , fontconfig
 , python3
@@ -68,6 +69,8 @@ rustPlatform.buildRustPackage rec {
     fetchSubmodules = true;
   };
 
+  outputs = [ "out" "terminfo" ];
+
   postPatch = ''
     echo ${version} > .tag
   '';
@@ -78,10 +81,17 @@ rustPlatform.buildRustPackage rec {
     pkg-config
     python3
     perl
+    ncurses
   ];
 
   buildInputs = runtimeDeps;
 
+  postInstall = ''
+    mkdir -p $terminfo/share/terminfo/w $out/nix-support
+    tic -x -o $terminfo/share/terminfo termwiz/data/wezterm.terminfo
+    echo "$terminfo" >> $out/nix-support/propagated-user-env-packages
+  '';
+
   preFixup = lib.optionalString stdenv.isLinux ''
     for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
       patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $out/bin/$artifact
diff --git a/pkgs/applications/version-management/git-and-tools/tig/default.nix b/pkgs/applications/version-management/git-and-tools/tig/default.nix
index 753a3443c315..fd57eb22186f 100644
--- a/pkgs/applications/version-management/git-and-tools/tig/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/tig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tig";
-  version = "2.5.3";
+  version = "2.5.4";
 
   src = fetchFromGitHub {
     owner = "jonas";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-BXs7aKUYiU5L2OjhhmJ+dkHvNcrnw5qREwOTB6npLnw=";
+    sha256 = "sha256-dZqqUydZ4q/mDEjtojpMGfzAmW3yCNDvT9oCEmhq1hg=";
   };
 
   nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkg-config ];
diff --git a/pkgs/applications/version-management/sourcehut/default.nix b/pkgs/applications/version-management/sourcehut/default.nix
index 43d783e1934d..401a1437b7d9 100644
--- a/pkgs/applications/version-management/sourcehut/default.nix
+++ b/pkgs/applications/version-management/sourcehut/default.nix
@@ -31,6 +31,7 @@ let
 in
 with python.pkgs; recurseIntoAttrs {
   inherit python;
+  coresrht = toPythonApplication srht;
   buildsrht = toPythonApplication buildsrht;
   dispatchsrht = toPythonApplication dispatchsrht;
   gitsrht = toPythonApplication gitsrht;
diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix
index 9d940cd29b41..81b5be75f3bc 100644
--- a/pkgs/applications/video/lightworks/default.nix
+++ b/pkgs/applications/video/lightworks/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
 , gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU
-, libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsaLib, udev
+, libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsaLib, udev, libjack2
 }:
 let
   fullPath = lib.makeLibraryPath [
@@ -18,6 +18,7 @@ let
     openssl
     libuuid
     alsaLib
+    libjack2
     udev
   ];
 
diff --git a/pkgs/applications/video/mpv/scripts/youtube-quality.nix b/pkgs/applications/video/mpv/scripts/youtube-quality.nix
new file mode 100644
index 000000000000..3c55a36d0a79
--- /dev/null
+++ b/pkgs/applications/video/mpv/scripts/youtube-quality.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, oscSupport ? false
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "mpv-playlistmanager";
+  version = "unstable-2020-02-11";
+
+  src = fetchFromGitHub {
+    owner = "jgreco";
+    repo = "mpv-youtube-quality";
+    rev = "1f8c31457459ffc28cd1c3f3c2235a53efad7148";
+    sha256 = "voNP8tCwCv8QnAZOPC9gqHRV/7jgCAE63VKBd/1s5ic=";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/share/mpv/scripts
+    cp youtube-quality.lua $out/share/mpv/scripts
+  '' + lib.optionalString oscSupport ''
+    cp youtube-quality-osc.lua $out/share/mpv/scripts
+  '' + ''
+    runHook postInstall
+  '';
+
+  passthru.scriptName = "youtube-quality.lua";
+
+  meta = with lib; {
+    description = "A userscript for MPV that allows you to change youtube video quality (ytdl-format) on the fly";
+    homepage = "https://github.com/jgreco/mpv-youtube-quality";
+    license = licenses.unfree;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ lunik1 ];
+  };
+}
diff --git a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
index a438b80e1829..27e70e3fe5c4 100644
--- a/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
+++ b/pkgs/build-support/build-fhs-userenv/chrootenv/chrootenv.c
@@ -43,7 +43,6 @@ const gchar *create_tmpdir() {
 void pivot_host(const gchar *guest) {
   g_autofree gchar *point = g_build_filename(guest, "host", NULL);
   fail_if(g_mkdir(point, 0755));
-  fail_if(mount(0, "/", 0, MS_PRIVATE | MS_REC, 0));
   fail_if(pivot_root(guest, point));
 }
 
@@ -122,6 +121,9 @@ int main(gint argc, gchar **argv) {
       fail("unshare", unshare_errno);
     }
 
+    // hide all mounts we do from the parent
+    fail_if(mount(0, "/", 0, MS_PRIVATE | MS_REC, 0));
+
     if (uid != 0) {
       spit("/proc/self/setgroups", "deny");
       spit("/proc/self/uid_map", "%d %d 1", uid, uid);
diff --git a/pkgs/build-support/make-desktopitem/default.nix b/pkgs/build-support/make-desktopitem/default.nix
index 329286bd3628..1491a3ad9119 100644
--- a/pkgs/build-support/make-desktopitem/default.nix
+++ b/pkgs/build-support/make-desktopitem/default.nix
@@ -12,6 +12,8 @@
 , mimeType ? null
 , categories ? null
 , startupNotify ? null
+, noDisplay ? null
+, prefersNonDefaultGPU ? null
 , extraDesktopEntries ? { } # Extra key-value pairs to add to the [Desktop Entry] section. This may override other values
 , extraEntries ? "" # Extra configuration. Will be appended to the end of the file and may thus contain extra sections
 , fileValidation ? true # whether to validate resulting desktop file.
@@ -35,6 +37,8 @@ let
     "MimeType" = nullableToString mimeType;
     "Categories" = nullableToString categories;
     "StartupNotify" = nullableToString startupNotify;
+    "NoDisplay" = nullableToString noDisplay;
+    "PrefersNonDefaultGPU" = nullableToString prefersNonDefaultGPU;
   } // extraDesktopEntries;
 
   # Map all entries to a list of lines
diff --git a/pkgs/data/fonts/edwin/default.nix b/pkgs/data/fonts/edwin/default.nix
new file mode 100644
index 000000000000..4b1688dbc55e
--- /dev/null
+++ b/pkgs/data/fonts/edwin/default.nix
@@ -0,0 +1,29 @@
+{ lib, fetchurl }:
+
+let
+  version = "0.52";
+in fetchurl {
+  name = "edwin-${version}";
+
+  url = "https://github.com/MuseScoreFonts/Edwin/archive/refs/tags/v${version}.tar.gz";
+
+  downloadToTemp = true;
+
+  recursiveHash = true;
+
+  sha256 = "sha256-e0ADK72ECl+QMvLWtFJfeHBmuEwzr9M+Kqvkd5Z2mmo=";
+
+  postFetch = ''
+    tar xzf $downloadedFile
+    mkdir -p $out/share/fonts/opentype
+    install Edwin-${version}/*.otf $out/share/fonts/opentype
+  '';
+
+  meta = with lib; {
+    description = "A text font for musical scores";
+    homepage = "https://github.com/MuseScoreFonts/Edwin";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/pkgs/desktops/gnome/apps/gnome-boxes/default.nix b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
index 605275be7ded..8d0e86b1a93b 100644
--- a/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-boxes/default.nix
@@ -49,15 +49,16 @@
 , webkitgtk
 , vte
 , glib-networking
+, qemu-utils
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-boxes";
-  version = "40.1";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "seKPLH+3a/T7uGLQ1S6BG5TL6f8W8GdAiWRWhpCILvg=";
+    sha256 = "hzN1mi2GpWNnWWpTSQRjO4HKqlxFpWNtsulZDHFK6Nk=";
   };
 
   doCheck = true;
@@ -120,7 +121,7 @@ stdenv.mkDerivation rec {
   ];
 
   preFixup = ''
-    gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ mtools cdrkit libcdio ]}")
+    gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ mtools cdrkit libcdio qemu-utils ]}")
   '';
 
   postPatch = ''
diff --git a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
index 9c0b1f659768..da2e37e51fc4 100644
--- a/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-calendar/default.nix
@@ -24,11 +24,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-calendar";
-  version = "40.1";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "2M30n57uHDo8aZHDL4VjxKfE2w23ymPOUcyRjkM7M6U=";
+    sha256 = "njcB/UoOWJgA0iUgN3BkTzHVI0ZV9UqDqF/wVW3X6jM=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 2818215a4ff9..0a07428b1b22 100644
--- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -29,11 +29,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-maps";
-  version = "40.1";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-mAXUwFs6NpV0bTdisoFr/+bZ19VuF7y7nZ1B3C0CYxo=";
+    sha256 = "sha256-g+gVAFTQxLWmPJoJvyx9+YmuaQ7Kwb5r97ExKqpjm9Q=";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome/core/epiphany/default.nix b/pkgs/desktops/gnome/core/epiphany/default.nix
index f286d384c4e8..0b4191b2266c 100644
--- a/pkgs/desktops/gnome/core/epiphany/default.nix
+++ b/pkgs/desktops/gnome/core/epiphany/default.nix
@@ -37,11 +37,11 @@
 
 stdenv.mkDerivation rec {
   pname = "epiphany";
-  version = "40.1";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "1l0sb1xg16g4wg3z99xb0w2kbyczbn7q4mphs3w4lxq22xml4sk9";
+    sha256 = "dRGeIgZWV89w7ytgPU9zg1VzvQNPHmGMD2YkeP1saDU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index 0ed3565d7f03..8781a2aa7fde 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.40.1";
+  version = "3.40.2";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "08iykha7zhk21b3axsp3v1jfwda612v0m8rz8zlzppm5i8s5ziza";
+    sha256 = "7IKVFjnzKlzs6AqLC5qj9mt9MY4+4sHDUjTy4r3opBg=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index 64cd214e8090..226b251ec46a 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -43,11 +43,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "40.1";
+  version = "40.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "16q2902swxsjdxb1nj335sv1bb76rvq4w6dn4yszkwf3s0fd86in";
+    sha256 = "y9HdKguvw/U93kIAPEpKA3RsuNZNxdJ+uNvmc27nJ5Y=";
   };
 
   patches = [
diff --git a/pkgs/development/beam-modules/rebar3-release.nix b/pkgs/development/beam-modules/rebar3-release.nix
index e8e2aecc460c..d2c9da6414fa 100644
--- a/pkgs/development/beam-modules/rebar3-release.nix
+++ b/pkgs/development/beam-modules/rebar3-release.nix
@@ -80,11 +80,22 @@ let
       dir=${if releaseType == "escript"
             then "bin"
             else "rel"}
-      mkdir -p "$out/$dir"
+      mkdir -p "$out/$dir" "$out/bin"
       cp -R --preserve=mode "_build/${profile}/$dir" "$out"
+      ${lib.optionalString (releaseType == "release")
+        "find $out/rel/*/bin -type f -executable -exec ln -s -t $out/bin {} \\;"}
       runHook postInstall
     '';
 
+    postInstall = ''
+      for dir in $out/rel/*/erts-*; do
+        echo "ERTS found in $dir - removing references to erlang to reduce closure size"
+        for f in $dir/bin/{erl,start}; do
+          substituteInPlace "$f" --replace "${erlang}/lib/erlang" "''${dir/\/erts-*/}"
+        done
+      done
+    '';
+
     meta = {
       inherit (erlang.meta) platforms;
     } // meta;
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 4e550bac9a6a..beafd6414f43 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  ocaml-pkgs      = with ocamlPackages; [ ocaml findlib menhir ];
+  ocaml-pkgs      = with ocamlPackages; [ ocaml findlib menhir menhirLib ];
   ccomp-platform = if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux";
   inherit (coqPackages) coq flocq;
   inherit (lib) optional optionalString;
diff --git a/pkgs/development/compilers/cudatoolkit/common.nix b/pkgs/development/compilers/cudatoolkit/common.nix
index c18eb9d534a2..747de25142e5 100644
--- a/pkgs/development/compilers/cudatoolkit/common.nix
+++ b/pkgs/development/compilers/cudatoolkit/common.nix
@@ -147,6 +147,10 @@ stdenv.mkDerivation rec {
     mkdir -p $out/nix-support
     echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
 
+    # Set the host compiler to be used by nvcc for CMake-based projects:
+    # https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
+    echo "cmakeFlags+=' -DCUDA_HOST_COMPILER=${gcc}/bin'" >> $out/nix-support/setup-hook
+
     # Move some libraries to the lib output so that programs that
     # depend on them don't pull in this entire monstrosity.
     mkdir -p $lib/lib
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index 73bf001f7520..7abdf132b51e 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   buildInputs = with ocamlPackages; [
-    z3 ocaml findlib batteries menhir stdint
+    z3 ocaml findlib batteries menhir menhirLib stdint
     zarith camlp4 yojson pprint
     ulex ocaml-migrate-parsetree process ppx_deriving ppx_deriving_yojson ocamlbuild
   ];
diff --git a/pkgs/development/compilers/go/1.14.nix b/pkgs/development/compilers/go/1.14.nix
index 92c1cbdfc18b..e8a90ac0b8df 100644
--- a/pkgs/development/compilers/go/1.14.nix
+++ b/pkgs/development/compilers/go/1.14.nix
@@ -1,6 +1,20 @@
-{ lib, stdenv, fetchurl, tzdata, iana-etc, runCommand
-, perl, which, pkg-config, patch, procps, pcre, cacert, Security, Foundation
-, mailcap, runtimeShell
+{ lib
+, stdenv
+, fetchurl
+, tzdata
+, iana-etc
+, runCommand
+, perl
+, which
+, pkg-config
+, patch
+, procps
+, pcre
+, cacert
+, Security
+, Foundation
+, mailcap
+, runtimeShell
 , buildPackages
 , pkgsBuildTarget
 , fetchpatch
@@ -8,14 +22,9 @@
 }:
 
 let
-
-  inherit (lib) optionals optionalString;
-
-  version = "1.14.15";
-
   go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
 
-  goBootstrap = runCommand "go-bootstrap" {} ''
+  goBootstrap = runCommand "go-bootstrap" { } ''
     mkdir $out
     cp -rf ${go_bootstrap}/* $out/
     chmod -R u+w $out
@@ -41,7 +50,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  inherit version;
+  version = "1.14.15";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
@@ -51,10 +60,10 @@ stdenv.mkDerivation rec {
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkg-config patch procps ];
   buildInputs = [ cacert pcre ]
-    ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
-    ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+    ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+    ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
 
-  depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
+  depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
 
   hardeningDisable = [ "all" ];
 
@@ -106,14 +115,14 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
-  '' + optionalString stdenv.isLinux ''
+  '' + lib.optionalString stdenv.isLinux ''
     # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
     # that run outside a nix server
     sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
 
-  '' + optionalString stdenv.isAarch32 ''
+  '' + lib.optionalString stdenv.isAarch32 ''
     echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
-  '' + optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/race.bash --replace \
       "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
     sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
@@ -183,16 +192,18 @@ stdenv.mkDerivation rec {
 
   # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
   # to be different from CC/CXX
-  CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CC_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}cc"
     else
       null;
-  CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CXX_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}c++"
     else
       null;
 
-  GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
+  GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
   GO386 = 387; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
   # Hopefully avoids test timeouts on Hydra
@@ -202,7 +213,7 @@ stdenv.mkDerivation rec {
   # Some tests assume things like home directories and users exists
   GO_BUILDER_NAME = "nix";
 
-  GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
+  GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
 
   postConfigure = ''
     export GOCACHE=$TMPDIR/go-cache
@@ -211,7 +222,7 @@ stdenv.mkDerivation rec {
 
     export PATH=$(pwd)/bin:$PATH
 
-    ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
+    ${lib.optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
     # Independent from host/target, CC should produce code for the building system.
     # We only set it when cross-compiling.
     export CC=${buildPackages.stdenv.cc}/bin/cc
@@ -239,12 +250,12 @@ stdenv.mkDerivation rec {
   '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
     mv bin/*_*/* bin
     rmdir bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
     ''}
   '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
     rm -rf bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
     ''}
   '' else "");
diff --git a/pkgs/development/compilers/go/1.15.nix b/pkgs/development/compilers/go/1.15.nix
index 58cd616728c3..0a9b0ba9b278 100644
--- a/pkgs/development/compilers/go/1.15.nix
+++ b/pkgs/development/compilers/go/1.15.nix
@@ -1,6 +1,20 @@
-{ lib, stdenv, fetchurl, tzdata, iana-etc, runCommand
-, perl, which, pkg-config, patch, procps, pcre, cacert, Security, Foundation
-, mailcap, runtimeShell
+{ lib
+, stdenv
+, fetchurl
+, tzdata
+, iana-etc
+, runCommand
+, perl
+, which
+, pkg-config
+, patch
+, procps
+, pcre
+, cacert
+, Security
+, Foundation
+, mailcap
+, runtimeShell
 , buildPackages
 , pkgsBuildTarget
 , fetchpatch
@@ -8,14 +22,9 @@
 }:
 
 let
-
-  inherit (lib) optionals optionalString;
-
-  version = "1.15.13";
-
   go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
 
-  goBootstrap = runCommand "go-bootstrap" {} ''
+  goBootstrap = runCommand "go-bootstrap" { } ''
     mkdir $out
     cp -rf ${go_bootstrap}/* $out/
     chmod -R u+w $out
@@ -41,7 +50,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  inherit version;
+  version = "1.15.13";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
@@ -51,10 +60,10 @@ stdenv.mkDerivation rec {
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkg-config patch procps ];
   buildInputs = [ cacert pcre ]
-    ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
-    ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+    ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+    ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
 
-  depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
+  depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
 
   hardeningDisable = [ "all" ];
 
@@ -114,14 +123,14 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
-  '' + optionalString stdenv.isLinux ''
+  '' + lib.optionalString stdenv.isLinux ''
     # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
     # that run outside a nix server
     sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
 
-  '' + optionalString stdenv.isAarch32 ''
+  '' + lib.optionalString stdenv.isAarch32 ''
     echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
-  '' + optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/race.bash --replace \
       "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
     sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
@@ -186,16 +195,18 @@ stdenv.mkDerivation rec {
 
   # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
   # to be different from CC/CXX
-  CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CC_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}cc"
     else
       null;
-  CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CXX_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}c++"
     else
       null;
 
-  GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
+  GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
   GO386 = 387; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
   # Hopefully avoids test timeouts on Hydra
@@ -205,7 +216,7 @@ stdenv.mkDerivation rec {
   # Some tests assume things like home directories and users exists
   GO_BUILDER_NAME = "nix";
 
-  GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
+  GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
 
   postConfigure = ''
     export GOCACHE=$TMPDIR/go-cache
@@ -214,7 +225,7 @@ stdenv.mkDerivation rec {
 
     export PATH=$(pwd)/bin:$PATH
 
-    ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
+    ${lib.optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
     # Independent from host/target, CC should produce code for the building system.
     # We only set it when cross-compiling.
     export CC=${buildPackages.stdenv.cc}/bin/cc
@@ -242,12 +253,12 @@ stdenv.mkDerivation rec {
   '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
     mv bin/*_*/* bin
     rmdir bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
     ''}
   '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
     rm -rf bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
     ''}
   '' else "");
diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix
index 93c9fa5c7788..26cfb898ecf0 100644
--- a/pkgs/development/compilers/go/1.16.nix
+++ b/pkgs/development/compilers/go/1.16.nix
@@ -1,21 +1,30 @@
-{ lib, stdenv, fetchurl, tzdata, iana-etc, runCommand
-, perl, which, pkg-config, patch, procps, pcre, cacert, Security, Foundation, xcbuild
-, mailcap, runtimeShell
+{ lib
+, stdenv
+, fetchurl
+, tzdata
+, iana-etc
+, runCommand
+, perl
+, which
+, pkg-config
+, patch
+, procps
+, pcre
+, cacert
+, Security
+, Foundation
+, xcbuild
+, mailcap
+, runtimeShell
 , buildPackages
 , pkgsBuildTarget
-, fetchpatch
 , callPackage
 }:
 
 let
-
-  inherit (lib) optionals optionalString;
-
-  version = "1.16.5";
-
   go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
 
-  goBootstrap = runCommand "go-bootstrap" {} ''
+  goBootstrap = runCommand "go-bootstrap" { } ''
     mkdir $out
     cp -rf ${go_bootstrap}/* $out/
     chmod -R u+w $out
@@ -41,7 +50,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  inherit version;
+  version = "1.16.5";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
@@ -51,12 +60,12 @@ stdenv.mkDerivation rec {
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkg-config patch procps ];
   buildInputs = [ cacert pcre ]
-    ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
-    ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+    ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+    ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
 
-  propagatedBuildInputs = optionals stdenv.isDarwin [ xcbuild ];
+  propagatedBuildInputs = lib.optionals stdenv.isDarwin [ xcbuild ];
 
-  depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
+  depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
 
   hardeningDisable = [ "all" ];
 
@@ -116,14 +125,14 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
-  '' + optionalString stdenv.isLinux ''
+  '' + lib.optionalString stdenv.isLinux ''
     # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
     # that run outside a nix server
     sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
 
-  '' + optionalString stdenv.isAarch32 ''
+  '' + lib.optionalString stdenv.isAarch32 ''
     echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
-  '' + optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/race.bash --replace \
       "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
     sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
@@ -181,16 +190,18 @@ stdenv.mkDerivation rec {
 
   # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
   # to be different from CC/CXX
-  CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CC_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}cc"
     else
       null;
-  CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CXX_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}c++"
     else
       null;
 
-  GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
+  GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
   GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
   # Hopefully avoids test timeouts on Hydra
@@ -200,7 +211,7 @@ stdenv.mkDerivation rec {
   # Some tests assume things like home directories and users exists
   GO_BUILDER_NAME = "nix";
 
-  GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
+  GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
 
   postConfigure = ''
     export GOCACHE=$TMPDIR/go-cache
@@ -209,7 +220,7 @@ stdenv.mkDerivation rec {
 
     export PATH=$(pwd)/bin:$PATH
 
-    ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
+    ${lib.optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
     # Independent from host/target, CC should produce code for the building system.
     # We only set it when cross-compiling.
     export CC=${buildPackages.stdenv.cc}/bin/cc
@@ -237,12 +248,12 @@ stdenv.mkDerivation rec {
   '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
     mv bin/*_*/* bin
     rmdir bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
     ''}
   '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
     rm -rf bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
     ''}
   '' else "");
diff --git a/pkgs/development/compilers/go/2-dev.nix b/pkgs/development/compilers/go/2-dev.nix
index 4b541e8990e2..8fd0e2e6630c 100644
--- a/pkgs/development/compilers/go/2-dev.nix
+++ b/pkgs/development/compilers/go/2-dev.nix
@@ -1,19 +1,29 @@
-{ pkgs, lib, stdenv, fetchurl, fetchgit, tzdata, iana-etc, runCommand
-, perl, which, pkg-config, patch, procps, pcre, cacert, Security, Foundation
-, mailcap, runtimeShell
+{ lib
+, stdenv
+, fetchgit
+, tzdata
+, iana-etc
+, runCommand
+, perl
+, which
+, pkg-config
+, patch
+, procps
+, pcre
+, cacert
+, Security
+, Foundation
+, mailcap
+, runtimeShell
 , buildPackages
 , pkgsBuildTarget
-, fetchpatch
 , callPackage
 }:
 
 let
-
-  inherit (lib) optionals optionalString;
-
   go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
 
-  goBootstrap = runCommand "go-bootstrap" {} ''
+  goBootstrap = runCommand "go-bootstrap" { } ''
     mkdir $out
     cp -rf ${go_bootstrap}/* $out/
     chmod -R u+w $out
@@ -42,7 +52,7 @@ stdenv.mkDerivation rec {
   version = "2021-04-13";
 
   src = fetchgit {
-    url = https://go.googlesource.com/go;
+    url = "https://go.googlesource.com/go";
     rev = "9cd52cf2a93a958e8e001aea36886e7846c91f2f";
     sha256 = "sha256:0hybm93y4i4j7bs86y7h73nc1wqnspkq75if7n1032zf9bs8sm96";
   };
@@ -50,10 +60,10 @@ stdenv.mkDerivation rec {
   # perl is used for testing go vet
   nativeBuildInputs = [ perl which pkg-config patch procps ];
   buildInputs = [ cacert pcre ]
-    ++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
-    ++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
+    ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ]
+    ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
 
-  depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
+  depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
 
   hardeningDisable = [ "all" ];
 
@@ -114,14 +124,14 @@ stdenv.mkDerivation rec {
     # Disable cgo lookup tests not works, they depend on resolver
     rm src/net/cgo_unix_test.go
 
-  '' + optionalString stdenv.isLinux ''
+  '' + lib.optionalString stdenv.isLinux ''
     # prepend the nix path to the zoneinfo files but also leave the original value for static binaries
     # that run outside a nix server
     sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
 
-  '' + optionalString stdenv.isAarch32 ''
+  '' + lib.optionalString stdenv.isAarch32 ''
     echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
-  '' + optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace src/race.bash --replace \
       "sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
     sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
@@ -178,16 +188,18 @@ stdenv.mkDerivation rec {
 
   # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
   # to be different from CC/CXX
-  CC_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CC_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}cc"
     else
       null;
-  CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) then
+  CXX_FOR_TARGET =
+    if (stdenv.buildPlatform != stdenv.targetPlatform) then
       "${targetCC}/bin/${targetCC.targetPrefix}c++"
     else
       null;
 
-  GOARM = toString (lib.intersectLists [(stdenv.hostPlatform.parsed.cpu.version or "")] ["5" "6" "7"]);
+  GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]);
   GO386 = "softfloat"; # from Arch: don't assume sse2 on i686
   CGO_ENABLED = 1;
   # Hopefully avoids test timeouts on Hydra
@@ -197,7 +209,7 @@ stdenv.mkDerivation rec {
   # Some tests assume things like home directories and users exists
   GO_BUILDER_NAME = "nix";
 
-  GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
+  GOROOT_BOOTSTRAP = "${goBootstrap}/share/go";
 
   postConfigure = ''
     export GOCACHE=$TMPDIR/go-cache
@@ -206,7 +218,7 @@ stdenv.mkDerivation rec {
 
     export PATH=$(pwd)/bin:$PATH
 
-    ${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
+    ${lib.optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
     # Independent from host/target, CC should produce code for the building system.
     # We only set it when cross-compiling.
     export CC=${buildPackages.stdenv.cc}/bin/cc
@@ -234,12 +246,12 @@ stdenv.mkDerivation rec {
   '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then ''
     mv bin/*_*/* bin
     rmdir bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
     ''}
   '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
     rm -rf bin/*_*
-    ${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
+    ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
       rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
     ''}
   '' else "");
diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch b/pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch
new file mode 100644
index 000000000000..425dc2af01e7
--- /dev/null
+++ b/pkgs/development/compilers/llvm/12/compiler-rt/darwin-targetconditionals.patch
@@ -0,0 +1,71 @@
+diff --git a/lib/sanitizer_common/sanitizer_mac.cpp b/lib/sanitizer_common/sanitizer_mac.cpp
+--- a/lib/sanitizer_common/sanitizer_mac.cpp
++++ b/lib/sanitizer_common/sanitizer_mac.cpp
+@@ -613,9 +613,15 @@ HandleSignalMode GetHandleSignalMode(int signum) {
+ // Offset example:
+ // XNU 17 -- macOS 10.13 -- iOS 11 -- tvOS 11 -- watchOS 4
+ constexpr u16 GetOSMajorKernelOffset() {
+-  if (TARGET_OS_OSX) return 4;
+-  if (TARGET_OS_IOS || TARGET_OS_TV) return 6;
+-  if (TARGET_OS_WATCH) return 13;
++#if TARGET_OS_OSX
++  return 4;
++#endif
++#if TARGET_OS_IOS || TARGET_OS_TV
++  return 6;
++#endif
++#if TARGET_OS_WATCH
++  return 13;
++#endif
+ }
+ 
+ using VersStr = char[64];
+@@ -627,13 +633,13 @@ static uptr ApproximateOSVersionViaKernelVersion(VersStr vers) {
+   u16 os_major = kernel_major - offset;
+ 
+   const char *format = "%d.0";
+-  if (TARGET_OS_OSX) {
+-    if (os_major >= 16) {  // macOS 11+
+-      os_major -= 5;
+-    } else {  // macOS 10.15 and below
+-      format = "10.%d";
+-    }
++#if TARGET_OS_OSX
++  if (os_major >= 16) {  // macOS 11+
++    os_major -= 5;
++  } else {  // macOS 10.15 and below
++    format = "10.%d";
+   }
++#endif
+   return internal_snprintf(vers, sizeof(VersStr), format, os_major);
+ }
+ 
+@@ -681,15 +687,14 @@ void ParseVersion(const char *vers, u16 *major, u16 *minor) {
+ // Aligned versions example:
+ // macOS 10.15 -- iOS 13 -- tvOS 13 -- watchOS 6
+ static void MapToMacos(u16 *major, u16 *minor) {
+-  if (TARGET_OS_OSX)
+-    return;
+-
+-  if (TARGET_OS_IOS || TARGET_OS_TV)
++#if !TARGET_OS_OSX
++#if TARGET_OS_IOS || TARGET_OS_TV
+     *major += 2;
+-  else if (TARGET_OS_WATCH)
++#elif TARGET_OS_WATCH
+     *major += 9;
+-  else
++#else
+     UNREACHABLE("unsupported platform");
++#endif
+ 
+   if (*major >= 16) {  // macOS 11+
+     *major -= 5;
+@@ -697,6 +702,7 @@ static void MapToMacos(u16 *major, u16 *minor) {
+     *minor = *major;
+     *major = 10;
+   }
++#endif
+ }
+ 
+ static MacosVersion GetMacosAlignedVersionInternal() {
diff --git a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
index 895af8f2f020..cde1317ca35d 100644
--- a/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
+++ b/pkgs/development/compilers/llvm/12/compiler-rt/default.nix
@@ -59,6 +59,8 @@ stdenv.mkDerivation {
     # extra `/`.
     ./normalize-var.patch
   ]# ++ lib.optional stdenv.hostPlatform.isMusl ./sanitizers-nongnu.patch
+    # Prevent a compilation error on darwin
+    ++ lib.optional stdenv.hostPlatform.isDarwin ./darwin-targetconditionals.patch
     ++ lib.optional stdenv.hostPlatform.isAarch32 ./armv7l.patch;
 
   # TSAN requires XPC on Darwin, which we have no public/free source files for. We can depend on the Apple frameworks
diff --git a/pkgs/development/compilers/llvm/git/default.nix b/pkgs/development/compilers/llvm/git/default.nix
index eb068f6d4722..38de0f70cf2e 100644
--- a/pkgs/development/compilers/llvm/git/default.nix
+++ b/pkgs/development/compilers/llvm/git/default.nix
@@ -21,13 +21,14 @@ let
   release_version = "12.0.0";
   candidate = ""; # empty or "rcN"
   dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
+  rev = ""; # When using a Git commit
   version = "${release_version}${dash-candidate}"; # differentiating these (variables) is important for RCs
   targetConfig = stdenv.targetPlatform.config;
 
   src = fetchFromGitHub {
     owner = "llvm";
     repo = "llvm-project";
-    rev = "llvmorg-${version}";
+    rev = if rev != "" then rev else "llvmorg-${version}";
     sha256 = "07jz8pywc2qqa1srdnqg5p2y4lx3ki1inpigarzgxc3j20r4gb58";
   };
 
diff --git a/pkgs/development/compilers/llvm/update-git.py b/pkgs/development/compilers/llvm/update-git.py
new file mode 100755
index 000000000000..119a050e4701
--- /dev/null
+++ b/pkgs/development/compilers/llvm/update-git.py
@@ -0,0 +1,70 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i python3 -p python3 nix
+
+import csv
+import fileinput
+import json
+import os
+import re
+import subprocess
+
+from codecs import iterdecode
+from datetime import datetime
+from urllib.request import urlopen, Request
+
+
+def get_latest_chromium_build():
+    HISTORY_URL = 'https://omahaproxy.appspot.com/history?os=linux'
+    print(f'GET {HISTORY_URL}')
+    with urlopen(HISTORY_URL) as resp:
+        builds = csv.DictReader(iterdecode(resp, 'utf-8'))
+        for build in builds:
+            if build['channel'] != 'dev':
+                continue
+            return build
+
+
+def get_file_revision(revision, file_path):
+    """Fetches the requested Git revision of the given Chromium file."""
+    url = f'https://raw.githubusercontent.com/chromium/chromium/{revision}/{file_path}'
+    with urlopen(url) as http_response:
+        return http_response.read().decode()
+
+
+def get_commit(ref):
+    url = f'https://api.github.com/repos/llvm/llvm-project/commits/{ref}'
+    headers = {'Accept': 'application/vnd.github.v3+json'}
+    request = Request(url, headers=headers)
+    with urlopen(request) as http_response:
+        return json.loads(http_response.read().decode())
+
+
+def nix_prefetch_url(url, algo='sha256'):
+    """Prefetches the content of the given URL."""
+    print(f'nix-prefetch-url {url}')
+    out = subprocess.check_output(['nix-prefetch-url', '--type', algo, '--unpack', url])
+    return out.decode('utf-8').rstrip()
+
+
+chromium_build = get_latest_chromium_build()
+chromium_version = chromium_build['version']
+print(f'chromiumDev version: {chromium_version}')
+print('Getting LLVM commit...')
+clang_update_script = get_file_revision(chromium_version, 'tools/clang/scripts/update.py')
+clang_revision = re.search(r"^CLANG_REVISION = '(.+)'$", clang_update_script, re.MULTILINE).group(1)
+clang_commit_short = re.search(r"llvmorg-[0-9]+-init-[0-9]+-g([0-9a-f]{8})", clang_revision).group(1)
+release_version = re.search(r"^RELEASE_VERSION = '(.+)'$", clang_update_script, re.MULTILINE).group(1)
+commit = get_commit(clang_commit_short)
+date = datetime.fromisoformat(commit['commit']['committer']['date'].rstrip('Z')).date().isoformat()
+version = f'unstable-{date}'
+print('Prefetching source tarball...')
+hash = nix_prefetch_url(f'https://github.com/llvm/llvm-project/archive/{commit["sha"]}.tar.gz')
+print('Updating default.nix...')
+default_nix = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'git/default.nix')
+with fileinput.FileInput(default_nix, inplace=True) as f:
+    for line in f:
+        result = re.sub(r'^  release_version = ".+";', f'  release_version = "{release_version}";', line)
+        result = re.sub(r'^  version = ".+";', f'  version = "{version}";', line)
+        result = re.sub(r'^  rev = ".*";', f'  rev = "{commit["sha"]}";', result)
+        result = re.sub(r'^    sha256 = ".+";', f'    sha256 = "{hash}";', result)
+        print(result, end='')
diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix
index 4c535be4d494..1710fb986ead 100644
--- a/pkgs/development/compilers/mezzo/default.nix
+++ b/pkgs/development/compilers/mezzo/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, menhir, yojson, ulex, pprint, fix, functory }:
+{ lib, stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, menhir, menhirLib, yojson, ulex, pprint, fix, functory }:
 
 if lib.versionAtLeast ocaml.version "4.06"
 then throw "mezzo is not available for OCaml ${ocaml.version}"
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
     sha256 = "0yck5r6di0935s3iy2mm9538jkf77ssr789qb06ms7sivd7g3ip6";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild yojson menhir ulex pprint fix functory ];
+  buildInputs = [ ocaml findlib ocamlbuild yojson menhir menhirLib ulex pprint fix functory ];
 
   # Sets warning 3 as non-fatal
   prePatch = lib.optionalString (check-ocaml-version "4.02") ''
diff --git a/pkgs/development/compilers/passerine/default.nix b/pkgs/development/compilers/passerine/default.nix
new file mode 100644
index 000000000000..e9427f892e64
--- /dev/null
+++ b/pkgs/development/compilers/passerine/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "passerine";
+  version = "0.9.2";
+
+  src = fetchFromGitHub {
+    owner = "vrtbl";
+    repo = "passerine";
+    rev = "dd8a6f5efc5dcb03d45b102f61cc8a50d46e8e98";
+    sha256 = "sha256-/QzqKLkxAVqvTY4Uft1qk7nJat6nozykB/4X1YGqu/I=";
+  };
+
+  cargoSha256 = "sha256-8WiiDLIJ/abXELF8S+4s+BPA/Lr/rpKmC1NWPCLzQWA=";
+
+  meta = with lib; {
+    description = "A small extensible programming language designed for concise expression with little code";
+    homepage = "https://github.com/vrtbl/passerine";
+    license = licenses.mit;
+    maintainers = with maintainers; [ siraben ];
+  };
+}
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 9fc8188daa10..36a83d47d6fd 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation (rec {
   pname = "ponyc";
-  version = "0.38.3";
+  version = "0.41.1";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = pname;
     rev = version;
-    sha256 = "14kivmyphi7gbd7mgd4cnsiwl4cl7wih8kwzh7n79s2s4c5hj4ak";
+    sha256 = "02wx070cy1193xzv58vh79yzwgpqiayqlwd3i285698fppbcg69a";
 
 # Due to a bug in LLVM 9.x, ponyc has to include its own vendored patched
 # LLVM.  (The submodule is a specific tag in the LLVM source tree).
@@ -23,34 +23,33 @@ stdenv.mkDerivation (rec {
     fetchSubmodules = true;
   };
 
-  ponygbenchmark = fetchurl {
-    url = "https://github.com/google/benchmark/archive/v1.5.0.tar.gz";
-    sha256 = "06i2cr4rj126m1zfz0x1rbxv1mw1l7a11mzal5kqk56cdrdicsiw";
-    name = "v1.5.0.tar.gz";
+  ponygbenchmark = fetchFromGitHub {
+    owner = "google";
+    repo = "benchmark";
+    rev = "v1.5.2";
+    sha256 = "13rxagpzw6bal6ajlmrxlh9kgfvcixn6j734b2bvfqz7lch8n0pa";
   };
 
   nativeBuildInputs = [ cmake makeWrapper which ];
   buildInputs = [ libxml2 z3 ];
-  propagatedBuildInputs = [ cc ];
 
   # Sandbox disallows network access, so disabling problematic networking tests
   patches = [
     ./disable-tests.patch
+    ./fix-libstdcpp-path.patch
     (substituteAll {
       src = ./make-safe-for-sandbox.patch;
       googletest = fetchurl {
         url = "https://github.com/google/googletest/archive/release-1.8.1.tar.gz";
         sha256 = "17147961i01fl099ygxjx4asvjanwdd446nwbq9v8156h98zxwcv";
-        name = "release-1.8.1.tar.gz";
       };
     })
   ];
 
   postUnpack = ''
     mkdir -p source/build/build_libs/gbenchmark-prefix/src
-    tar -C source/build/build_libs/gbenchmark-prefix/src -zxvf "$ponygbenchmark"
-    mv source/build/build_libs/gbenchmark-prefix/src/benchmark-1.5.0 \
-       source/build/build_libs/gbenchmark-prefix/src/benchmark
+    cp -r "$ponygbenchmark"/ source/build/build_libs/gbenchmark-prefix/src/benchmark
+    chmod -R u+w source/build/build_libs/gbenchmark-prefix/src/benchmark
   '';
 
   dontConfigure = true;
@@ -61,7 +60,6 @@ stdenv.mkDerivation (rec {
     patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2020-09-01-is-trivially-copyable.diff
     patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2020-01-07-01-c-exports.diff
     patch -d lib/llvm/src/ -p1 < lib/llvm/patches/2019-12-23-01-jit-eh-frames.diff
-
     substituteInPlace packages/process/_test.pony \
         --replace '"/bin/' '"${coreutils}/bin/' \
         --replace '=/bin' "${coreutils}/bin"
@@ -91,7 +89,6 @@ stdenv.mkDerivation (rec {
     + lib.optionalString stdenv.isDarwin "bits=64 "
     + lib.optionalString (stdenv.isDarwin && (!lto)) "lto=no "
     + '' install
-
     wrapProgram $out/bin/ponyc \
       --prefix PATH ":" "${stdenv.cc}/bin" \
       --set-default CC "$CC" \
diff --git a/pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch b/pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch
new file mode 100644
index 000000000000..63b0fa699129
--- /dev/null
+++ b/pkgs/development/compilers/ponyc/fix-libstdcpp-path.patch
@@ -0,0 +1,14 @@
+diff --git a/src/libponyc/CMakeLists.txt b/src/libponyc/CMakeLists.txt
+index bf2c385e..11d0d619 100644
+--- a/src/libponyc/CMakeLists.txt
++++ b/src/libponyc/CMakeLists.txt
+@@ -136,7 +136,7 @@ elseif(${CMAKE_HOST_SYSTEM_NAME} MATCHES "DragonFly")
+ else()
+     # add a rule to generate the standalone library if needed
+     add_custom_command(OUTPUT libponyc-standalone.a
+-        COMMAND cp `find /usr/lib/ -name 'libstdc++.a' -print -quit` libstdcpp.a
++        COMMAND cp `${CMAKE_CXX_COMPILER} --print-file-name='libstdc++.a'` libstdcpp.a
+         COMMAND echo "create libponyc-standalone.a" > standalone.mri
+         COMMAND echo "addlib ${PROJECT_SOURCE_DIR}/../../build/libs/lib/libblake2.a" >> standalone.mri
+         COMMAND echo "addlib libstdcpp.a" >> standalone.mri
+
diff --git a/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch b/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
index b07763a475d2..49addcbc616e 100644
--- a/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
+++ b/pkgs/development/compilers/ponyc/make-safe-for-sandbox.patch
@@ -1,10 +1,10 @@
---- a/lib/CMakeLists.txt	2020-09-27 02:39:12.862940179 +0000
-+++ b/lib/CMakeLists.txt	2020-09-27 02:39:16.451957865 +0000
+--- a/lib/CMakeLists.txt	2021-05-27 15:58:36.819331229 -0400
++++ b/lib/CMakeLists.txt	2021-05-27 16:00:19.768268649 -0400
 @@ -10,12 +10,12 @@
  endif()
  
  ExternalProject_Add(gbenchmark
--    URL https://github.com/google/benchmark/archive/v1.5.0.tar.gz
+-    URL https://github.com/google/benchmark/archive/v1.5.2.tar.gz
 +    SOURCE_DIR gbenchmark-prefix/src/benchmark
      CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DCMAKE_CXX_FLAGS=-fpic --no-warn-unused-cli
  )
@@ -30,12 +30,12 @@
 -        option(GIT_SUBMODULE "Check submodules during build" ON)
 -        if(GIT_SUBMODULE)
 -            message(STATUS "Updating submodules...")
--            execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
+-            execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive --depth 1
 -                            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 -                            RESULT_VARIABLE git_submod_result)
 -            #message("git_submod_result ${git_submod_result}")
 -            if(NOT git_submod_result EQUAL "0")
--                message(FATAL_ERROR "git submodule update --init --recursive failed with ${git_submod_result}, please checkout submodules")
+-                message(FATAL_ERROR "git submodule update --init --recursive --depth 1 failed with ${git_submod_result}, please checkout submodules")
 -            endif()
 -
 -            # we check to make sure the submodule hash matches
diff --git a/pkgs/development/compilers/purescript/purescript/default.nix b/pkgs/development/compilers/purescript/purescript/default.nix
index fbe96ca179d7..568407c3614e 100644
--- a/pkgs/development/compilers/purescript/purescript/default.nix
+++ b/pkgs/development/compilers/purescript/purescript/default.nix
@@ -18,19 +18,19 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "purescript";
-  version = "0.14.0";
+  version = "0.14.2";
 
   src =
     if stdenv.isDarwin
     then
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/macos.tar.gz";
-      sha256 = "0dfnn5ar7zgvgvxcvw5f6vwpkgkwa017y07s7mvdv44zf4hzsj3s";
+      sha256 = "1ga2hn9br71dyzn3p9jvjiksvnq21p6i5hp1z1j5fpz9la28nqzf";
     }
     else
     fetchurl {
       url = "https://github.com/${pname}/${pname}/releases/download/v${version}/linux64.tar.gz";
-      sha256 = "1l3i7mxlzb2dkq6ff37rvnaarikxzxj0fg9i2kk26s8pz7vpqgjh";
+      sha256 = "1kv7dm1nw85lw3brrclkj7xc9p021jx3n8wgp2fg3572s86ypskw";
     };
 
 
@@ -62,5 +62,6 @@ in stdenv.mkDerivation rec {
     maintainers = with maintainers; [ justinwoo mbbx6spp cdepillabout ];
     platforms = [ "x86_64-linux" "x86_64-darwin" ];
     mainProgram = "purs";
+    changelog = "https://github.com/purescript/purescript/releases/tag/v${version}";
   };
 }
diff --git a/pkgs/development/compilers/reason/default.nix b/pkgs/development/compilers/reason/default.nix
index 2293c83cc02c..a65748d06422 100644
--- a/pkgs/development/compilers/reason/default.nix
+++ b/pkgs/development/compilers/reason/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, makeWrapper, fetchFromGitHub, ocaml, findlib, dune_2
-, fix, menhir, merlin-extend, ppx_tools_versioned, utop, cppo
+, fix, menhir, menhirLib, menhirSdk, merlin-extend, ppx_tools_versioned, utop, cppo
 }:
 
 stdenv.mkDerivation rec {
@@ -13,11 +13,11 @@ stdenv.mkDerivation rec {
     sha256 = "0m6ldrci1a4j0qv1cbwh770zni3al8qxsphl353rv19f6rblplhs";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper menhir ];
 
-  propagatedBuildInputs = [ menhir merlin-extend ppx_tools_versioned ];
+  propagatedBuildInputs = [ menhirLib merlin-extend ppx_tools_versioned ];
 
-  buildInputs = [ ocaml findlib dune_2 cppo fix utop menhir ];
+  buildInputs = [ ocaml findlib dune_2 cppo fix utop menhir menhirSdk ];
 
   buildFlags = [ "build" ]; # do not "make tests" before reason lib is installed
 
diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix
index 3959c13e57bc..7706bd69fbf5 100644
--- a/pkgs/development/interpreters/erlang/R21.nix
+++ b/pkgs/development/interpreters/erlang/R21.nix
@@ -1,6 +1,6 @@
 { mkDerivation }:
 
 mkDerivation {
-  version = "21.3.8.23";
-  sha256 = "sha256-zIEXn2HuXeRKHfXmm0AAv9rEqqc4gIgaYek0hSUK5YU=";
+  version = "21.3.8.24";
+  sha256 = "sha256-FNs+M4KFFKzfb4EG513HtyQ9eRRtxSPMpYq0bmRgY3g=";
 }
diff --git a/pkgs/development/interpreters/evcxr/default.nix b/pkgs/development/interpreters/evcxr/default.nix
index a6e995c9bcc4..7dabff3d2e5e 100644
--- a/pkgs/development/interpreters/evcxr/default.nix
+++ b/pkgs/development/interpreters/evcxr/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "evcxr";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "evcxr";
     rev = "v${version}";
-    sha256 = "sha256-89+RZrG/QUo3JY9N5eTiMigUnlUP+wZWRW8PSnCcsrY=";
+    sha256 = "sha256-EPxWLPw+V5eIm+eL8m8Xw14adgshthJSDRyWohsJH88=";
   };
 
-  cargoSha256 = "sha256-gZLSTWS5cLfJvk4/tv8FG2I2vH3PKljWbJDOflNDmTQ=";
+  cargoSha256 = "sha256-5jGrv0YRVMo2X9p/WPgjYV3z193hl2+NiFTZr3v0Iik=";
 
   RUST_SRC_PATH = "${rustPlatform.rustLibSrc}";
 
diff --git a/pkgs/development/libraries/aws-c-common/default.nix b/pkgs/development/libraries/aws-c-common/default.nix
index 580eaec2ebe7..9913631e8548 100644
--- a/pkgs/development/libraries/aws-c-common/default.nix
+++ b/pkgs/development/libraries/aws-c-common/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "aws-c-common";
-  version = "0.5.5";
+  version = "0.5.11";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rGv+fa+UF/f6mY8CmZpkjP98CAcAQCTjL3OI7HsUHcU=";
+    sha256 = "sha256-4CYbL+ICabKvpfjlALJ0wRbuwgy+JKJnKqYbQFsHQsI=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -22,9 +22,6 @@ stdenv.mkDerivation rec {
     "-DCMAKE_SKIP_BUILD_RPATH=OFF" # for tests
   ];
 
-  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
-    "-Wno-nullability-extension -Wno-typedef-redefinition";
-
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/box2d/default.nix b/pkgs/development/libraries/box2d/default.nix
index 47a1c0917f07..1b6ede9b3101 100644
--- a/pkgs/development/libraries/box2d/default.nix
+++ b/pkgs/development/libraries/box2d/default.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
   version = "2.3.1";
 
   src = fetchurl {
-    url = "https://github.com/erincatto/Box2D/archive/v${version}.tar.gz";
-    sha256 = "0llpcifl8zbjbpxdwz87drd01m3lwnv82xb4av6kca1xn4w2gmkm";
+    url = "https://github.com/erincatto/box2d/archive/v${version}.tar.gz";
+    sha256 = "0p03ngsmyz0r5kbpiaq10ns4fxwkjvvawi8k6pfall46b93wizsq";
   };
 
-  sourceRoot = "Box2D-${version}/Box2D";
+  sourceRoot = "box2d-${version}/Box2D";
 
   nativeBuildInputs = [ cmake unzip pkg-config ];
   buildInputs = [ libGLU libGL freeglut libX11 xorgproto libXi ];
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index 14e2c8878fd9..de7bf560d3ea 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.10.3";
+  version = "5.10.4";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bEdDRvm5W12wJnW4xC+AcRLevZ0H7C625eknKzNrLLU=";
+    sha256 = "sha256-pZh/NbTzQR2kjMeauv1HcRn0hDBaCNRbaZ3+1qs5rxU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index bd8151d603e9..c91d25123f61 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -28,6 +29,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-96AwfqUfXkTRuDL0k92QRURKOk4hHvhd/Zql3W6up9E=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2021-33516.patch";
+      url = "https://gitlab.gnome.org/GNOME/gupnp/-/commit/ca6ec9dcb26fd7a2a630eb6a68118659b589afac.patch";
+      sha256 = "sha256-G7e/xNQB7Kp2fPzqVeD/cH3h1co9hZXh55QOUBnAnvU=";
+    })
+  ];
+
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/libimobiledevice/default.nix b/pkgs/development/libraries/libimobiledevice/default.nix
index b805be1257bd..94fce176127c 100644
--- a/pkgs/development/libraries/libimobiledevice/default.nix
+++ b/pkgs/development/libraries/libimobiledevice/default.nix
@@ -1,25 +1,36 @@
-{ lib, stdenv, fetchFromGitHub, automake, autoconf, libtool, pkg-config, gnutls
-, libgcrypt, libtasn1, glib, libplist, libusbmuxd }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, libtool
+, pkg-config
+, gnutls
+, libgcrypt
+, libtasn1
+, glib
+, libplist
+, libusbmuxd
+}:
 
 stdenv.mkDerivation rec {
   pname = "libimobiledevice";
-  version = "1.3.0";
+  version = "unstable-2021-06-02";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "1jkq3hpg4n5a6s1k618ib0s80pwf00nlfcby7xckysq8mnd2pp39";
+    rev = "ca324155f8b33babf907704828c7903608db0aa2";
+    sha256 = "sha256-Q7THwld1+elMJQ14kRnlIJDohFt7MW7JeyIUGC0k52I=";
   };
 
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
-    autoconf
-    automake
+    autoreconfHook
     libtool
     pkg-config
   ];
+
   propagatedBuildInputs = [
     glib
     gnutls
@@ -29,12 +40,7 @@ stdenv.mkDerivation rec {
     libusbmuxd
   ];
 
-  preConfigure = "NOCONFIGURE=1 ./autogen.sh";
-
-  configureFlags = [
-    "--disable-openssl"
-    "--without-cython"
-  ];
+  configureFlags = [ "--disable-openssl" "--without-cython" ];
 
   meta = with lib; {
     homepage = "https://github.com/libimobiledevice/libimobiledevice";
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index b2b5db2309c1..bda7f72a5576 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -38,8 +38,7 @@ stdenv.mkDerivation rec {
     description = "A portable and efficient API to determine the call-chain of a program";
     maintainers = with maintainers; [ orivej ];
     platforms = platforms.linux;
+    badPlatforms = [ "riscv32-linux" "riscv64-linux" ];
     license = licenses.mit;
   };
-
-  passthru.supportsHost = !stdenv.hostPlatform.isRiscV;
 }
diff --git a/pkgs/development/libraries/mvapich/default.nix b/pkgs/development/libraries/mvapich/default.nix
new file mode 100644
index 000000000000..71c6ce38f952
--- /dev/null
+++ b/pkgs/development/libraries/mvapich/default.nix
@@ -0,0 +1,73 @@
+{ lib, stdenv, fetchurl, pkg-config, bison, numactl, libxml2
+, perl, gfortran, slurm, openssh, hwloc, zlib, makeWrapper
+# InfiniBand dependencies
+, opensm, rdma-core
+# OmniPath dependencies
+, libpsm2, libfabric
+# Compile with slurm as a process manager
+, useSlurm ? false
+# Network type for MVAPICH2
+, network ? "ethernet"
+} :
+
+assert builtins.elem network [ "ethernet" "infiniband" "omnipath" ];
+
+stdenv.mkDerivation rec {
+  pname = "mvapich";
+  version = "2.3.6";
+
+  src = fetchurl {
+    url = "http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-${version}.tar.gz";
+    sha256 = "0jd28vy9ivl3rcpkxmhw73b6krzm0pd9jps8asw92wa00lm2z9mk";
+  };
+
+  nativeBuildInputs = [ pkg-config bison makeWrapper ];
+  propagatedBuildInputs = [ numactl rdma-core zlib opensm ];
+  buildInputs = with lib; [
+    numactl
+    libxml2
+    perl
+    gfortran
+    openssh
+    hwloc
+  ] ++ optionals (network == "infiniband") [ rdma-core opensm ]
+    ++ optionals (network == "omnipath") [ libpsm2 libfabric ]
+    ++ optional useSlurm slurm;
+
+  configureFlags = with lib; [
+    "--with-pm=hydra"
+    "--enable-fortran=all"
+    "--enable-cxx"
+    "--enable-threads=multiple"
+    "--enable-hybrid"
+    "--enable-shared"
+  ] ++ optional useSlurm "--with-pm=slurm"
+    ++ optional (network == "ethernet") "--with-device=ch3:sock"
+    ++ optionals (network == "infiniband") [ "--with-device=ch3:mrail" "--with-rdma=gen2" ]
+    ++ optionals (network == "omnipath") ["--with-device=ch3:psm" "--with-psm2=${libpsm2}"];
+
+  doCheck = true;
+
+  preFixup = ''
+    # /tmp/nix-build... ends up in the RPATH, fix it manually
+    for entry in $out/bin/mpichversion $out/bin/mpivars; do
+      echo "fix rpath: $entry"
+      patchelf --set-rpath "$out/lib" $entry
+    done
+
+    # Ensure the default compilers are the ones mvapich was built with
+    substituteInPlace $out/bin/mpicc --replace 'CC="gcc"' 'CC=${stdenv.cc}/bin/gcc'
+    substituteInPlace $out/bin/mpicxx --replace 'CXX="g++"' 'CC=${stdenv.cc}/bin/g++'
+    substituteInPlace $out/bin/mpifort --replace 'FC="gfortran"' 'CC=${gfortran}/bin/gfortran'
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    description = "MPI-3.1 implementation optimized for Infiband transport";
+    homepage = "https://mvapich.cse.ohio-state.edu";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index 3536ebd586e4..f04b22abe8c6 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "examples" ];
 
   src = fetchurl {
-    url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-    sha256 = "jW3QlP7Mu41uzEE0DsFqZfq6yC7UQVAj9tfBwjkOovM=";
+    url = "https://github.com/LLNL/sundials/releases/download/v${version}/sundials-${version}.tar.gz";
+    hash = "sha256-SNp7qoFS3bIq7RsC2C0du0+/6iKs9nY0ARqgMDoQCkM=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/xtensor/default.nix b/pkgs/development/libraries/xtensor/default.nix
new file mode 100644
index 000000000000..fe978998d637
--- /dev/null
+++ b/pkgs/development/libraries/xtensor/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, gtest
+, xsimd
+, xtl
+}:
+stdenv.mkDerivation rec {
+  pname = "xtensor";
+  version = "0.23.10";
+
+  src = fetchFromGitHub {
+    owner = "xtensor-stack";
+    repo = "xtensor";
+    rev = version;
+    sha256 = "1ayrhyh9x33b87ic01b4jzxc8x27yxpxzya5x54ikazvz8p71n14";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  propagatedBuildInputs = [ xtl xsimd ];
+
+  cmakeFlags = [ "-DBUILD_TESTS=ON" ];
+
+  doCheck = true;
+  checkInputs = [ gtest ];
+  checkTarget = "xtest";
+
+  meta = with lib; {
+    description = "Multi-dimensional arrays with broadcasting and lazy computing.";
+    homepage = "https://github.com/xtensor-stack/xtensor";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ cpcloud ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/lua-modules/overrides.nix b/pkgs/development/lua-modules/overrides.nix
index eec969f99caf..288f4fc078ba 100644
--- a/pkgs/development/lua-modules/overrides.nix
+++ b/pkgs/development/lua-modules/overrides.nix
@@ -173,7 +173,7 @@ with super;
       MYSQL_LIBDIR="${pkgs.libmysqlclient}/lib/mysql";
     };
     buildInputs = [
-      pkgs.mysql.client
+      pkgs.mariadb.client
       pkgs.libmysqlclient
     ];
   });
diff --git a/pkgs/development/ocaml-modules/cooltt/default.nix b/pkgs/development/ocaml-modules/cooltt/default.nix
new file mode 100644
index 000000000000..2ece4543c2a7
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cooltt/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, fetchFromGitHub
+, buildDunePackage
+, cmdliner
+, menhir
+, menhirLib
+, ppx_deriving
+, ppxlib
+, uuseg
+, uutf
+}:
+
+buildDunePackage {
+  pname = "cooltt";
+  version = "unstable-2021-05-25";
+
+  minimumOCamlVersion = "4.10";
+
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "RedPRL";
+    repo = "cooltt";
+    rev = "8ac06cbf7e05417d777f3ac6a471fe3576249f79";
+    sha256 = "sha256-JBLNJaRuP/gwlg8RS3cpOpzxChOVKfmFulf5HKhhHh4=";
+  };
+
+  nativeBuildInputs = [
+    cmdliner
+    menhir
+    ppxlib
+  ];
+
+  propagatedBuildInputs = [
+    menhirLib
+    ppx_deriving
+    uuseg
+    uutf
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/RedPRL/cooltt";
+    description = "A cool implementation of normalization by evaluation (nbe) & elaboration for Cartesian cubical type theory";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/dolmen/default.nix b/pkgs/development/ocaml-modules/dolmen/default.nix
index a1a73bfe2188..815e1acd72ac 100644
--- a/pkgs/development/ocaml-modules/dolmen/default.nix
+++ b/pkgs/development/ocaml-modules/dolmen/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, menhir }:
+{ stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild, menhir, menhirLib }:
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-dolmen-${version}";
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1b9mf8p6mic0n76acx8x82hhgm2n40sdv0jri95im65l52223saf";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
-  propagatedBuildInputs = [ menhir ];
+  buildInputs = [ ocaml findlib ocamlbuild menhir ];
+  propagatedBuildInputs = [ menhirLib ];
 
   makeFlags = [ "-C" "src" ];
 
diff --git a/pkgs/development/ocaml-modules/earlybird/default.nix b/pkgs/development/ocaml-modules/earlybird/default.nix
index 07e9b5a35461..a6a3648bec65 100644
--- a/pkgs/development/ocaml-modules/earlybird/default.nix
+++ b/pkgs/development/ocaml-modules/earlybird/default.nix
@@ -1,5 +1,5 @@
 { lib, fetchurl, ocaml, buildDunePackage
-, cmdliner, dap, fmt, iter, logs, lru, lwt_ppx, lwt_react, menhir, path_glob, ppx_deriving_yojson
+, cmdliner, dap, fmt, iter, logs, lru, lwt_ppx, lwt_react, menhir, menhirLib, path_glob, ppx_deriving_yojson
 }:
 
 if lib.versionAtLeast ocaml.version "4.13"
@@ -19,7 +19,7 @@ buildDunePackage rec {
     sha256 = "1pwzhcr3pw24ra4j4d23vz71h0psz4xkyp7b12l2wl1slxzjbrxa";
   };
 
-  buildInputs = [ cmdliner dap fmt iter logs lru lwt_ppx lwt_react menhir path_glob ppx_deriving_yojson ];
+  buildInputs = [ cmdliner dap fmt iter logs lru lwt_ppx lwt_react menhir menhirLib path_glob ppx_deriving_yojson ];
 
   meta = {
     homepage = "https://github.com/hackwaly/ocamlearlybird";
diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix
index cbb759205e03..686cf9820580 100644
--- a/pkgs/development/ocaml-modules/menhir/default.nix
+++ b/pkgs/development/ocaml-modules/menhir/default.nix
@@ -1,15 +1,15 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild
-, version ? if lib.versionAtLeast (lib.getVersion ocaml) "4.02" then "20190626" else "20140422"
-}@args:
-
-let
-  src = fetchurl (
-  if version == "20140422" then { url = "http://cristal.inria.fr/~fpottier/menhir/menhir-20140422.tar.gz"; sha256 = "1ki1f2id6a14h9xpv2k8yb6px7dyw8cvwh39csyzj4qpzx7wia0d"; }
-  else if version == "20170712" then { url = "http://gallium.inria.fr/~fpottier/menhir/menhir-20170712.tar.gz"; sha256 = "006hq3bwj81j67f2k9cgzj5wr4hai8j36925p5n3sd2j01ljsj6a"; }
-  else if version == "20181113" then { url = "https://gitlab.inria.fr/fpottier/menhir/repository/20181113/archive.tar.gz"; sha256 = "0hl611l0gyl7b2bm7m0sk7vjz14m0i7znrnjq3gw58pylj934dx4"; }
-  else if version == "20190626" then { url = "https://gitlab.inria.fr/fpottier/menhir/repository/20190626/archive.tar.gz"; sha256 = "0nigjnskg89knyi2zj1w211mb1pvkrwfqpz9a0qbw80k3hm8gg0h"; }
-  else throw ("menhir: unknown version " ++ version)
-  );
-in
-
-import ./generic.nix (args // { inherit version src; })
+{ lib, fetchFromGitLab, buildDunePackage
+, menhirLib, menhirSdk
+}:
+
+buildDunePackage rec {
+  pname = "menhir";
+
+  inherit (menhirLib) version src useDune2;
+
+  buildInputs = [ menhirLib menhirSdk ];
+
+  meta = menhirSdk.meta // {
+    description = "A LR(1) parser generator for OCaml";
+  };
+}
diff --git a/pkgs/development/ocaml-modules/menhir/generic.nix b/pkgs/development/ocaml-modules/menhir/generic.nix
deleted file mode 100644
index a917d634a19c..000000000000
--- a/pkgs/development/ocaml-modules/menhir/generic.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ version, src, lib, stdenv, ocaml, findlib, ocamlbuild, ... }:
-
-stdenv.mkDerivation {
-  pname = "menhir";
-  inherit version;
-
-  inherit src;
-
-  buildInputs = [ ocaml findlib ocamlbuild ];
-
-  createFindlibDestdir = true;
-
-  preBuild = ''
-    # fix makefiles.
-    RM=$(type -p rm)
-    CHMOD=$(type -p chmod)
-    for f in src/Makefile demos/OMakefile* demos/Makefile*
-    do
-      substituteInPlace $f \
-        --replace /bin/rm $RM \
-        --replace /bin/chmod $CHMOD
-    done
-
-    export PREFIX=$out
-  '';
-
-  meta = with lib; {
-    homepage = "http://pauillac.inria.fr/~fpottier/menhir/";
-    description = "A LR(1) parser generator for OCaml";
-    longDescription = ''
-      Menhir is a LR(1) parser generator for the Objective Caml programming
-      language.  That is, Menhir compiles LR(1) grammar specifications down
-      to OCaml code.  Menhir was designed and implemented by François Pottier
-      and Yann Régis-Gianas.
-    '';
-    license = with licenses; [
-      (if versionAtLeast version "20170418" then gpl2 else qpl) /* generator */
-      lgpl2 /* library */
-    ];
-    platforms = ocaml.meta.platforms or [];
-    maintainers = with maintainers; [ maggesi ];
-  };
-}
diff --git a/pkgs/development/ocaml-modules/menhir/lib.nix b/pkgs/development/ocaml-modules/menhir/lib.nix
new file mode 100644
index 000000000000..3f6660f23ee9
--- /dev/null
+++ b/pkgs/development/ocaml-modules/menhir/lib.nix
@@ -0,0 +1,29 @@
+{ lib, fetchFromGitLab, buildDunePackage }:
+
+buildDunePackage rec {
+  pname = "menhirLib";
+  version = "20210419";
+
+  src = fetchFromGitLab {
+    domain = "gitlab.inria.fr";
+    owner = "fpottier";
+    repo = "menhir";
+    rev = version;
+    sha256 = "0jcbr7s3iwfr7xxfybs3h407g76yfp5yq5r9i0wg2ahvvbqh03ky";
+  };
+
+  useDune2 = true;
+
+  meta = with lib; {
+    homepage = "http://pauillac.inria.fr/~fpottier/menhir/";
+    description = "Runtime support library for parsers generated by Menhir";
+    longDescription = ''
+      Menhir is a LR(1) parser generator for the Objective Caml programming
+      language.  That is, Menhir compiles LR(1) grammar specifications down
+      to OCaml code.  Menhir was designed and implemented by François Pottier
+      and Yann Régis-Gianas.
+    '';
+    license = with licenses; [ lgpl2Only ];
+    maintainers = with maintainers; [ vbgl ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/menhir/sdk.nix b/pkgs/development/ocaml-modules/menhir/sdk.nix
new file mode 100644
index 000000000000..0e60849494cc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/menhir/sdk.nix
@@ -0,0 +1,15 @@
+{ lib, fetchFromGitLab, buildDunePackage
+, menhirLib
+}:
+
+buildDunePackage rec {
+  pname = "menhirSdk";
+
+  inherit (menhirLib) version src useDune2;
+
+  meta = menhirLib.meta // {
+    description = "Compile-time library for auxiliary tools related to Menhir";
+    license = with lib.licenses; [ gpl2Only ];
+  };
+}
+
diff --git a/pkgs/development/ocaml-modules/mustache/default.nix b/pkgs/development/ocaml-modules/mustache/default.nix
index 005e26926d1a..b16dfd484814 100644
--- a/pkgs/development/ocaml-modules/mustache/default.nix
+++ b/pkgs/development/ocaml-modules/mustache/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildDunePackage, fetchFromGitHub, ezjsonm, menhir, ounit }:
+{ lib, buildDunePackage, fetchFromGitHub, ezjsonm, menhir, menhirLib, ounit }:
 
 buildDunePackage rec {
   pname = "mustache";
@@ -11,8 +11,8 @@ buildDunePackage rec {
     sha256 = "19v8rk8d8lkfm2rmhdawfgadji6wa267ir5dprh4w9l1sfj8a1py";
   };
 
-  buildInputs = [ ezjsonm ];
-  propagatedBuildInputs = [ menhir ];
+  buildInputs = [ ezjsonm menhir ];
+  propagatedBuildInputs = [ menhirLib ];
 
   doCheck = true;
   checkInputs = [ ounit ];
diff --git a/pkgs/development/ocaml-modules/stdcompat/default.nix b/pkgs/development/ocaml-modules/stdcompat/default.nix
new file mode 100644
index 000000000000..df5c1a58b17b
--- /dev/null
+++ b/pkgs/development/ocaml-modules/stdcompat/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, fetchurl
+, ocaml, findlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-stdcompat";
+  version = "15";
+
+  src = fetchurl {
+    url = "https://github.com/thierry-martinez/stdcompat/releases/download/v${version}/stdcompat-${version}.tar.gz";
+    sha256 = "1xcwb529m4lg9cbnxa9m3x2nnl9nxzz1x5lxpvdfflg4zxl6yx2y";
+  };
+
+  buildInputs = [ ocaml findlib ];
+
+  configureFlags = "--libdir=$(OCAMLFIND_DESTDIR)";
+
+  meta = {
+    homepage = "https://github.com/thierry-martinez/stdcompat";
+    license = lib.licenses.bsd2;
+    maintainers = [ lib.maintainers.vbgl ];
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/php-packages/deployer/default.nix b/pkgs/development/php-packages/deployer/default.nix
index 2e24a98b0bfb..7679fb5ea51b 100644
--- a/pkgs/development/php-packages/deployer/default.nix
+++ b/pkgs/development/php-packages/deployer/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, fetchurl, makeWrapper, lib, php }:
+{ mkDerivation, fetchurl, makeWrapper, installShellFiles, lib, php }:
 
 mkDerivation rec {
   pname = "deployer";
@@ -11,12 +11,17 @@ mkDerivation rec {
 
   dontUnpack = true;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper installShellFiles ];
 
   installPhase = ''
     mkdir -p $out/bin
     install -D $src $out/libexec/deployer/deployer.phar
     makeWrapper ${php}/bin/php $out/bin/dep --add-flags "$out/libexec/deployer/deployer.phar"
+
+    # fish support currently broken: https://github.com/deployphp/deployer/issues/2527
+    installShellCompletion --cmd dep \
+      --bash <($out/bin/dep autocomplete --install) \
+      --zsh <($out/bin/dep autocomplete --install)
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aio-georss-client/default.nix b/pkgs/development/python-modules/aio-georss-client/default.nix
new file mode 100644
index 000000000000..1ac37e8b602a
--- /dev/null
+++ b/pkgs/development/python-modules/aio-georss-client/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, aiohttp
+, aresponses
+, asynctest
+, buildPythonPackage
+, dateparser
+, fetchFromGitHub
+, haversine
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, requests
+, xmltodict
+}:
+
+buildPythonPackage rec {
+  pname = "aio-georss-client";
+  version = "0.7";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-aio-georss-client";
+    rev = "v${version}";
+    sha256 = "1nhw2sf92dbizxdcil1wdmbaa3hbmsiriy8jfzpqxsliw5dc0kmh";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    haversine
+    xmltodict
+    requests
+    dateparser
+  ];
+
+  checkInputs = [
+    aresponses
+    asynctest
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "aio_georss_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing GeoRSS feeds";
+    homepage = "https://github.com/exxamalte/python-aio-georss-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aio-georss-gdacs/default.nix b/pkgs/development/python-modules/aio-georss-gdacs/default.nix
new file mode 100644
index 000000000000..75894aa0e7a7
--- /dev/null
+++ b/pkgs/development/python-modules/aio-georss-gdacs/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, aio-georss-client
+, aresponses
+, buildPythonPackage
+, dateparser
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aio-georss-gdacs";
+  version = "0.4";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-aio-georss-gdacs";
+    rev = "v${version}";
+    sha256 = "0rcrhdpgj84hfifx9rzxz15ajzsk069iknb28gicw1cm1qv4vfxm";
+  };
+
+  propagatedBuildInputs = [
+    aio-georss-client
+    dateparser
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "aio_georss_gdacs" ];
+
+  meta = with lib; {
+    description = "Python library for accessing GeoRSS feeds";
+    homepage = "https://github.com/exxamalte/python-aio-georss-gdacs";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiokafka/default.nix b/pkgs/development/python-modules/aiokafka/default.nix
index ba32976b96b1..61ff78a3428e 100644
--- a/pkgs/development/python-modules/aiokafka/default.nix
+++ b/pkgs/development/python-modules/aiokafka/default.nix
@@ -1,7 +1,8 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, isPy27
+, pythonOlder
+, dataclasses
 , kafka-python
 , cython
 , zlib
@@ -9,15 +10,14 @@
 
 buildPythonPackage rec {
   pname = "aiokafka";
-  version = "0.7.0";
-
-  disabled = isPy27;
+  version = "0.7.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
-    repo = "aiokafka";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "16pcgv38syqy6sj3w7zx95zgynpd642n3i95dpiw0ivhpqrxxhrf";
+    sha256 = "sha256-D89ppIUliJJMDuCySrZUyN6Rlm01gFskz6ayHmqploc=";
   };
 
   nativeBuildInputs = [
@@ -30,16 +30,15 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     kafka-python
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    dataclasses
   ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-       --replace "kafka-python==1.4.6" "kafka-python"
-  '';
-
   # checks require running kafka server
   doCheck = false;
 
+  pythonImportsCheck = [ "aiokafka" ];
+
   meta = with lib; {
     description = "Kafka integration with asyncio";
     homepage = "https://aiokafka.readthedocs.org";
diff --git a/pkgs/development/python-modules/aiomultiprocess/default.nix b/pkgs/development/python-modules/aiomultiprocess/default.nix
index 7b84996a1c91..6403f396eaac 100644
--- a/pkgs/development/python-modules/aiomultiprocess/default.nix
+++ b/pkgs/development/python-modules/aiomultiprocess/default.nix
@@ -24,6 +24,14 @@ buildPythonPackage rec {
   checkInputs = [ pytestCheckHook ];
 
   pytestFlagsArray = [ "aiomultiprocess/tests/*.py" ];
+
+  disabledTests = [
+    # tests are flaky and make the whole test suite time out
+    "test_pool_worker_exceptions"
+    "test_pool_worker_max_tasks"
+    "test_pool_worker_stop"
+  ];
+
   pythonImportsCheck = [ "aiomultiprocess" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aioswitcher/default.nix b/pkgs/development/python-modules/aioswitcher/default.nix
index 1ab0db664f54..2535253dc2a3 100644
--- a/pkgs/development/python-modules/aioswitcher/default.nix
+++ b/pkgs/development/python-modules/aioswitcher/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "aioswitcher";
-  version = "1.2.3";
+  version = "1.2.5";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "TomerFi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Qp5iVk71JxhPVrytWuXkzpqPNPmMQubO0t9sgeQfO8c=";
+    sha256 = "sha256-eiWmB2DVNAYHPHfnVwv0+4A/wYLgtAa1ReGsmwiIvAk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
index 0af812d49321..997cd6c401a8 100644
--- a/pkgs/development/python-modules/angrop/default.nix
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -25,13 +25,6 @@ buildPythonPackage rec {
     tqdm
   ];
 
-  postPatch = ''
-    # https://github.com/angr/angrop/issues/35
-    substituteInPlace setup.py \
-      --replace "packages=['angrop']," "packages=find_packages()," \
-      --replace "from distutils.core import setup" "from setuptools import find_packages, setup"
-  '';
-
   # Tests have additional requirements, e.g., angr binaries
   # cle is executing the tests with the angr binaries already and is a requirement of angr
   doCheck = false;
diff --git a/pkgs/development/python-modules/clldutils/default.nix b/pkgs/development/python-modules/clldutils/default.nix
index 2271337dc986..318354786b56 100644
--- a/pkgs/development/python-modules/clldutils/default.nix
+++ b/pkgs/development/python-modules/clldutils/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "clldutils";
-  version = "3.8.0";
+  version = "3.9.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "clld";
     repo = pname;
     rev = "v${version}";
-    sha256 = "18sjcqzprf96s7bkn5zm3lh83hxfxj56nycxyldrwz7ndgkgxxx2";
+    sha256 = "07ljq7v1zvaxyl6xn4a2p4097lgd5j9bz71lf05y5bz8k024mxbr";
   };
 
   patchPhase = ''
@@ -48,6 +48,6 @@ buildPythonPackage rec {
     description = "CSV on the Web";
     homepage = "https://github.com/cldf/csvw";
     license = licenses.asl20;
-    maintainers = with maintainers; [ hexa ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/elevate/default.nix b/pkgs/development/python-modules/elevate/default.nix
new file mode 100644
index 000000000000..cfb1dbf068dc
--- /dev/null
+++ b/pkgs/development/python-modules/elevate/default.nix
@@ -0,0 +1,35 @@
+{ lib, fetchPypi, buildPythonPackage, fetchpatch, setuptools-scm }:
+
+buildPythonPackage rec {
+  pname = "elevate";
+  version = "0.1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "53ad19fa1de301fb1de3f8768fb3a5894215716fd96a475690c4d0ff3b1de209";
+  };
+
+  patches = [
+    (fetchpatch {
+    # This is for not calling shell wrappers through Python, which fails.
+    url = "https://github.com/rkitover/elevate/commit/148b2bf698203ea39c9fe5d635ecd03cd94051af.patch";
+    sha256 = "1ky3z1jxl1g28wbwbx8qq8jgx8sa8pr8s3fdcpdhdx1blw28cv61";
+    })
+  ];
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  # No tests included
+  doCheck = false;
+
+  pythonImportsCheck = [ "elevate" ];
+
+  meta = with lib; {
+    description = "Python module for re-launching the current process as super-user";
+    homepage = "https://github.com/barneygale/elevate";
+    license = licenses.mit;
+    maintainers = with maintainers; [ rkitover ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-client/default.nix b/pkgs/development/python-modules/georss-client/default.nix
new file mode 100644
index 000000000000..e142942f9394
--- /dev/null
+++ b/pkgs/development/python-modules/georss-client/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, dateparser
+, fetchFromGitHub
+, haversine
+, pytestCheckHook
+, pythonOlder
+, requests
+, xmltodict
+}:
+
+buildPythonPackage rec {
+  pname = "georss-client";
+  version = "0.13";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-client";
+    rev = "v${version}";
+    sha256 = "1pvx2qb8gs2f7bb8xxq689ydxirsl3bcgsbi5qv5klc4c051dj8i";
+  };
+
+  propagatedBuildInputs = [
+    haversine
+    xmltodict
+    requests
+    dateparser
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing GeoRSS feeds";
+    homepage = "https://github.com/exxamalte/python-georss-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-generic-client/default.nix b/pkgs/development/python-modules/georss-generic-client/default.nix
new file mode 100644
index 000000000000..e01d7fa789f7
--- /dev/null
+++ b/pkgs/development/python-modules/georss-generic-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, georss-client
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "georss-generic-client";
+  version = "0.4";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-generic-client";
+    rev = "v${version}";
+    sha256 = "0i4shx6fvwibx0hlfmd0dyq2n5lkrqwmlm0l476fdb9bw5lkaiy0";
+  };
+
+  propagatedBuildInputs = [
+    georss-client
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_generic_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing generic GeoRSS feeds";
+    homepage = "https://github.com/exxamalte/python-georss-generic-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix b/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
new file mode 100644
index 000000000000..4ce833668474
--- /dev/null
+++ b/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, georss-client
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "georss-ign-sismologia-client";
+  version = "0.2";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-ign-sismologia-client";
+    rev = "v${version}";
+    sha256 = "1xylgvbdrpl3wxa6qqc8jma4c9520rld0pv28y3b6b0m07ab6ijl";
+  };
+
+  propagatedBuildInputs = [
+    georss-client
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_ign_sismologia_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing the IGN Sismologia GeoRSS feed";
+    homepage = "https://github.com/exxamalte/python-georss-ign-sismologia-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix b/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
new file mode 100644
index 000000000000..a4b317407ea2
--- /dev/null
+++ b/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, georss-client
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "georss-ingv-centro-nazionale-terremoti-client";
+  version = "0.4";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-ingv-centro-nazionale-terremoti-client";
+    rev = "v${version}";
+    sha256 = "06qhxczznckb208bnfly0q5099scq1yj5rk67a6fqczpsmzcln6x";
+  };
+
+  propagatedBuildInputs = [
+    georss-client
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_ingv_centro_nazionale_terremoti_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing the INGV Centro Nazionale Terremoti GeoRSS feed";
+    homepage = "https://github.com/exxamalte/python-georss-ingv-centro-nazionale-terremoti-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix b/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix
new file mode 100644
index 000000000000..fc482e220c9b
--- /dev/null
+++ b/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, georss-client
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "georss-nrcan-earthquakes-client";
+  version = "0.2";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-nrcan-earthquakes-client";
+    rev = "v${version}";
+    sha256 = "0d5cdvi35wj30yvql1sr5n4vz0g4ydrslhql3bya1b7pndfs0h3y";
+  };
+
+  propagatedBuildInputs = [
+    georss-client
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_nrcan_earthquakes_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing Natural Resources Canada Earthquakes feed";
+    homepage = "https://github.com/exxamalte/python-georss-nrcan-earthquakes-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix b/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix
new file mode 100644
index 000000000000..f95e0a4702bf
--- /dev/null
+++ b/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, georss-client
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "georss-qld-bushfire-alert-client";
+  version = "0.4";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-qld-bushfire-alert-client";
+    rev = "v${version}";
+    sha256 = "14k7q0ynray1fj0lhxvgxpbdh4pmsqqk9gzmv38p9i7ijx8h1sc8";
+  };
+
+  propagatedBuildInputs = [
+    georss-client
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_qld_bushfire_alert_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing Queensland Bushfire Alert feed";
+    homepage = "https://github.com/exxamalte/python-georss-qld-bushfire-alert-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix b/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix
new file mode 100644
index 000000000000..27d43d900fd6
--- /dev/null
+++ b/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, georss-client
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "georss-tfs-incidents-client";
+  version = "0.2";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-tfs-incidents-client";
+    rev = "v${version}";
+    sha256 = "10qscn7kncb7h0b8mjykkf5kmm3ga9l8gss4acb888iaigcjgavf";
+  };
+
+  propagatedBuildInputs = [
+    georss-client
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_tfs_incidents_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing Tasmania Fire Service Incidents feed";
+    homepage = "https://github.com/exxamalte/python-georss-tfs-incidents-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-wa-dfes-client/default.nix b/pkgs/development/python-modules/georss-wa-dfes-client/default.nix
new file mode 100644
index 000000000000..1f478151bb3e
--- /dev/null
+++ b/pkgs/development/python-modules/georss-wa-dfes-client/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, georss-client
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "georss-wa-dfes-client";
+  version = "0.2";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "exxamalte";
+    repo = "python-georss-wa-dfes-client";
+    rev = "v${version}";
+    sha256 = "0zfjq6yyrss61vwgdrykwkikb009q63kg9ab6ryb2509wiwwfwvk";
+  };
+
+  propagatedBuildInputs = [
+    georss-client
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "georss_wa_dfes_client" ];
+
+  meta = with lib; {
+    description = "Python library for accessing WA Department of Fire and Emergency Services (DFES) feed";
+    homepage = "https://github.com/exxamalte/python-georss-wa-dfes-client";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/haversine/default.nix b/pkgs/development/python-modules/haversine/default.nix
index 7f5e462d1b3c..9d12be3aa198 100644
--- a/pkgs/development/python-modules/haversine/default.nix
+++ b/pkgs/development/python-modules/haversine/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "haversine";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "mapado";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c3yf9162b2b7l1lsw3ffd1linnc542qvljpgwxp6y5arrmljqnv";
+    sha256 = "sha256-1PXPsZd/4pN42TU0lhXWsmyX7uGP1n/xna2cVZPczB4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/icmplib/default.nix b/pkgs/development/python-modules/icmplib/default.nix
index 2718b6340540..fdbf45edaaeb 100644
--- a/pkgs/development/python-modules/icmplib/default.nix
+++ b/pkgs/development/python-modules/icmplib/default.nix
@@ -4,24 +4,22 @@
 , pbr
 , pythonOlder
 , requests
-, six
 }:
 
 buildPythonPackage rec {
   pname = "icmplib";
-  version = "2.1.1";
-  disabled = pythonOlder "3.6";
+  version = "3.0.0";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ValentinBELYN";
     repo = pname;
     rev = "v${version}";
-    sha256 = "06xx9854yzxa7x1mjfzbhhw5rfzgjnw269j5k0rshyqh3qvw1nwv";
+    sha256 = "sha256-i5cmL8kOrehldOwX2RfVAfL4HdzJ+9S3BojJI2raUSA=";
   };
 
   propagatedBuildInputs = [
     pbr
-    six
     requests
   ];
 
diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix
index 82153f4b3d9b..38f6f58910db 100644
--- a/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/pkgs/development/python-modules/influxdb-client/default.nix
@@ -14,22 +14,16 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.15.0";
-
-  disabled = pythonOlder "3.6"; # requires python version >=3.6
+  version = "1.17.0";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "v${version}";
-    sha256 = "1b2xh78v965rgafyj7cdbjm2p96d74f7ifsqllc7242n9wv3k53q";
+    sha256 = "1xxg8z9zambbhr7nmxhmvmiwkd4578zxr6rl2vhdh2w77idsw29z";
   };
 
-  # makes test not reproducible
-  postPatch = ''
-    sed -i -e '/randomize/d' test-requirements.txt
-  '';
-
   propagatedBuildInputs = [
     rx
     certifi
@@ -44,6 +38,8 @@ buildPythonPackage rec {
   # requires influxdb server
   doCheck = false;
 
+  pythonImportsCheck = [ "influxdb_client" ];
+
   meta = with lib; {
     description = "InfluxDB 2.0 Python client library";
     homepage = "https://github.com/influxdata/influxdb-client-python";
diff --git a/pkgs/development/python-modules/motioneye-client/default.nix b/pkgs/development/python-modules/motioneye-client/default.nix
index 44de5318787f..a769128fd861 100644
--- a/pkgs/development/python-modules/motioneye-client/default.nix
+++ b/pkgs/development/python-modules/motioneye-client/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "motioneye-client";
-  version = "0.3.8";
+  version = "0.3.9";
   format = "pyproject";
   disabled = pythonOlder "3.8";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "dermotduffy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vTTjH4LhUcbh+/838wR0vnvml2y78Ro8SGwSZ6aApdQ=";
+    sha256 = "sha256-pLdAxBipmr+HUr9NSupm7h/68PK95r3zY/qZTBs1m54=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pglast/default.nix b/pkgs/development/python-modules/pglast/default.nix
index 3240b0809922..6a0f8940788c 100644
--- a/pkgs/development/python-modules/pglast/default.nix
+++ b/pkgs/development/python-modules/pglast/default.nix
@@ -1,29 +1,33 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , isPy3k
-, pythonOlder
 , setuptools
-, aenum
-, pytest
 , pytestcov
+, pytest
 }:
 
 buildPythonPackage rec {
   pname = "pglast";
-  version = "1.17";
+  version = "3.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "2979b38ca5f72cfa0a5db78af2f62d04db6a7647ee7f03eac7a67f9e86e3f5f9";
+  # PyPI tarball does not include all the required files
+  src = fetchFromGitHub {
+    owner = "lelit";
+    repo = pname;
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "0yi24wj19rzw5dvppm8g3hnfskyzbrqw14q8x9f2q5zi8g6xnnrd";
   };
 
   disabled = !isPy3k;
 
-  propagatedBuildInputs = [ setuptools ] ++ lib.optionals (pythonOlder "3.6") [ aenum ];
+  propagatedBuildInputs = [ setuptools ];
 
   checkInputs = [ pytest pytestcov ];
 
+  pythonImportsCheck = [ "pglast" ];
+
   checkPhase = ''
     pytest
   '';
@@ -31,6 +35,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://github.com/lelit/pglast";
     description = "PostgreSQL Languages AST and statements prettifier";
+    changelog = "https://github.com/lelit/pglast/raw/v${version}/CHANGES.rst";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/development/python-modules/pyls-black/default.nix b/pkgs/development/python-modules/pyls-black/default.nix
index 7c8652b0a5e3..d10e4930ac0c 100644
--- a/pkgs/development/python-modules/pyls-black/default.nix
+++ b/pkgs/development/python-modules/pyls-black/default.nix
@@ -1,34 +1,27 @@
-{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch
-, black, toml, pytest, python-language-server, isPy3k
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, black
+, toml
+, pytestCheckHook
+, python-language-server
+, isPy3k
 }:
 
 buildPythonPackage rec {
   pname = "pyls-black";
-  version = "0.4.6";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "rupert";
     repo = "pyls-black";
     rev = "v${version}";
-    sha256 = "0cjf0mjn156qp0x6md6mncs31hdpzfim769c2lixaczhyzwywqnj";
+    sha256 = "0bkhfnlik89j3yamr20br4wm8975f20v33wabi2nyxvj10whr5dj";
   };
 
-  # Fix test failure with black 21.4b0+
-  # Remove if https://github.com/rupert/pyls-black/pull/39 merged.
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/rupert/pyls-black/commit/728207b540d9c25eb0d1cd96419ebfda2e257f63.patch";
-      sha256 = "0i3w5myhjl5lq1lpkizagnmk6m8fkn3igfyv5f2qcrn5n7f119ak";
-    })
-  ];
-
   disabled = !isPy3k;
 
-  checkPhase = ''
-    pytest
-  '';
-
-  checkInputs = [ pytest ];
+  checkInputs = [ pytestCheckHook ];
 
   propagatedBuildInputs = [ black toml python-language-server ];
 
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index 8c18380c3bad..5f610f6feab0 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -42,6 +42,8 @@ buildPythonPackage rec {
     "test_zero_downtime"
     # flaky
     "test_keep_alive_client_timeout"
+    "test_check_timeouts_request_timeout"
+    "test_check_timeouts_response_timeout"
     "test_reloader_live"
   ];
 
diff --git a/pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix b/pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix
new file mode 100644
index 000000000000..e48b24c3644f
--- /dev/null
+++ b/pkgs/development/python-modules/sphinxcontrib-excel-table/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sphinx
+, openpyxl
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-excel-table";
+  version = "1.0.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256:1q79byn3k3ribvwqafbpixwabjhymk46ns8ym0hxcn8vhf5nljzd";
+  };
+
+  propagatedBuildInputs = [ sphinx openpyxl ];
+
+  pythonImportsCheck = [ "sphinxcontrib.excel_table" ];
+
+  # No tests present upstream
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Sphinx excel-table extension";
+    homepage = "https://github.com/hackerain/sphinxcontrib-excel-table";
+    maintainers = with maintainers; [ raboof ];
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/subliminal/default.nix b/pkgs/development/python-modules/subliminal/default.nix
index 77ddb125a94b..cedbb7bcf786 100644
--- a/pkgs/development/python-modules/subliminal/default.nix
+++ b/pkgs/development/python-modules/subliminal/default.nix
@@ -1,7 +1,6 @@
 { lib
 , fetchPypi
 , buildPythonPackage
-, isPy3k
 , guessit
 , babelfish
 , enzyme
@@ -16,7 +15,6 @@
 , appdirs
 , rarfile
 , pytz
-, futures
 , sympy
 , vcrpy
 , pytest
@@ -38,7 +36,7 @@ buildPythonPackage rec {
     guessit babelfish enzyme beautifulsoup4 requests
     click dogpile_cache stevedore chardet pysrt six
     appdirs rarfile pytz
-  ] ++ lib.optional (!isPy3k) futures;
+  ];
 
   checkInputs = [
     sympy vcrpy pytest pytest-flakes
@@ -47,6 +45,7 @@ buildPythonPackage rec {
 
   # https://github.com/Diaoul/subliminal/pull/963
   doCheck = false;
+  pythonImportsCheck = [ "subliminal" ];
 
   meta = with lib; {
     homepage = "https://github.com/Diaoul/subliminal";
diff --git a/pkgs/development/python-modules/userpath/default.nix b/pkgs/development/python-modules/userpath/default.nix
index 237293370aac..d619cba0649d 100644
--- a/pkgs/development/python-modules/userpath/default.nix
+++ b/pkgs/development/python-modules/userpath/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "userpath";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256="0fj2lj9vcns5sxv72v3ggrszcl7j1jd9a6ycnsl00218nycliy31";
+    sha256="1xpgdmdvhmmmdlivsqlzx1xvyj0gcnfp0j2ba5izmv3q2k5abfdj";
   };
 
   propagatedBuildInputs = [ click ];
diff --git a/pkgs/development/python-modules/zipstream/default.nix b/pkgs/development/python-modules/zipstream/default.nix
index ec885c6df0f4..00c291a1c510 100644
--- a/pkgs/development/python-modules/zipstream/default.nix
+++ b/pkgs/development/python-modules/zipstream/default.nix
@@ -15,6 +15,6 @@ buildPythonPackage rec {
     description = "A zip archive generator";
     homepage = "https://github.com/allanlei/python-zipstream";
     license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ primeos ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index f16a6d0bb4aa..254dfbb1788b 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -375,6 +375,7 @@ let
     affyio = [ pkgs.zlib.dev ];
     VariantAnnotation = [ pkgs.zlib.dev pkgs.curl.dev ];
     snpStats = [ pkgs.zlib.dev ];
+    hdf5r = [ pkgs.hdf5.dev ];
   };
 
   packagesWithBuildInputs = {
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 394bd6558fbf..a10d015e9ff1 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -11,7 +11,7 @@ let
     biniou
     camlzip
     easy-format
-    menhir
+    menhirLib
     mlgmpidl
     num
     ocamlgraph
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoconf wrapGAppsHook ];
 
   buildInputs = with ocamlPackages; [
-    ncurses ocaml findlib ltl2ba ocamlgraph yojson menhir camlzip
+    ncurses ocaml findlib ltl2ba ocamlgraph yojson menhirLib camlzip
     lablgtk coq graphviz zarith apron why3 mlgmpidl doxygen
     gdk-pixbuf
   ];
diff --git a/pkgs/development/tools/analysis/tflint/default.nix b/pkgs/development/tools/analysis/tflint/default.nix
index 7a9206af0938..137b3c2c1a1a 100644
--- a/pkgs/development/tools/analysis/tflint/default.nix
+++ b/pkgs/development/tools/analysis/tflint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "tflint";
-  version = "0.28.1";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "terraform-linters";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0bx6y1y6cfqz77m23w4ab1j2i7s83kv301razv9rkkyxpnpb16hi";
+    sha256 = "1ciwr2bwbxnw8366wvgl5ga3y2qj46i0h3yp3av1x9n2r8rddrlh";
   };
 
-  vendorSha256 = "0rfbjhi78qcaghn9xw658xcxl2x4ln4gnnyi9hsf3wz4cbybird7";
+  vendorSha256 = "0k8v49sr0jmljfl4fa5pnvzd5k3pg865h201114l6cs257sdkczk";
 
   doCheck = false;
 
@@ -20,7 +20,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Terraform linter focused on possible errors, best practices, and so on";
     homepage = "https://github.com/terraform-linters/tflint";
-    changelog = "https://github.com/terraform-linters/tflint/blob/v${version}/CHANGELOG.md";
+    changelog = "https://github.com/terraform-linters/tflint/raw/v${version}/CHANGELOG.md";
     license = licenses.mpl20;
     maintainers = [ maintainers.marsam ];
   };
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index 588716b9f30c..f73de077acbb 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -13,6 +13,19 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-q3dDV0eop2NxXHFrlppWsZrO2Hz1q5xhs1DnB6PvG9g=";
 
+  buildFlagsArray = ''
+    -ldflags=
+      -s -w
+      -X main.Version=v${version}
+      -X main.DefaultBuildkitdImage=earthly/buildkitd:v${version}
+      -extldflags -static
+  '';
+
+  BUILDTAGS = "dfrunmount dfrunsecurity dfsecrets dfssh dfrunnetwork";
+  preBuild = ''
+    makeFlagsArray+=(BUILD_TAGS="${BUILDTAGS}")
+  '';
+
   postInstall = ''
     mv $out/bin/debugger $out/bin/earthly-debugger
     mv $out/bin/shellrepeater $out/bin/earthly-shellrepeater
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index f0f8c156dbdf..2aa67483337c 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.12.5";
+  version = "0.12.6";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-9EVlmdolr189vdnuA01UUrcrmZ9W0FtvCcJuuSX1nLs=";
+    sha256 = "sha256-ncRHsYxG4XVT7TUJv+VgXMsLmQ52+/dXUlgMy8QnzNc=";
   };
 
   vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg=";
diff --git a/pkgs/development/tools/f2c/default.nix b/pkgs/development/tools/f2c/default.nix
new file mode 100644
index 000000000000..f235296308fc
--- /dev/null
+++ b/pkgs/development/tools/f2c/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  pname = "f2c";
+  version = "20200916";
+
+  src = fetchurl {
+    url = "https://www.netlib.org/f2c/src.tgz";
+    sha256 = "0d8xfbv6dk4dz95qds7sd44b5hvara07f2g2c5g4xiwim9b7916l";
+  };
+
+  makeFlags = [ "-f" "makefile.u" ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin $out/share/man/man1
+    install -m755 f2c $out/bin
+    install -m755 xsum $out/bin
+    install f2c.1t $out/share/man/man1
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Convert Fortran 77 source code to C";
+    homepage = "https://www.netlib.org/f2c/";
+    license = licenses.mit;
+    maintainers = [ maintainers.markuskowa ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix
index 355f468237c4..fee8d94f754b 100644
--- a/pkgs/development/tools/go-toml/default.nix
+++ b/pkgs/development/tools/go-toml/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "go-toml";
-  version = "1.9.1";
+  version = "1.9.2";
 
   src = fetchFromGitHub {
     owner = "pelletier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-O3gfQon8ktObLVED4A5sCSOw8K1NIXP3a5AsLq3Svb4=";
+    sha256 = "sha256-x740f6I+szhq4mEsed4bsXcC8PvzF6PKFJNJ9SKMGIE=";
   };
 
   goPackagePath = "github.com/pelletier/go-toml";
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index 7038b7c1eb03..af33938c1a6f 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lazygit";
-  version = "0.28.1";
+  version = "0.28.2";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tan8ksSyMIeDL7oRAWd3Qtz/sKbhAAfY7IknfwjyvgQ=";
+    sha256 = "sha256-s5Ou0FhL9+2/xm7lKMG/3ya5P8idI0cgtJ28cV37pJQ=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/misc/coccinelle/default.nix b/pkgs/development/tools/misc/coccinelle/default.nix
index 40a22f18203b..8534f1e2d85a 100644
--- a/pkgs/development/tools/misc/coccinelle/default.nix
+++ b/pkgs/development/tools/misc/coccinelle/default.nix
@@ -2,36 +2,20 @@
 
 stdenv.mkDerivation rec {
   pname = "coccinelle";
-  version = "1.0.6";
+  version = "1.1.0";
 
   src = fetchurl {
-    url = "http://coccinelle.lip6.fr/distrib/${pname}-${version}.tgz";
-    sha256 = "02g9hmwkvfl838zz690yra5jzrqjg6y6ffxkrfcsx790bhkfsll4";
+    url = "https://coccinelle.gitlabpages.inria.fr/website/distrib/${pname}-${version}.tar.gz";
+    sha256 = "0k0x4qnxzj8fymkp6y9irggcah070hj7hxq8l6ddj8ccpmjbhnsb";
   };
 
   buildInputs = with ocamlPackages; [
     ocaml findlib menhir
-    ocaml_pcre pycaml
+    ocaml_pcre parmap stdcompat
     python ncurses pkg-config
   ];
 
-  doCheck = !stdenv.isDarwin;
-
-  # The build system builds two versions of spgen:
-  # 'spgen' with ocamlc -custom (bytecode specially linked)
-  # and 'spgen.opt' using ocamlopt.
-  # I'm not sure of the intentions here, but the way
-  # the 'spgen' binary is produced results in an
-  # invalid/incorrect interpreter path (/lib/ld-linux*).
-  # We could patch it, but without knowing why it's
-  # finding the wrong path it seems safer to use
-  # the .opt version that is built correctly.
-  # All that said, our fix here is simple: remove 'spgen'.
-  # The bin/spgen entrypoint is really a bash script
-  # and will use spgen.opt if 'spgen' doesn't exist.
-  postInstall = ''
-    rm $out/lib/coccinelle/spgen/spgen
-  '';
+  doCheck = false;
 
   meta = {
     description = "Program to apply semantic patches to C code";
diff --git a/pkgs/development/tools/misc/strace/default.nix b/pkgs/development/tools/misc/strace/default.nix
index 756f1b947ede..4da1a2cba09b 100644
--- a/pkgs/development/tools/misc/strace/default.nix
+++ b/pkgs/development/tools/misc/strace/default.nix
@@ -1,9 +1,5 @@
 { lib, stdenv, fetchurl, perl, libunwind, buildPackages }:
 
-# libunwind does not have the supportsHost attribute on darwin, thus
-# when this package is evaluated it causes an evaluation error
-assert stdenv.isLinux;
-
 stdenv.mkDerivation rec {
   pname = "strace";
   version = "5.12";
@@ -16,7 +12,9 @@ stdenv.mkDerivation rec {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ perl ];
 
-  buildInputs = [ perl.out ] ++ lib.optional libunwind.supportsHost libunwind; # support -k
+  # On RISC-V platforms, LLVM's libunwind implementation is unsupported by strace.
+  # The build will silently fall back and -k will not work on RISC-V.
+  buildInputs = [ perl.out libunwind ]; # support -k
 
   postPatch = "patchShebangs --host strace-graph";
 
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 12306d2a305a..6965d5fa0abb 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -1,6 +1,6 @@
 { lib, fetchurl, buildDunePackage
 , ocaml, cmdliner, cppo, yojson, ppxlib
-, menhir
+, menhir, menhirLib
 }:
 
 buildDunePackage rec {
@@ -14,7 +14,7 @@ buildDunePackage rec {
   };
 
   nativeBuildInputs = [ cppo menhir ];
-  buildInputs = [ cmdliner ];
+  buildInputs = [ cmdliner menhirLib ];
 
   configurePlatforms = [];
   propagatedBuildInputs = [ yojson ppxlib ];
diff --git a/pkgs/development/tools/ocaml/merlin/4.x.nix b/pkgs/development/tools/ocaml/merlin/4.x.nix
index 77595169565f..76ef33f7947d 100644
--- a/pkgs/development/tools/ocaml/merlin/4.x.nix
+++ b/pkgs/development/tools/ocaml/merlin/4.x.nix
@@ -10,6 +10,8 @@
 , dot-merlin-reader
 , jq
 , menhir
+, menhirLib
+, menhirSdk
 }:
 
 let
@@ -66,6 +68,8 @@ buildDunePackage {
   checkInputs = [
     jq
     menhir
+    menhirLib
+    menhirSdk
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/ocaml/ocamlformat/generic.nix b/pkgs/development/tools/ocaml/ocamlformat/generic.nix
index eb38b60f9b15..6f3ce218713e 100644
--- a/pkgs/development/tools/ocaml/ocamlformat/generic.nix
+++ b/pkgs/development/tools/ocaml/ocamlformat/generic.nix
@@ -58,6 +58,8 @@ buildDunePackage {
       uutf
       fix
       menhir
+      menhirLib
+      menhirSdk
       dune-build-info
       ocaml-version
       # Changed since 0.16.0:
@@ -75,6 +77,8 @@ buildDunePackage {
       uutf
       fix
       menhir
+      menhirLib
+      menhirSdk
       dune-build-info
       ocaml-version
       # Changed since 0.16.0:
@@ -93,6 +97,8 @@ buildDunePackage {
       uutf
       fix
       menhir
+      menhirLib
+      menhirSdk
       (ppxlib.override { version = "0.18.0"; })
       dune-build-info # lib.versionAtLeast version "0.16.0"
       ocaml-version # lib.versionAtLeast version "0.16.0"
@@ -110,6 +116,8 @@ buildDunePackage {
       uutf
       fix
       menhir
+      menhirLib
+      menhirSdk
     ] else [
       base
       cmdliner
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammar.nix b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
index 5ca381e6d2ff..93e1cb3804fb 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammar.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/grammar.nix
@@ -1,5 +1,7 @@
 { stdenv
 , tree-sitter
+, libcxx
+, lib
 }:
 
 # Build a parser grammar and put the resulting shared object in `$out/parser`
@@ -27,6 +29,7 @@ stdenv.mkDerivation {
       "${source}/${location}"
   ;
 
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-I${lib.getDev libcxx}/include/c++/v1";
   buildInputs = [ tree-sitter ];
 
   dontUnpack = true;
diff --git a/pkgs/games/fheroes2/default.nix b/pkgs/games/fheroes2/default.nix
new file mode 100644
index 000000000000..b9802bd81b5f
--- /dev/null
+++ b/pkgs/games/fheroes2/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchFromGitHub
+, gettext, libpng, SDL2, SDL2_image, SDL2_mixer, SDL2_ttf, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "fheroes2";
+  version = "0.9.4";
+
+  src = fetchFromGitHub {
+    owner = "ihhub";
+    repo = "fheroes2";
+    rev = version;
+    sha256 = "sha256-z+88tVsf4uyMFzNfZDKXo0cYqBCYn1ehX+A+e+aIfSg=";
+  };
+
+  buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ];
+
+  makeFlags = [
+    "FHEROES2_STRICT_COMPILATION=1"
+    "RELEASE=1"
+  ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 $PWD/src/dist/fheroes2 $out/bin/fheroes2
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/ihhub/fheroes2";
+    description = "Free implementation of Heroes of Might and Magic II game engine";
+    longDescription = ''
+        In order to play this game, an original game data is required.
+        Please refer to README of the project for instructions.
+        On linux, the data can be placed in ~/.local/share/fheroes2 folder.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.karolchmist ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/lunar-client/default.nix b/pkgs/games/lunar-client/default.nix
index 8ca8c3f85529..df361c69b049 100644
--- a/pkgs/games/lunar-client/default.nix
+++ b/pkgs/games/lunar-client/default.nix
@@ -2,7 +2,7 @@
 
 let
   name = "lunar-client";
-  version = "2.6.0";
+  version = "2.7.3";
 
   desktopItem = makeDesktopItem {
     name = "Lunar Client";
@@ -21,7 +21,7 @@ let
   src = fetchurl {
     url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage";
     name = "lunar-client.AppImage";
-    sha256 = "1pmblnnvs5jv5v7y5nnxr3liw9xfp5h6l44x7pln8kr9zg85dzma";
+    sha256 = "0ihi937rrj677y9b377b4hhp9wsarbqwrdrd6k3lhzx3jyh2fynf";
   };
 in appimageTools.wrapType1 rec {
   inherit name src;
diff --git a/pkgs/games/stockfish/default.nix b/pkgs/games/stockfish/default.nix
index ef9c7fbe4d64..b09dc523d1ac 100644
--- a/pkgs/games/stockfish/default.nix
+++ b/pkgs/games/stockfish/default.nix
@@ -12,13 +12,13 @@ let
            if stdenv.isi686 then "x86-32" else
            if stdenv.isAarch64 then "armv8" else
            "unknown";
-    version = "12";
+    version = "13";
 
-    nnueFile = "nn-82215d0fd0df.nnue";
+    nnueFile = "nn-62ef826d1a6d.nnue";
     nnue = fetchurl {
       name = nnueFile;
       url = "https://tests.stockfishchess.org/api/nn/${nnueFile}";
-      sha256 = "1r4yqrh4di05syyhl84hqcz84djpbd605b27zhbxwg6zs07ms8c2";
+      sha256 = "0qsy9rr4zgxrpgwhwbi96z01a2560am2b00q2klbj4bd39nq5vv2";
     };
 in
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://github.com/official-stockfish/Stockfish/archive/sf_${version}.tar.gz";
-    sha256 = "16980aicm5i6i9252239q4f9bcxg1gnqkv6nphrmpz4drg8i3v6i";
+    sha256 = "0qhxp2w543psanzhzn8jhfafx8aip57v9nsvafbwa5xynchlgl8m";
   };
 
   # This addresses a linker issue with Darwin
diff --git a/pkgs/games/torus-trooper/default.nix b/pkgs/games/torus-trooper/default.nix
new file mode 100644
index 000000000000..441cffbdf04d
--- /dev/null
+++ b/pkgs/games/torus-trooper/default.nix
@@ -0,0 +1,104 @@
+{ lib
+, stdenv
+, fetchpatch
+, fetchurl
+, unzip
+, gdc
+, SDL
+, SDL_mixer
+, bulletml
+}:
+
+let
+debianPatch = patchname: hash: fetchpatch {
+  name = "${patchname}.patch";
+  url = "https://sources.debian.org/data/main/t/torus-trooper/0.22.dfsg1-12/debian/patches/${patchname}.patch";
+  sha256 = hash;
+};
+
+in stdenv.mkDerivation {
+  pname = "torus-trooper";
+  version = "0.22";
+
+  src = fetchurl {
+    url = "http://abagames.sakura.ne.jp/windows/tt0_22.zip";
+    sha256 = "1yhki1fdp3fi4y2iq12vca69f6k38dqjaw9z4lwcxky5kbgb7jvg";
+  };
+
+  patches = [
+    (debianPatch
+      "imports"
+      "0mifw0mj66zljpq6iqnh0rhkgs2sky8rz0p32k98vxfnsb39ibsf")
+    (debianPatch
+      "fixes"
+      "05f93zq2v14lymq748c9g646ckbh9mqpr5rrahb63s90x8hlcqil")
+    (debianPatch
+      "directories"
+      "0y5xvf26v9fk0rx6ncrxx4czckhjbi891hp3pixlmv568pg9cihd")
+    (debianPatch
+      "windowed"
+      "1d8ghj4shvpb0s8l16kscz4l7rz1fxmfdpddy1ikz3678pw1sc8p")
+    (debianPatch
+      "dotfile"
+      "17yirmnjhbd1clzhmdd2mfdhbxkyinaahd6v3yz5kzbcylvjz2r2")
+    (debianPatch
+      "window-resizing"
+      "1n64gbhabl6vis7s294wxlj2k8s3ypxljpdg71icwz1m9jjx59df")
+    (debianPatch
+      "save-score-444372"
+      "1skny6s3hjxkh8w4fq86vp51j7z40fvn80b8myl4i1zzlwag3x17")
+    (debianPatch
+      "level-select-444948"
+      "008248s55188plggg2kg01nimjgc7w0sqd3c22sl6lzd1fjsflv8")
+    (debianPatch
+      "avoid-segfault-when-sdl-fails"
+      "1yp758gi4i15gqk6wiqp815rqcmlyqx62ir1sw20hn6zb3j97bmc")
+    (debianPatch
+      "dlang_v2"
+      "1lxsbckhvl8a8j43pw2dyl5nlavvdbgxb5zlb2450a0vml55nswd")
+    (debianPatch
+      "lowest-level-position-602808"
+      "19r48wirc9zssjmv57drn2fd0f56dcgyqqaz3j49cvv6yd74qf20")
+    (debianPatch
+      "libbulletml0v5-segfault"
+      "0pad2daz60hswkhkdpssxaqc9p9ca0sw1nraqzr453x0zdwwq0hn")
+    (debianPatch
+      "std.math.fabs"
+      "18xnnqlj20bxv2h9fa8dn4rmxwi3k6y3g50kwvh8i8p3b4hgag3r")
+    (debianPatch
+      "gdc-8"
+      "10z702y75c48hjcnvv8m7f3ka52cj3r3jqafdbby85nb0p2lbssx")
+  ];
+
+  postPatch = ''
+    for f in src/abagames/tt/barrage.d src/abagames/util/sdl/sound.d src/abagames/util/sdl/texture.d; do
+      substituteInPlace $f \
+        --replace "/usr/" "$out/"
+    done
+  '';
+
+  nativeBuildInputs = [
+    unzip
+    gdc
+  ];
+
+  buildInputs = [
+    SDL
+    SDL_mixer
+    bulletml
+  ];
+
+  installPhase = ''
+    install -Dm755 torus-trooper $out/bin/torus-trooper
+    mkdir -p $out/share/games/torus-trooper
+    cp -r barrage sounds images $out/share/games/torus-trooper/
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/windows/tt_e.html";
+    description = "Fast-paced abstract scrolling shooter game";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/games/tumiki-fighters/default.nix b/pkgs/games/tumiki-fighters/default.nix
new file mode 100644
index 000000000000..2f3cf869f8db
--- /dev/null
+++ b/pkgs/games/tumiki-fighters/default.nix
@@ -0,0 +1,97 @@
+{ lib
+, stdenv
+, fetchpatch
+, fetchurl
+, unzip
+, gdc
+, SDL
+, SDL_mixer
+, bulletml
+}:
+
+let
+debianPatch = patchname: hash: fetchpatch {
+  name = "${patchname}.patch";
+  url = "https://sources.debian.org/data/main/t/tumiki-fighters/0.2.dfsg1-9/debian/patches/${patchname}.patch";
+  sha256 = hash;
+};
+
+in stdenv.mkDerivation {
+  pname = "tumiki-fighters";
+  version = "0.21";
+
+  src = fetchurl {
+    url = "http://abagames.sakura.ne.jp/windows/tf0_21.zip";
+    sha256 = "0djykfc1r8ysapklm621h89ana1c4qzc1m5nr9bqw4iccnmvwk3p";
+  };
+
+  patches = [
+    (debianPatch
+      "imports"
+      "1l3kc67b43gdi139cpz5cka1nkn0pjp9mrgrrxlmr0liwx2aryhn")
+    (debianPatch
+      "fixes"
+      "1iy1a5vii6yz9zdlk2bcj6gkj4y25hn9y2fczz15jpqd9r2zm603")
+    (debianPatch
+      "directories"
+      "0kmv0s7jgr693fzrkjsmz4dnicc4w7njanxm2la3cf4vmgdyipmm")
+    (debianPatch
+      "windowed"
+      "1wp74l0bi8wq85pcxnmkwrlfmlf09im95n27pxgz082lhwf2ksy1")
+    (debianPatch
+      "dotfile"
+      "0d8x519bclh41j992qn6ijzfcrgacb79px6zjd1awypkwyc0j2p6")
+    (debianPatch
+      "makefile"
+      "11xf2b31kjyps53jfryv82dv0g6q0smc9xgp8imrbr93mzi51vf0")
+    (debianPatch
+      "window-resizing"
+      "1dm79d0yisa8zs5fr89y3wq2kzd3khcaxs0la8lhncvkqbd4smx8")
+    (debianPatch
+      "dlang_v2"
+      "1isnvbl3bjnpyphji8k3fl0yd1z4869h0lai143vpwgj6518lpg4")
+    (debianPatch
+      "gdc-8"
+      "1md0zwmv50jnak5g9d93bglv9v4z41blinjii6kv3vmgjnajapzj")
+  ];
+
+  postPatch = ''
+    for f in \
+      src/abagames/tf/barragemanager.d \
+      src/abagames/util/sdl/sound.d \
+      src/abagames/util/sdl/texture.d \
+      src/abagames/tf/enemyspec.d \
+      src/abagames/tf/field.d \
+      src/abagames/tf/stagemanager.d \
+      src/abagames/tf/tumikiset.d
+    do
+      substituteInPlace $f \
+        --replace "/usr/" "$out/"
+    done
+  '';
+
+  nativeBuildInputs = [
+    unzip
+    gdc
+  ];
+
+  buildInputs = [
+    SDL
+    SDL_mixer
+    bulletml
+  ];
+
+  installPhase = ''
+    install -Dm755 tumiki-fighters $out/bin/tumiki-fighters
+    mkdir -p $out/share/games/tumiki-fighters
+    cp -r barrage sounds enemy field stage tumiki $out/share/games/tumiki-fighters/
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/windows/tf_e.html";
+    description = "Sticky 2D shooter";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fgaz ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/games/unvanquished/default.nix b/pkgs/games/unvanquished/default.nix
new file mode 100644
index 000000000000..35db4625db90
--- /dev/null
+++ b/pkgs/games/unvanquished/default.nix
@@ -0,0 +1,191 @@
+{ lib, stdenv, fetchzip, fetchurl, fetchFromGitHub, buildFHSUserEnv
+, runCommandNoCC, makeDesktopItem, copyDesktopItems, gcc, cmake, gmp
+, libGL, zlib, ncurses, geoip, lua5, nettle, curl, SDL2, freetype, glew
+, openal, libopus, opusfile, libogg, libvorbis, libjpeg, libwebp, libpng
+, cacert, aria2 # to download assets
+}:
+
+let
+  version = "0.52.0";
+  binary-deps-version = "5";
+
+  src = fetchFromGitHub {
+    owner = "Unvanquished";
+    repo = "Unvanquished";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "1acda1559q6zwmhg3x00nai88hy83i5hcfli2bqfab7slr95lm27";
+  };
+
+  unvanquished-binary-deps = stdenv.mkDerivation rec {
+    # DISCLAIMER: this is selected binary crap from the NaCl SDK
+    name = "unvanquished-binary-deps";
+    version = binary-deps-version;
+    src = fetchzip {
+      url = "https://dl.unvanquished.net/deps/linux64-${version}.tar.bz2";
+      sha256 = "08bpyavbh5lmyprvqqi59gnm8s1fjmlk9f1785wlv7f52d9f9z1p";
+    };
+    dontPatchELF = true;
+    preFixup = ''
+      # We are not using the autoPatchelfHook, because it would make
+      # nacl_bootstrap_helper unable to load nacl_loader:
+      # "nacl_loader: ELF file has unreasonable e_phnum=13"
+      interpreter="$(< "$NIX_CC/nix-support/dynamic-linker")"
+      for f in pnacl/bin/*; do
+        if [ -f "$f" && -x "$f" ]; then
+          echo "Patching $f"
+          patchelf --set-interpreter "$interpreter" "$f"
+        fi
+      done
+    '';
+    preCheck = "pnacl/bin/clang -v"; # check it links correctly
+    installPhase = ''
+      runHook preInstall
+
+      mkdir -p $out
+      cp -R ./* $out/
+
+      runHook postInstall
+    '';
+  };
+
+  libstdcpp-preload-for-unvanquished-nacl = stdenv.mkDerivation {
+    name = "libstdcpp-preload-for-unvanquished-nacl";
+    buildCommand = ''
+      mkdir $out/etc -p
+      echo ${gcc.cc.lib}/lib/libstdc++.so.6 > $out/etc/ld-nix.so.preload
+    '';
+    propagatedBuildInputs = [ gcc.cc.lib ];
+  };
+
+  fhsEnv = buildFHSUserEnv {
+    name = "unvanquished-fhs-wrapper";
+    targetPkgs = pkgs: [ libstdcpp-preload-for-unvanquished-nacl ];
+  };
+
+  wrapBinary = binary: wrappername: ''
+    cat > $out/lib/${binary}-wrapper <<-EOT
+    #!/bin/sh
+    exec $out/lib/${binary} -pakpath ${unvanquished-assets} "\$@"
+    EOT
+    chmod +x $out/lib/${binary}-wrapper
+
+    cat > $out/bin/${wrappername} <<-EOT
+    #!/bin/sh
+    exec ${fhsEnv}/bin/unvanquished-fhs-wrapper $out/lib/${binary}-wrapper "\$@"
+    EOT
+    chmod +x $out/bin/${wrappername}
+  '';
+
+
+  unvanquished-assets = stdenv.mkDerivation {
+    pname = "unvanquished-assets";
+    inherit version src;
+
+    outputHash = "sha256:1fy85cjnjk9rrqkhgx5701inff2yv14hnxglzx3209c553gn31n7";
+    outputHashMode = "recursive";
+    nativeBuildInputs = [ aria2 cacert ];
+    buildCommand = "bash $src/download-paks $out";
+  };
+
+# this really is the daemon game engine, the game itself is in the assets
+in stdenv.mkDerivation rec {
+  pname = "unvanquished";
+  inherit version src binary-deps-version;
+
+  preConfigure = ''
+    mkdir daemon/external_deps/linux64-${binary-deps-version}/
+    cp -r ${unvanquished-binary-deps}/* daemon/external_deps/linux64-${binary-deps-version}/
+    chmod +w -R daemon/external_deps/linux64-${binary-deps-version}/
+  '';
+
+  nativeBuildInputs = [ cmake unvanquished-binary-deps copyDesktopItems ];
+  buildInputs = [
+    gmp
+    libGL
+    zlib
+    ncurses
+    geoip
+    lua5
+    nettle
+    curl
+    SDL2
+    freetype
+    glew
+    openal
+    libopus
+    opusfile
+    libogg
+    libvorbis
+    libjpeg
+    libwebp
+    libpng
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_CGAME=NO"
+    "-DBUILD_SGAME=NO"
+    "-DUSE_HARDENING=TRUE"
+    "-DUSE_LTO=TRUE"
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "net.unvanquished.Unvanquished.desktop";
+      desktopName = "Unvanquished";
+      comment = "FPS/RTS Game - Aliens vs. Humans";
+      icon = "unvanquished";
+      terminal = false;
+      exec = "unvanquished";
+      categories = "Game;ActionGame;StrategyGame;";
+      # May or may not work
+      prefersNonDefaultGPU = true;
+      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
+      # yes, PrefersNonDefaultGPU is standard:
+      # https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
+    })
+    (makeDesktopItem {
+      name = "net.unvanquished.UnvanquishedProtocolHandler.desktop";
+      desktopName = "Unvanquished (protocol handler)";
+      noDisplay = true;
+      terminal = false;
+      exec = "unvanquished -connect %u";
+      mimeType = "x-scheme-handler/unv";
+      # May or may not work
+      prefersNonDefaultGPU = true;
+      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
+    })
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    for f in daemon daemon-tty daemonded nacl_loader nacl_helper_bootstrap; do
+      install -Dm0755 -t $out/lib/ $f
+    done
+    install -Dm0644 -t $out/lib/ irt_core-x86_64.nexe
+
+    mkdir $out/bin/
+    ${wrapBinary "daemon"     "unvanquished"}
+    ${wrapBinary "daemon-tty" "unvanquished-tty"}
+    ${wrapBinary "daemonded"  "unvanquished-server"}
+
+    for d in ${src}/dist/icons/*; do
+      install -Dm0644 -t $out/share/icons/hicolor/$(basename $d)/apps/ $d/unvanquished.png
+    done
+
+    runHook postInstall
+  '';
+  meta = {
+    platforms = [ "x86_64-linux" ];
+    homepage = "https://unvanquished.net/";
+    downloadPage = "https://unvanquished.net/download/";
+    description = "A fast paced, first person strategy game";
+    maintainers = with lib.maintainers; [ afontain ];
+    # don't replace the following lib.licenses.zlib with just "zlib",
+    # or you would end up with the package instead
+    license = with lib.licenses; [
+      mit gpl3Only lib.licenses.zlib cc-by-sa-25
+    ];
+  };
+}
diff --git a/pkgs/misc/screensavers/betterlockscreen/default.nix b/pkgs/misc/screensavers/betterlockscreen/default.nix
index 127344193d84..facac2717c4c 100644
--- a/pkgs/misc/screensavers/betterlockscreen/default.nix
+++ b/pkgs/misc/screensavers/betterlockscreen/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "betterlockscreen";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "pavanjadhaw";
     repo = "betterlockscreen";
     rev = version;
-    sha256 = "sha256-TA4YSd/elFuLU1ZMu+dqIOt6hK9pnzgoJudaMpIwh+U=";
+    sha256 = "sha256-UOMCTHtw1C+MiJL6AQ+8gqmmbqrs1QTzEi1Ar03PyMs=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 13b078f5f1e4..842b2600bd69 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -69,8 +69,8 @@ final: prev:
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "a02a4f2811f810877f3c3859cca963f9578ff94a";
-      sha256 = "0c96zhz8ia1yfgv58jrib49kp250kilv2awr2jgnriqznkl9l4h9";
+      rev = "1b08791228f5aca4545a3fba6699b29a003028fe";
+      sha256 = "07fmvg4hcri98zxnyjab2inzaapqc2w08rzdkspcgrhibqvp53jk";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -89,24 +89,24 @@ final: prev:
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2021-05-15";
+    version = "2021-05-31";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "d1c07000f95825579f00e24077e65387fc1db0d6";
-      sha256 = "1n1vs0n596mg82kmhmscfy983di6h86mhangs6rk3zdyhzyjax5b";
+      rev = "4ca3d418eebc0da452b7defc18970c83f7de5070";
+      sha256 = "0ax3hfwppbkm7haxvsllac6r4zk2ys9rrj7sj4p3ayl1w8v3n8nq";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2021-05-24";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "f351f0d36e1c8990d8bb1eb2f1d8c25e76ff99bb";
-      sha256 = "1hsyk5zc0nmh0hv0c803giimgmx1nahs1zm4gw61bkq2dkjfb4dn";
+      rev = "804099202b72ffd4bf4ea4ce24d8d7bac8b9ae2d";
+      sha256 = "0p93g0zi8j6bf5zh0ng9vdl9f76dan524g22jpb8c0xmm6ywns5l";
     };
     meta.homepage = "https://github.com/pearofducks/ansible-vim/";
   };
@@ -185,12 +185,12 @@ final: prev:
 
   aurora = buildVimPluginFrom2Nix {
     pname = "aurora";
-    version = "2021-05-10";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "aurora";
-      rev = "bf185b9c5aaaad7cfd20f29f92d3b77164f8f1e7";
-      sha256 = "17ir0daw3rsfgprgvrskip2r19g15z05spdk14dz105nrgv4hh4y";
+      rev = "8d5601629f123e9553688a6705a1490ee8be9a1c";
+      sha256 = "0i2nyk46yvr59hxwc99iaa0zdy0xcnaa1z1q93xf85i2pdyjg99b";
     };
     meta.homepage = "https://github.com/ray-x/aurora/";
   };
@@ -221,12 +221,12 @@ final: prev:
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2021-05-26";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "c051b0d86395c3c4c9db5ddc1b116d43b5dce6c6";
-      sha256 = "1006rnpprqh3xsmlas07ay4z743g2zd7z7pqwa4n1bb97y9k89ly";
+      rev = "80ddcf26eca11cf4d48a52ffec094fe5a4711f32";
+      sha256 = "0kh6a5hm0ppsbfpp7yhr2k4v36mj203q59wy15sgajx08ww0jj3m";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -269,12 +269,12 @@ final: prev:
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar-nvim";
-    version = "2021-05-23";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "fc90a9bceba1ccacf8a5331bb7c508baac7d5110";
-      sha256 = "0lwky1zbv4a4ng0bzbpz5v3b7lnk6xzj4sfzm6x5qyhagpw4812v";
+      rev = "23b6f64c9523522dd185482c856de492476a760c";
+      sha256 = "1ijm4w4nqa037vjpjgjizhzrnpj10hwjc93lhzq29qs3cx85df1q";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -413,12 +413,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-05-27";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "77f56c4938b512b20c2da76a54a362dffc5bc7d4";
-      sha256 = "1hyadig7f0mjj3vwz6pxyzwa155knbqd9dcpk64p215wagc08nfm";
+      rev = "a33387ffed163f922d93f142a908adfda521a224";
+      sha256 = "1gs06vs1bgjr76hg1pdkxsd81c12fnaqg8r1lfvwcvph1nzqj7d9";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -449,12 +449,12 @@ final: prev:
 
   ci_dark = buildVimPluginFrom2Nix {
     pname = "ci_dark";
-    version = "2021-04-24";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "yunlingz";
       repo = "ci_dark";
-      rev = "4c314000b5a21a1b9f52442a0c80e4b3fd4f0a1f";
-      sha256 = "1wxsgaixdmb8v87kavvyyiyqlkn7ck5g39hkq4j19747jnb6lvqf";
+      rev = "d50cd0c60ecdaffb779d2acb7ce2bb94df1ed867";
+      sha256 = "0pqpvqas1z173c2ngka787d9gp49ai3x85haingkxvir3bf0nbqm";
     };
     meta.homepage = "https://github.com/yunlingz/ci_dark/";
   };
@@ -509,12 +509,12 @@ final: prev:
 
   coc-fzf = buildVimPluginFrom2Nix {
     pname = "coc-fzf";
-    version = "2021-04-24";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "antoinemadec";
       repo = "coc-fzf";
-      rev = "70f0691e14c8e55290e554591c0a2661dea530fa";
-      sha256 = "1m3kwgng7xi8xycc0dcx0wr9i7q0anx9lpax0r4p2a26vaqam539";
+      rev = "1be2273dc37c07b98b7a1b2b67fd57c80feb85a9";
+      sha256 = "06w052x13idb8wfvyasg36hakffxnzfs7paj3wk83qa2m1kiz1n4";
     };
     meta.homepage = "https://github.com/antoinemadec/coc-fzf/";
   };
@@ -557,12 +557,12 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc-nvim";
-    version = "2021-05-24";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "1a74bf3c57fec8442f837b3baad0d6fb75d1b97a";
-      sha256 = "105jcl74k006dsslplp40yizfdjrj3p7qr23c53dgs2wlbzqc3kj";
+      rev = "06d950e547e8fa1a775399ae5eeb70603084b109";
+      sha256 = "1fj8v8zm0w04fyxf12ck4lc3gwq6bxh5shmwc24j0sar3ki0i4rz";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -652,6 +652,18 @@ final: prev:
     meta.homepage = "https://github.com/tami5/compe-conjure/";
   };
 
+  compe-latex-symbols = buildVimPluginFrom2Nix {
+    pname = "compe-latex-symbols";
+    version = "2021-05-14";
+    src = fetchFromGitHub {
+      owner = "GoldsteinE";
+      repo = "compe-latex-symbols";
+      rev = "70f58e53e142e3c59fe0f673dd54ce690ae57367";
+      sha256 = "0p4xss3zyp6002hsa6dx989zhp672mc30b57w5cjhcgbknw0iy1l";
+    };
+    meta.homepage = "https://github.com/GoldsteinE/compe-latex-symbols/";
+  };
+
   compe-tabnine = buildVimPluginFrom2Nix {
     pname = "compe-tabnine";
     version = "2021-05-09";
@@ -664,6 +676,30 @@ final: prev:
     meta.homepage = "https://github.com/tzachar/compe-tabnine/";
   };
 
+  compe-tmux = buildVimPluginFrom2Nix {
+    pname = "compe-tmux";
+    version = "2021-05-31";
+    src = fetchFromGitHub {
+      owner = "andersevenrud";
+      repo = "compe-tmux";
+      rev = "b199db008d07caf7f1d488ac3f171910416528a4";
+      sha256 = "1qiir95bz046ppp6pp8k6m00jrjcy2yp098s72lwfnsls6pqsgpf";
+    };
+    meta.homepage = "https://github.com/andersevenrud/compe-tmux/";
+  };
+
+  compe-zsh = buildVimPluginFrom2Nix {
+    pname = "compe-zsh";
+    version = "2021-04-03";
+    src = fetchFromGitHub {
+      owner = "tamago324";
+      repo = "compe-zsh";
+      rev = "1a46a0ee661242f6a015b2abead34b606bb97171";
+      sha256 = "0m8fmsx4bwmgqgjpwpldckp68hpx6qfschwdg275xsxkzw8pdnbk";
+    };
+    meta.homepage = "https://github.com/tamago324/compe-zsh/";
+  };
+
   completion-buffers = buildVimPluginFrom2Nix {
     pname = "completion-buffers";
     version = "2021-01-17";
@@ -678,12 +714,12 @@ final: prev:
 
   completion-nvim = buildVimPluginFrom2Nix {
     pname = "completion-nvim";
-    version = "2021-04-08";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "completion-nvim";
-      rev = "8bca7aca91c947031a8f14b038459e35e1755d90";
-      sha256 = "02zqc75p9ggrz6fyiwvzpnzipfd1s5xfr7fli2yypb4kp72mrbaf";
+      rev = "c8db953a8e9f4bc8183e31831297cf84d6f521b8";
+      sha256 = "0p35msrh7g100ayl0g8285q43v20n6hlv1grdb0rmw8sil0j881a";
     };
     meta.homepage = "https://github.com/nvim-lua/completion-nvim/";
   };
@@ -738,24 +774,24 @@ final: prev:
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2021-05-15";
+    version = "2021-05-31";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "5d3b1afe96d11f059016d0b556f2797b54af916e";
-      sha256 = "0f4ms7c3bffak9dpx0c5wgq2asbg7xavr70cwsmxf0fifpacahhs";
+      rev = "31820e386ce7a32488ad6b19033c17a8f05c36bf";
+      sha256 = "1p35blgnd99kggwyiag6drx3v6zqx50ypxnfvvij102ws50144fk";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
 
   context_filetype-vim = buildVimPluginFrom2Nix {
     pname = "context_filetype-vim";
-    version = "2021-05-13";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "context_filetype.vim";
-      rev = "7f8c2f1340d450951462778b412e3b18038b4e82";
-      sha256 = "1zb4d5lk1gygyjqlkkjv46d0cgd2mddhgj7srlh0rcnlw3myswnr";
+      rev = "eca5b28dca1bace3b5694eb20b3ab244f65180e0";
+      sha256 = "0n0av5x6js5ld4xnlq5nh18cdwhvrljdsx17gq2sf54q342hlwp0";
     };
     meta.homepage = "https://github.com/Shougo/context_filetype.vim/";
   };
@@ -774,12 +810,12 @@ final: prev:
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2021-05-11";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "2cababf4c1b6cc2e460bbbd63e69ed5d9fc2ee34";
-      sha256 = "086gqc76ki8jwhhk4ihawjciwjsrq9k13bgwlnjhsp2rhm0vslb7";
+      rev = "5f92ee08b9c0018df244de47dc6e2ed4ba232a64";
+      sha256 = "16xfkblsn149v9rgqjcimaw380xv6l8gimfaj368gh9h2icaz9qc";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -930,12 +966,12 @@ final: prev:
 
   defx-nvim = buildVimPluginFrom2Nix {
     pname = "defx-nvim";
-    version = "2021-05-05";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "defx.nvim";
-      rev = "e1842ae0020ef53c7ed8f96ab1c51378c3323476";
-      sha256 = "1r01lfdk07cybhf957zzkpl6qxiwfladk72qfc525ah2bqcrhik5";
+      rev = "27890150286f62d9c2fcb624f6f3bd1fd45c7f3c";
+      sha256 = "0fvwdjqiqwhaxwkrnzfai0ay4sksr4ma4akhzqnfqd0blbhc4x2i";
     };
     meta.homepage = "https://github.com/Shougo/defx.nvim/";
   };
@@ -978,24 +1014,24 @@ final: prev:
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite-nvim";
-    version = "2021-05-17";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "fb8174a07c3a19091bfdbfc9439a15466d1649fa";
-      sha256 = "041c8hhq76ih0s730zyfx16svfbzqfqyy6pl686aqikixldcz41l";
+      rev = "70ca378f399be626020e2994f9604eae35c232a6";
+      sha256 = "0njjwa2ixqm792chvkq91fb7dadaf05kws727w1q9r5sp8k000sr";
     };
     meta.homepage = "https://github.com/Shougo/denite.nvim/";
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol-nvim";
-    version = "2021-05-09";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "ca02aa3b59fd3a6674ff6ce471267d1f716a2995";
-      sha256 = "15r7wvcchybjp96jw9klr93sdz89qnrw033942kd0q2q19fkbxdj";
+      rev = "5d4ca0cab361962a58db6f4a3ad06b00348b743d";
+      sha256 = "04ja8ps0vmvg5aggr6lr4qb4pv46hi86x8zw8mwrzav04z8fhxcw";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1220,12 +1256,12 @@ final: prev:
 
   deoplete-nvim = buildVimPluginFrom2Nix {
     pname = "deoplete-nvim";
-    version = "2021-05-24";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deoplete.nvim";
-      rev = "35e27c325ecf0afa28ca42bbda4793eb7ca5f383";
-      sha256 = "0an2282ykdsb5v25dhd9r2f2s13pcma0i219nvfaf0qdprip57id";
+      rev = "e9bd32d18430ee2c95b154d90533affc3ca6f62b";
+      sha256 = "0g5ssg6363552fx7y74hl5wbmpmdz6z7y98jwa5y3dkq3xqh6ykn";
     };
     meta.homepage = "https://github.com/Shougo/deoplete.nvim/";
   };
@@ -1268,12 +1304,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview-nvim";
-    version = "2021-05-21";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "991d633b162dd3dd03f50d1fde19366ab5943cb2";
-      sha256 = "1n24ahzzbf66r6pjklca7ivydaxr8q03w4ib32bh8vmbk6b4x85g";
+      rev = "e174aa0a1e8a65fd9699f190c67fd197c2afa09f";
+      sha256 = "0skzir27vzg5h8w0c7hj2p2i0540m768i1vbgqwpgz7y7wkgpbcm";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -1304,24 +1340,24 @@ final: prev:
 
   dracula-vim = buildVimPluginFrom2Nix {
     pname = "dracula-vim";
-    version = "2021-05-19";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "dracula";
       repo = "vim";
-      rev = "c0337ceef66f87640ad02fa4e190a370a6ea6a7b";
-      sha256 = "1007nq0av5lw1jix0dpw6ryvym7kyzq8088fa7baavdxbs0wyr0s";
+      rev = "869f70a7603b77cdb2f63983dd286f3f61b7a966";
+      sha256 = "031c000nr2raw0v6bdnisczjz20y5iw0yapj8wih0nc703dirhih";
     };
     meta.homepage = "https://github.com/dracula/vim/";
   };
 
   echodoc-vim = buildVimPluginFrom2Nix {
     pname = "echodoc-vim";
-    version = "2021-05-11";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "echodoc.vim";
-      rev = "7dc1d45d7ffd275c06bf207795cf071ae6c9f1a4";
-      sha256 = "1hxywy423ikfkmcyqm467j741mn0ar4c5k7li0liniygjwpiaxjm";
+      rev = "d02232ff17517f9bc048f0d4a668ef00d57b5f6c";
+      sha256 = "17m9nph5xk1dcd5l89asp2fw6jd97hsmr78ni67id23v9mjyqslk";
     };
     meta.homepage = "https://github.com/Shougo/echodoc.vim/";
   };
@@ -1571,12 +1607,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2021-05-22";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "01a175fb02be0097fbaea20af354e37b0586a5a3";
-      sha256 = "03pxfiz2y5n8v1pych1g98k0kziajhwacx2agrr9c4wwf4rv467j";
+      rev = "496ccb632e1dd66ab4561304faa431125c0bf0de";
+      sha256 = "1rbgji9x0bf8l7kqph77nfnpipy4d1863ml3wx75404q43nld7w8";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -1763,12 +1799,12 @@ final: prev:
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns-nvim";
-    version = "2021-05-27";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "f4a4fbe04dd829317b7918367b061b54408049d5";
-      sha256 = "15ma584q9s60nbi8nxg3cj10m3a1ly00y2xzxdnpy9ik4n04s911";
+      rev = "4e3e2626af9573758a4e8c0d463ff3b733d40644";
+      sha256 = "01cr2a6xqzazyapkdlqjbxswsm9y7hnwl3bs7wcp23dwlpdvxc89";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -1787,12 +1823,12 @@ final: prev:
 
   glow-nvim = buildVimPluginFrom2Nix {
     pname = "glow-nvim";
-    version = "2021-05-26";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "npxbr";
       repo = "glow.nvim";
-      rev = "69bc59ab0bb1214234bbf06dbeb6233b21ff2fc5";
-      sha256 = "0jqdalmaisj3gjlqa6kfh83va7a1gd7akggmr66vnccvfxfcdc54";
+      rev = "d7f5eb0af3f2a51c2f493fec066015dc29184a4e";
+      sha256 = "1180g55d6adj9jzx9dxld3345hw80vjjj3r8n7snba1m3c8jd5xm";
     };
     meta.homepage = "https://github.com/npxbr/glow.nvim/";
   };
@@ -1871,12 +1907,12 @@ final: prev:
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox-nvim";
-    version = "2021-05-12";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "npxbr";
       repo = "gruvbox.nvim";
-      rev = "86bc293204a6c13f1650378c39bf248bd5a5a22f";
-      sha256 = "0if2ad8s9r3pwdsqlkl6y82r0a0z86c6vlkdp28m18sxv848psx5";
+      rev = "ad076d46c76b884d7b555067d3434b3666c3b80b";
+      sha256 = "0m4ks6gxh3clg4vg1rxyvhjjkmmwipb9s38zwbaidfqwifldjriy";
     };
     meta.homepage = "https://github.com/npxbr/gruvbox.nvim/";
   };
@@ -1979,12 +2015,12 @@ final: prev:
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop-nvim";
-    version = "2021-05-08";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "3655626906859f572b8c4ce9dd9d69e2e1e43b81";
-      sha256 = "1qjg77zkgfvw9y0g9ab0fg52lx223h60r4jmrqnv89i9b0bfmz6f";
+      rev = "56727073356756a86c4b1be95d7c565e4ab1f11e";
+      sha256 = "00ch6mhcxvqk7kshmi6rfm0n1wna47v5kcxjxwhndm79liq3h91b";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
@@ -2352,36 +2388,36 @@ final: prev:
 
   LeaderF = buildVimPluginFrom2Nix {
     pname = "LeaderF";
-    version = "2021-05-27";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "LeaderF";
-      rev = "78bc54d4244854c399447bf9ebd0c8af5f455dc1";
-      sha256 = "1wiyqf4h00lf029533byynh6ijz6a4y8al2061wfxp6690hbl488";
+      rev = "3849b6440299215e5168d569713d2a5540dfbf2b";
+      sha256 = "17if75p3x4lkqncl296f3jdq0rcc69b0mgj0dbz6cl851bmqvy40";
     };
     meta.homepage = "https://github.com/Yggdroot/LeaderF/";
   };
 
   lean-vim = buildVimPluginFrom2Nix {
     pname = "lean-vim";
-    version = "2021-01-02";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "leanprover";
       repo = "lean.vim";
-      rev = "313fd1e09e7a14352f87d44c82005b6e6316c9bc";
-      sha256 = "0f6jq0hliy4jignjc1d30bsvfkb4xl4nzj900hphbc7l2aw7scqr";
+      rev = "fdf448398335434f4b5c45aff5f4ee64a3d090fa";
+      sha256 = "0wi7837yy4x89w6gw72qkaxbb0vdm3hlxnkjplg2g4ibpayxx3s4";
     };
     meta.homepage = "https://github.com/leanprover/lean.vim/";
   };
 
   lens-vim = buildVimPluginFrom2Nix {
     pname = "lens-vim";
-    version = "2020-04-24";
+    version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "camspiers";
       repo = "lens.vim";
-      rev = "868b195be3cc3000d1d3f875ee0a52a11972e5b9";
-      sha256 = "0qpx84k52pz29rx6q0zh3qq4g3a1gyvyfcipx3kaw4lxlld6agd5";
+      rev = "099c3502d001f7081edf113de57e8b1cfd121c55";
+      sha256 = "1h25isrw96qhfacf37h3anscnrisdxsz6vv7826hpb17r0ygb5ms";
     };
     meta.homepage = "https://github.com/camspiers/lens.vim/";
   };
@@ -2472,12 +2508,12 @@ final: prev:
 
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline-vim";
-    version = "2021-05-27";
+    version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "itchyny";
       repo = "lightline.vim";
-      rev = "d5cea5b04841aedd6e3e46c736f2724be03a43e9";
-      sha256 = "0yixqn80dh0av0kshz0dw8gbd52096bgdg7gj74rir8hh48bsngx";
+      rev = "b06d921023cf6536bcbee5754071d122296e8942";
+      sha256 = "1dsqssxgbglq6al6di9grxl24rgwidgd6jrc8d4gk6v6ymgzckl8";
     };
     meta.homepage = "https://github.com/itchyny/lightline.vim/";
   };
@@ -2544,12 +2580,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature-nvim";
-    version = "2021-05-24";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "1ebfa3e9c9168d7ee9201abdcc86c07a8f9b89db";
-      sha256 = "17wqqhi9fslv3b7f79cx33bgvahx9mfl9f04vpm9417b0dc77359";
+      rev = "5aca93b10b571a8dfafd2c9e850239dfa2094a6f";
+      sha256 = "1k8k7zq03jnvh4328i0s0d87g9s5y2yc94wnpg059clmp1cizcq4";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -2592,12 +2628,12 @@ final: prev:
 
   lush-nvim = buildVimPluginFrom2Nix {
     pname = "lush-nvim";
-    version = "2021-05-26";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "rktjmp";
       repo = "lush.nvim";
-      rev = "b39af94cb4154a3f0887e94d0a4d5f4ae8f92656";
-      sha256 = "015q2lkihhb8cgbxxc4f7d4w7sqc67wyaavjany3pj0528rrv97d";
+      rev = "684c06d4879a38e50a247ce23b32beaacc75c4d1";
+      sha256 = "1khws788sww2dw4s3nqyigyxi7099kqh60dabs66hj9byb84irql";
     };
     meta.homepage = "https://github.com/rktjmp/lush.nvim/";
   };
@@ -2676,24 +2712,24 @@ final: prev:
 
   minimap-vim = buildVimPluginFrom2Nix {
     pname = "minimap-vim";
-    version = "2021-04-13";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "wfxr";
       repo = "minimap.vim";
-      rev = "6afcca86b2274b43de9d39e3c1235f4b0f659129";
-      sha256 = "08wabfqhj697qy92jrf6mzbhjbybyil45fsvhn6q3ffl161gvsak";
+      rev = "b2c27ca4b25dedef968f3e746533bb973b148c34";
+      sha256 = "0wx1hk7ml4r49gdfqnww1002c5aw4dgndlrhwy8fhyvg8117902r";
     };
     meta.homepage = "https://github.com/wfxr/minimap.vim/";
   };
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2021-05-21";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "b45099a18e88cd61c93a073e2b15cc6025e4774e";
-      sha256 = "0yawlfnghbkr3bcqqcf3znsdjjbh13a46dhkn4sj108adc9c4y56";
+      rev = "e129e3c7d92477563aeb068628ee0ccdd46ed36e";
+      sha256 = "0q0cyigkszw0qsdvg9dxs293sf8hbmwwy6qxlknmrfiy5xyn6ik5";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -3000,12 +3036,12 @@ final: prev:
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2021-05-17";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "4095c328558bfa5c28bbb7b53e921219c45a450f";
-      sha256 = "0cw7hfnrw4r25zcvr38sf6i8vjzhd4ndkj7mybyh6ykwjc646pmq";
+      rev = "f0a22c4609e6f090afdcb147242a2e96ac763f4a";
+      sha256 = "09y03krzg2wl0mlgvc3shvdbvjr8ga69amknbfzvnmplmqyji0g5";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3024,12 +3060,12 @@ final: prev:
 
   neomake = buildVimPluginFrom2Nix {
     pname = "neomake";
-    version = "2021-05-24";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "neomake";
       repo = "neomake";
-      rev = "df653c87bb04753755995579218c3b8bc1639383";
-      sha256 = "1kn23xknakxx5r7n92cpzrvng0nh8gnf1kmr63d1gzsk6a3yh5aw";
+      rev = "3663e065b4f3d0c4a1144b668129ef43e0d8ff10";
+      sha256 = "0l87p48lyx78a9ayqygpba76z04ld64w747m0mrdlgci0x8jnqb7";
     };
     meta.homepage = "https://github.com/neomake/neomake/";
   };
@@ -3060,12 +3096,12 @@ final: prev:
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet-vim";
-    version = "2020-09-10";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "30b6b53b7a86b84371714b4a0f092d5d303c4a35";
-      sha256 = "0q06a0wq2aqgkjc5jndccffibr85hf33w2igcah3x6dl203p4ips";
+      rev = "5d65a8fde5c3f4dfc0dc1a13639515948d8a28a5";
+      sha256 = "1iaapjpx91kcz9h2gp7vzgj7lnjs86g0iqkg3vgr04kj9lsvj3j7";
     };
     meta.homepage = "https://github.com/Shougo/neosnippet.vim/";
   };
@@ -3096,12 +3132,12 @@ final: prev:
 
   neovim-fuzzy = buildVimPluginFrom2Nix {
     pname = "neovim-fuzzy";
-    version = "2020-09-16";
+    version = "2021-04-24";
     src = fetchFromGitHub {
       owner = "cloudhead";
       repo = "neovim-fuzzy";
-      rev = "78f4d79f703aff49c9bcee5d527234c2f64425d5";
-      sha256 = "1dq79jabyyyphgigqac9jf7hhadfh336fm8hklh1d64xlzyrfp6s";
+      rev = "46f908aedef6af039c5134056ad008fe7aae1cbc";
+      sha256 = "0mszwcvj61y9jqxc0vgghjl1x0xxvy7mqspmv3ikd8sglg54gz2d";
     };
     meta.homepage = "https://github.com/cloudhead/neovim-fuzzy/";
   };
@@ -3132,12 +3168,12 @@ final: prev:
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2021-04-30";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "ab475e1325ad6eaec15a3113f201a4e4a3ee2811";
-      sha256 = "00zmrgb8f2i0i00xbqnidxln6bkz740q09cj7kysk5142z27435q";
+      rev = "a5d1663185bee20bfb120c9ab212144444514982";
+      sha256 = "03799774h9f7k52gwjnhjjm2w9s6ip5zdrpljinwp6lfavxd4w8a";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
@@ -3156,12 +3192,12 @@ final: prev:
 
   nerdtree-git-plugin = buildVimPluginFrom2Nix {
     pname = "nerdtree-git-plugin";
-    version = "2021-05-17";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "Xuyuanp";
       repo = "nerdtree-git-plugin";
-      rev = "4524fb465b11881409482636ae716b4965011550";
-      sha256 = "0cvb33drkv3rrgbniw9bz8xkxyr4cf0lyay9waw3lczpl2wmfwbm";
+      rev = "bca0ed63883d028e6afc7f11a78c56fcaf34d363";
+      sha256 = "1j5llx2l36hgr10mjjdrp8xdv9mhmc6panpjgdxzdg5ncwn4ndzm";
     };
     meta.homepage = "https://github.com/Xuyuanp/nerdtree-git-plugin/";
   };
@@ -3216,12 +3252,12 @@ final: prev:
 
   nnn-vim = buildVimPluginFrom2Nix {
     pname = "nnn-vim";
-    version = "2021-05-21";
+    version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "mcchrish";
       repo = "nnn.vim";
-      rev = "065bf84b0b86266b267adfc2584e67eabef49815";
-      sha256 = "1v2jckl4gaai77rqnv1hwv4bb0d6vyk7hy63nlyy3fcnc1z1ic8v";
+      rev = "fb80ed60c642b1f3666125c3051bd2da34453eeb";
+      sha256 = "1p87dc296icb2kpyzlflpzbaq5z2yg106mpsxxzmwzn949smsk7l";
     };
     meta.homepage = "https://github.com/mcchrish/nnn.vim/";
   };
@@ -3240,12 +3276,12 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord-nvim";
-    version = "2021-05-22";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "6860c64a3002f6dbcf36c0baf7bda8c34c5083c8";
-      sha256 = "0a036xgsklqv2zwlcpyhdrip8mvgqhyb4vcsp7gwp5241917bia3";
+      rev = "6965333869ca172a18606c93d6f6c1275fb9aabb";
+      sha256 = "0nljk4ncxz5syf0wr29j3bdxdw5bjpjn879ls1r910hicn4lg468";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
@@ -3264,12 +3300,12 @@ final: prev:
 
   nvcode-color-schemes-vim = buildVimPluginFrom2Nix {
     pname = "nvcode-color-schemes-vim";
-    version = "2021-04-29";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "ChristianChiarulli";
       repo = "nvcode-color-schemes.vim";
-      rev = "940f2eb232091f970e45232e9c96e5aac7d670de";
-      sha256 = "1sxi0dhbqg6fg23n8m069z6issyng18hbq9v7rxnzw90mqp0y5zb";
+      rev = "7c85366c9d457ed0e3c3532ee312307476afbbdc";
+      sha256 = "02hxjwi8g07zhx6xagma5m3sa0j4ljg79377zfn2vy4snnib452p";
     };
     meta.homepage = "https://github.com/ChristianChiarulli/nvcode-color-schemes.vim/";
   };
@@ -3288,12 +3324,12 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2021-05-26";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "b5816204bd2f92f1c64dff132fbd67a1530c1751";
-      sha256 = "1w0cw7pp7szqsgq734j4zv8c7jcjblpmfa6iw1r0bpi2jgplb5ha";
+      rev = "b09ab7495e55f09293500aacf460d176f942504d";
+      sha256 = "05w7bjn1iy1qa3ni12vm9p28y4bsz4kkfgmcs44152qmcqj13wp1";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
@@ -3312,24 +3348,24 @@ final: prev:
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2021-05-21";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "3754935f6c6b9eaae203fe9d4620e2d3e1a8f0ef";
-      sha256 = "16rf7i540mahmlb9mdk5g02ax1v5wkh3fyiy9if8zirf47ywcczd";
+      rev = "554ae68f404492c8d37381545b9a785fda30c26e";
+      sha256 = "0z6xb6wsq5kjcnyiqbp2ik97yl2kb9hxy0rfccfswh5pgmfv2z1i";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
 
   nvim-bufferline-lua = buildVimPluginFrom2Nix {
     pname = "nvim-bufferline-lua";
-    version = "2021-05-26";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "nvim-bufferline.lua";
-      rev = "026c12d7e4f85c570acf8be4c69c282acbe18953";
-      sha256 = "0l4y15rzhjjgqkdryj399xgnmz1c3ga8li9j8m4qf98isbmqhsws";
+      rev = "883cd1b0d8029c97bb6c3358b8e55c040b0c7bcb";
+      sha256 = "06mcl11jx56wym2jfinpbklpfn55d6j35yy80dv9dy8072mb5f9f";
     };
     meta.homepage = "https://github.com/akinsho/nvim-bufferline.lua/";
   };
@@ -3360,12 +3396,12 @@ final: prev:
 
   nvim-compe = buildVimPluginFrom2Nix {
     pname = "nvim-compe";
-    version = "2021-05-27";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-compe";
-      rev = "c7cd3bf1380ce3c6ef2a55537ace40c3a3897c50";
-      sha256 = "0pqka3wi169l8d58hlixhyi9yng62p1ic6fnl2vgbydi72xd1ngd";
+      rev = "310488302c6532646adfe8228e40187a80b36ac5";
+      sha256 = "1anfrybaliyaxgi8iv55hncnac8xgizqw9b9047lw2grkybmrdn4";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-compe/";
   };
@@ -3384,24 +3420,24 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2021-05-21";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "260d13945348966f695c46e4c711001066f47300";
-      sha256 = "02nkr4wz63r973myyvvfs5wmdichcxaj0iika0z4j7mh59nqzvha";
+      rev = "826a1931fdf1b3b67a0b456aa3abc1b72185a7a7";
+      sha256 = "0g8x9vk9qv16zlbvx3h8w2vhnqyycssn5v4y8sdhsnhyjljsjygz";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2021-05-27";
+    version = "2021-05-31";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "bb291ba853759f455e421892a955d67cc8e88173";
-      sha256 = "0wlfh0mgdhlnvwl7m7bdzj7kks9f5hnm2k3awnyl8a14rjl00i0i";
+      rev = "055b143fdd23fee1d86247a8ec7c43c84a2a896b";
+      sha256 = "0v9mxpr5m01w948ddh598k1vzaiyq2zl6fkykbpzkijhk8qvjnv9";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
@@ -3420,36 +3456,36 @@ final: prev:
 
   nvim-gdb = buildVimPluginFrom2Nix {
     pname = "nvim-gdb";
-    version = "2021-05-24";
+    version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "sakhnik";
       repo = "nvim-gdb";
-      rev = "9a6e8268878352b9ea3087ab745b894531e5e335";
-      sha256 = "1mbjsab96r99hzjh78dsk7cwmn59mgzkr0y6mm6i81g0zz9d9cya";
+      rev = "60994408e6684fb776bcfb80c456cbdf8bc6eb93";
+      sha256 = "044bgiyhi4db5avajry9v168gz55xn6yzr83j610k95hh2aam08a";
     };
     meta.homepage = "https://github.com/sakhnik/nvim-gdb/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2021-04-01";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "ff28f2dde464a9e105c7dc041127eb60059d955a";
-      sha256 = "089019br0f3massc2sz3l0r8cjc33i5qqwbm4k7cz50x71g89wrq";
+      rev = "9c15a789df5af1d3c83c0d680154ca226253eb26";
+      sha256 = "0dz3bbyrwgxvsdmix2h6xbgj7wv9zbj08wgy46sjhzdhaxdfjx4z";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2021-05-26";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "1ec700d81aae9369ee16b5dfb421153377c4bdee";
-      sha256 = "08vi23gaccm0whswg8jsb5pvbcdci51w61m7x079yfarablz1h6c";
+      rev = "d5ba4abab33808dbf653cc8270d82561f96b220b";
+      sha256 = "0qyb6fjjcgjifkgvcy475gxplbvdvzd51z7xv2m7gshy6m4vlzk6";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -3468,12 +3504,12 @@ final: prev:
 
   nvim-jdtls = buildVimPluginFrom2Nix {
     pname = "nvim-jdtls";
-    version = "2021-05-25";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-jdtls";
-      rev = "f39758c426c9409ff35ef730b324bc8cd267a5ef";
-      sha256 = "11md1s3yqyzr4w5ii6d2dqh9njjc6sglpfgh18mgnx8y6fk23r58";
+      rev = "8bd4eac08c637961b10ac01c124fb5091484c265";
+      sha256 = "0jjsq718m0c1f45k9b68z0inlhy5nas48ff5yd0v29qlcv01w3wf";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-jdtls/";
   };
@@ -3492,12 +3528,12 @@ final: prev:
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2021-05-25";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "6a25eb0d3fc77cd1b9ff11446dc52d50bc482155";
-      sha256 = "0chb6d3v2n5wka4fgw49rzxqd1vwl7mwwb5z13hvylxbad098n1l";
+      rev = "62c04242031ed65a8d29ebefaaf645e8e3375748";
+      sha256 = "1g1s85dzz7lr3ky90m27m8f3s06xm4c87z96vwzaaajb28927774";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -3564,36 +3600,36 @@ final: prev:
 
   nvim-toggleterm-lua = buildVimPluginFrom2Nix {
     pname = "nvim-toggleterm-lua";
-    version = "2021-05-26";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "nvim-toggleterm.lua";
-      rev = "9215c1955c30b08779bcf1043964a49a9aaf0da8";
-      sha256 = "1w1bxinkn1walx4svjcjwci2h6vwn2jyiyrykvzcr55gnm5dr5kd";
+      rev = "53134b08a5a5e66f343c4e431966a0a19ce2d162";
+      sha256 = "00gxkl87f8gawil9bdxa5s15yswc1ac4y9c5vx3kmhv6g5ipcrrn";
     };
     meta.homepage = "https://github.com/akinsho/nvim-toggleterm.lua/";
   };
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree-lua";
-    version = "2021-05-27";
+    version = "2021-06-05";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "23935ff0036e26dbfe14e6aee96a7653ee704336";
-      sha256 = "07pvxjijp1k932i1pzw0szd5dqxrh2g4br70z0h149252hya4fkf";
+      rev = "f56ac7884c9b12343d66a2bacf90097af3c58cf6";
+      sha256 = "0v2aznndmc5bsipqbj4q40qqmv384z6k5xh17yfcp7a6iak5zzjq";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2021-05-26";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "6c2ff319b311fed0160875b878811431399889cf";
-      sha256 = "0vl782k8p5l2gm3y247a70ksrdn863gsv1z47frfnpq30ayxz0mx";
+      rev = "b5d603a876fe8c89e96a9cac2dac2dd375479dac";
+      sha256 = "1x2cn0v7yyqlwz8g4vqxh0vai372946a1akbg50pldq24jxm8j0q";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -3636,24 +3672,24 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2021-05-11";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "4f1ace57fbeed1f4e5613ea8c9b414ff0833eade";
-      sha256 = "1in2q3igq74m900rkchdcgfcy3h60663b58xn2ydlbjsbzhc7vrn";
+      rev = "cadb8110817884fff506043497c0f2b92026aacb";
+      sha256 = "01f1913r1q1x1qwp6l6xrqxfc9lffngnc8js5n37r7naszc9r7w8";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2021-05-26";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "de234084fb82ff40ac593410409c77a542456415";
-      sha256 = "1nw53jxdll34xml9064cl65p33cnv2pg9bbg4697wqdhs7rm4z27";
+      rev = "0fffdcb37cf7d43bc138c89eb002957819c748af";
+      sha256 = "0xd79f7a7zyqj6yzkjanli8r4wjhy17gsp1wl7p7vws6axrbgvjl";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
@@ -3732,24 +3768,24 @@ final: prev:
 
   one-nvim = buildVimPluginFrom2Nix {
     pname = "one-nvim";
-    version = "2021-05-05";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "Th3Whit3Wolf";
       repo = "one-nvim";
-      rev = "75e845eacc23f544b8990b5b6d10d8edf58cacfe";
-      sha256 = "0zwz2kak0hk0kam0klh3ydynlw814g56vrqdn679ca6xqwzcihy3";
+      rev = "d6e62bc7cdfae97d1ffc4f508a43955664ad5b73";
+      sha256 = "0bna2kpvaxvwglgmdgp1g93bcygvnc1c25w4isawlgmsclzz9cc6";
     };
     meta.homepage = "https://github.com/Th3Whit3Wolf/one-nvim/";
   };
 
   onedark-vim = buildVimPluginFrom2Nix {
     pname = "onedark-vim";
-    version = "2021-05-24";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "joshdick";
       repo = "onedark.vim";
-      rev = "ff7b30ebd2faed7bf2de599ec9f340cffb29a4a4";
-      sha256 = "0irzprhgx5l6il45zw0ivg6fp38h73cd9x10mkn74jxa0djghp76";
+      rev = "f209c5b6741e6cf847bf4a77e19f2fbf6ffc5290";
+      sha256 = "146ypfx9rxcfp031a4zhzns637bjsf0bznplgyfmz3zjarj85422";
     };
     meta.homepage = "https://github.com/joshdick/onedark.vim/";
   };
@@ -3792,12 +3828,12 @@ final: prev:
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer-nvim";
-    version = "2021-05-27";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "a41f6abb3fd0479aab1957c7891531b933154a5f";
-      sha256 = "0khylm6w46gs8j4czvfbgdbh5gdidvlgv4hm2vjglv2dblzm2vdn";
+      rev = "3715ce44c0aae69471511bd93789ccf578c9684c";
+      sha256 = "1xcfmv7dn975hqa1izn4h80vpn3yksm8ali6nbxv62sij6m9na48";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -3888,24 +3924,24 @@ final: prev:
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2021-05-07";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "79f71e2bd73978dfc7d228042d5e90c8545df623";
-      sha256 = "1yrf0bdfn7xqmkzzwkzcf2hbcyaf21va3nd7fr5c9f4cvin3p0vr";
+      rev = "1e02dece0daa4bef6a24c7a8b6edd48169885b18";
+      sha256 = "182nkdzcviz3ap3vphcks4gzw99d4jsmxxlkmb42m0gzd54k1hwq";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary-nvim";
-    version = "2021-05-08";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "3f993308024697186c02d51df1330bf07c12535a";
-      sha256 = "0riw3wy94qhbdvx32nmlc1s85n3ykg64n45p7i7mii0cd17mqm27";
+      rev = "3834d42236c155bb4240fb4008ea6e62c4a21dae";
+      sha256 = "1y9aqpb6j36873kcp8dbv5mm04qccjicrs0z0z9cy53s8sgfx558";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -3973,12 +4009,12 @@ final: prev:
 
   psc-ide-vim = buildVimPluginFrom2Nix {
     pname = "psc-ide-vim";
-    version = "2019-09-17";
+    version = "2021-05-31";
     src = fetchFromGitHub {
       owner = "frigoeu";
       repo = "psc-ide-vim";
-      rev = "5fb4e329e5c0c7d80f0356ab4028eee9c8bd3465";
-      sha256 = "0gzbxsq6wh8d9z9vyrff4hdpc66yg9y8hnxq4kjrz9qrccc75c1f";
+      rev = "20ff325813ab114d70573a6768565a36aba796b9";
+      sha256 = "1s79rz8rjp9bqw4yn97wbmzkc6jav4nixvnky22vbma2d0ckkcm0";
     };
     meta.homepage = "https://github.com/frigoeu/psc-ide-vim/";
   };
@@ -4129,12 +4165,12 @@ final: prev:
 
   registers-nvim = buildVimPluginFrom2Nix {
     pname = "registers-nvim";
-    version = "2021-05-27";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "016d969788bf01dae310570868c4d1e04ab42e31";
-      sha256 = "1sifwa97laaijssqnn6b691zckkybaprpschvm983k5awcswy4jd";
+      rev = "34bbf868da6ef0225739e7977a4063872cd2b1e8";
+      sha256 = "0ghy760dc07xwjaf5ci2di8qfq0qip8jyrp7x0rsl820ryy7rggy";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -4225,12 +4261,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools-nvim";
-    version = "2021-05-16";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "6f92ba636c06069592c64f85888b452da7e81cfd";
-      sha256 = "1ng259hs6l6q17hc3y2iyd7v9xm6mkfg0jbpwgrbk4pf2clpn2aa";
+      rev = "177507f1443be150250ce90c18f5f6fb8d798543";
+      sha256 = "0wj6pccjbcvj42i4516y6wjrssyl3p060454yjxhgqnnnzxc2dh4";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -4273,12 +4309,12 @@ final: prev:
 
   scrollbar-nvim = buildVimPluginFrom2Nix {
     pname = "scrollbar-nvim";
-    version = "2020-09-28";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "Xuyuanp";
       repo = "scrollbar.nvim";
-      rev = "72a4174a47a89b7f89401fc66de0df95580fa48c";
-      sha256 = "10kk74pmbzc4v70n8vwb2zk0ayr147xy9zk2sbr78zwqf12gas9y";
+      rev = "c338467dd6ef141fa8ce3172097a1f5be6c43779";
+      sha256 = "1wvzdrj8gckhh6x4szipjjb6mg0v3ix5cq5dy83lfb28psyznshw";
     };
     meta.homepage = "https://github.com/Xuyuanp/scrollbar.nvim/";
   };
@@ -4441,12 +4477,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2021-05-22";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "53e874723f4564a12ca0af30541dca4a9d315556";
-      sha256 = "1wbwpawmlc25wdnmhidrj9k591zqc2srszh20xv60p0dg2aylmx5";
+      rev = "9dd432b1bce0bd448faf22375fcf6311ff0d4226";
+      sha256 = "0asqmnyizcyg5drfhbm52l654q3s5ibvbnd8n45kbcn3cnaqb148";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -4574,24 +4610,24 @@ final: prev:
 
   srcery-vim = buildVimPluginFrom2Nix {
     pname = "srcery-vim";
-    version = "2021-05-25";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "srcery-colors";
       repo = "srcery-vim";
-      rev = "44eadc74ff42ced89e85300d69f8297ffe11589e";
-      sha256 = "1k090cy50z6rsh26z6bqw81h60jl7pnjjdfkv8wmzncy7zna86bs";
+      rev = "93711180123b9ba6958bfc682d305ef0a1056fa5";
+      sha256 = "1i3hhihlvh5mkn1vl9f1baiz712h8lwp1hfi5arsb36picsmgbfd";
     };
     meta.homepage = "https://github.com/srcery-colors/srcery-vim/";
   };
 
   stan-vim = buildVimPluginFrom2Nix {
     pname = "stan-vim";
-    version = "2021-05-26";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "eigenfoo";
       repo = "stan-vim";
-      rev = "0216d8eb8fba6c25a960fe940ca419e570789314";
-      sha256 = "0xmkpnrn97y7fny90d57zrklyyhmh7q4ppp1dqdb9q74vikhsch5";
+      rev = "2adaa984e531e1876f053cacb07d8d181d70fbd1";
+      sha256 = "1a826cfmwyn4kfyrj6164425gf2wbjs85cdkhzkqsrj0i924hjqz";
     };
     meta.homepage = "https://github.com/eigenfoo/stan-vim/";
   };
@@ -4658,12 +4694,12 @@ final: prev:
 
   swift-vim = buildVimPluginFrom2Nix {
     pname = "swift-vim";
-    version = "2021-05-05";
+    version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "keith";
       repo = "swift.vim";
-      rev = "74af6626f63e331b60524d20dd69c9c5d03dc90c";
-      sha256 = "0cizij9lv93yg8fxnh04vfpywaxywprmkcsvwginbi20hz155q4g";
+      rev = "7ef452b47f14a2bfed26324793777cf12d2a8d78";
+      sha256 = "0s12iv8vmqp8yr8fg7a6yf73kgq84i9zy18fhgb0jcc6cwwwz3iq";
     };
     meta.homepage = "https://github.com/keith/swift.vim/";
   };
@@ -4851,12 +4887,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-05-27";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "904f84942384f988271cd40cc4b195263fe0763a";
-      sha256 = "1dgzp5n6kaphhdm87k5vdbq3srj5dcp1rhnzd72d7n16x0xnki8h";
+      rev = "2697bcfaf0fac861e08c3a55d9334ec6d823029f";
+      sha256 = "0q9kq64y3yrazcks476yplkrhx59z82ij5wj1w8qakidy2i008z1";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -5008,12 +5044,12 @@ final: prev:
 
   trouble-nvim = buildVimPluginFrom2Nix {
     pname = "trouble-nvim";
-    version = "2021-05-26";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "trouble.nvim";
-      rev = "cf87622d661190157dfa7e28a19ee87bb205219b";
-      sha256 = "082sd2x6v8ybyy1pa5jm2mm386c1mn23h9p3nd7fmip2cw9snhd0";
+      rev = "a7dca6204316b9be7c95d056088c67371151c8ab";
+      sha256 = "0b2wha4qmn9gb5fmj57ymhn3jrajq71yk48m8gddr1hx244adknh";
     };
     meta.homepage = "https://github.com/folke/trouble.nvim/";
   };
@@ -5068,12 +5104,12 @@ final: prev:
 
   undotree = buildVimPluginFrom2Nix {
     pname = "undotree";
-    version = "2021-05-16";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "mbbill";
       repo = "undotree";
-      rev = "271c56586196b8e42cdcadc8037aa5d3051071c4";
-      sha256 = "1sjsv4zzmkkj3l56gbb5f0ad0g6clh1wc76q4d6qsaqv4qg4nsal";
+      rev = "1cc3b9069e4356efd4ce1c3c4bdbb227fb54e1e5";
+      sha256 = "0m8wc66ml2h6lsbwq452w8y9s95a4kwp4lfdw94pi4q3h5qhvkxj";
     };
     meta.homepage = "https://github.com/mbbill/undotree/";
   };
@@ -5404,12 +5440,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-05-27";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "a8b3c254d0e5c43be24298ce16cd01f740fe8d42";
-      sha256 = "1rbdmwah7zxjah5c3rx71h1d6skda0y6pyz7ysasyjj1dnb2kcsi";
+      rev = "82b1b2e87677b468a3b6140372839654d8c346e7";
+      sha256 = "0vvaj84q72z5b473f4823laxdvqb1qqj83n05ixavzpjq2qnlmhq";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -5440,12 +5476,12 @@ final: prev:
 
   vim-android = buildVimPluginFrom2Nix {
     pname = "vim-android";
-    version = "2021-05-27";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "hsanson";
       repo = "vim-android";
-      rev = "ae364eb950f6409de820ceb94619a51b724433dc";
-      sha256 = "1b8h4qyvsmap8c2arvp2v1cjax5mskkn382s44ppr0s2dwhcg02b";
+      rev = "520e29d4dd2c4418e246bc28a3383fefdf501cd2";
+      sha256 = "13kdbp6542k2g2vnzvfrijyc3qmkfysn4wyrsq95bai4pqaipraf";
     };
     meta.homepage = "https://github.com/hsanson/vim-android/";
   };
@@ -5680,12 +5716,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2021-05-24";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "ff32ca1e08d3c934aadf21106b1ee623e5544912";
-      sha256 = "0gkbav7icvcy411yaiav8vc4g1q6yk5gixbcwlaxib5c70zmvxlh";
+      rev = "c743b1171194f85469a64556a1f54882cb73cc17";
+      sha256 = "0ws8rvvmszcspwvzns7i82l458sa2mhi0013li8c61g1g2wbpphn";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -5896,12 +5932,12 @@ final: prev:
 
   vim-css-color = buildVimPluginFrom2Nix {
     pname = "vim-css-color";
-    version = "2021-05-20";
+    version = "2021-05-30";
     src = fetchFromGitHub {
       owner = "ap";
       repo = "vim-css-color";
-      rev = "47bbd29fedc2c34747ba5ae3a1cdbd62fcf19267";
-      sha256 = "0d6qj36qdshw630g86yh5afbq7azaijypnj6ja4y6ryy8cx11q7c";
+      rev = "7337c35588e9027b516f80f03c3b9621a271e168";
+      sha256 = "05np2fr8q8r8n5mlspjywibl7hx54liy77wxvjya7n2p085n49ks";
     };
     meta.homepage = "https://github.com/ap/vim-css-color/";
   };
@@ -5944,16 +5980,28 @@ final: prev:
 
   vim-dadbod = buildVimPluginFrom2Nix {
     pname = "vim-dadbod";
-    version = "2021-05-19";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-dadbod";
-      rev = "5198650e81e4f187ab77e1f65bea193d923bc4a1";
-      sha256 = "1pl6m3bqginqfsaa5kqvhang5g24lvh9wlsbbdvan9jyslqqdpq7";
+      rev = "9e4fdb8ab029c0436728a96e1c92677737c2e784";
+      sha256 = "1rmiza1km214mvlrdaqycv5hk8ki35giab11b9ggwcigbh743h01";
     };
     meta.homepage = "https://github.com/tpope/vim-dadbod/";
   };
 
+  vim-dadbod-completion = buildVimPluginFrom2Nix {
+    pname = "vim-dadbod-completion";
+    version = "2021-05-12";
+    src = fetchFromGitHub {
+      owner = "kristijanhusak";
+      repo = "vim-dadbod-completion";
+      rev = "a3f8ea8e666f4bebe12739d8854a4bd31544dfbb";
+      sha256 = "04m7drx86r8zqq7rq29wa9zq5ckzf5bqxzyhdc5hqn82jxcvxmpz";
+    };
+    meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-completion/";
+  };
+
   vim-dasht = buildVimPluginFrom2Nix {
     pname = "vim-dasht";
     version = "2020-07-11";
@@ -6016,12 +6064,12 @@ final: prev:
 
   vim-dirdiff = buildVimPluginFrom2Nix {
     pname = "vim-dirdiff";
-    version = "2020-11-03";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "will133";
       repo = "vim-dirdiff";
-      rev = "0191693f0d3dfc624c61ac95ec951183a50b3b32";
-      sha256 = "0har8iri09nkjsvag4wgsynb9fxan2g8nlvlvd5zsalbnmlmdh9j";
+      rev = "84bc8999fde4b3c2d8b228b560278ab30c7ea4c9";
+      sha256 = "06qjfz94hqsmg43dpj347cvc72p16xp76zq216js35yphv6sgx65";
     };
     meta.homepage = "https://github.com/will133/vim-dirdiff/";
   };
@@ -6436,12 +6484,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2021-05-27";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "6ae064c5aa1cc24c78abc8d12ec236e99dc01316";
-      sha256 = "017dm18dazg3svqyir1pncvnhczxcsnjdq85aypsrggf1mhd9m1a";
+      rev = "f7f1413ed9b69eb80c8af07d38ebcc889ed64d96";
+      sha256 = "16az604z245bw64dhkgmszifg1ajnf0i9binllixwaifnh6vfnhh";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -6508,12 +6556,12 @@ final: prev:
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2021-05-24";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "10998f303cd85405e51380f6dc406dd756c105e8";
-      sha256 = "0520sqya9i2ry5yfryqi1q7h6yg2vgqw1qa042f1b2r8ddgvxibk";
+      rev = "68a8cb300c75eb1cd2173b2aac70515e99904ef3";
+      sha256 = "0s4c1vb2z3manl2i768f48i2pww2d4dj41plx4mvvi7sczlma30n";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -6556,12 +6604,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2021-05-27";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "696c4a4ef79fc1fb8f090353cf404df95614ce46";
-      sha256 = "1z811b62f5pafv3zmqjjcvmphikml8hzspdb7nvkyrr561awzwab";
+      rev = "edd8c160e54c2861a617777192a48d0a64704192";
+      sha256 = "1xdggzasvv3x1h61yqp2rl30r6kppf6aqdjqsrpzihz809w5zgry";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -6604,12 +6652,12 @@ final: prev:
 
   vim-gruvbox8 = buildVimPluginFrom2Nix {
     pname = "vim-gruvbox8";
-    version = "2021-05-03";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-gruvbox8";
-      rev = "68253ac63780918b02669ec15ac5bc3aa36e4641";
-      sha256 = "0k355wqh8x8c35qvll494v98gbvvly96w79d94srzarvj4h9as55";
+      rev = "66d58b569fdbe0ec389acb66eb4a585f3110e43e";
+      sha256 = "0bggkq2p109vc67s0idplrf4sy4j12smwkx2wvsc626bzflzc2fb";
     };
     meta.homepage = "https://github.com/lifepillar/vim-gruvbox8/";
   };
@@ -6688,12 +6736,12 @@ final: prev:
 
   vim-hcl = buildVimPluginFrom2Nix {
     pname = "vim-hcl";
-    version = "2021-03-17";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "jvirtanen";
       repo = "vim-hcl";
-      rev = "d50f93204b606b4ff40a9522be0e8dbf6055b815";
-      sha256 = "0sdaldmdrgha5ij02flsqrc77ijjifdvl8b6pdw24xrpd9j5cwhs";
+      rev = "6289d1a1424229a8f6523f4ef9441dbf2468250b";
+      sha256 = "0x33bdvacmj82m838frr40r16mc0cvb2p9alkr2gw30ls2ym3zdy";
     };
     meta.homepage = "https://github.com/jvirtanen/vim-hcl/";
   };
@@ -6797,12 +6845,12 @@ final: prev:
 
   vim-html-template-literals = buildVimPluginFrom2Nix {
     pname = "vim-html-template-literals";
-    version = "2020-09-02";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "jonsmithers";
       repo = "vim-html-template-literals";
-      rev = "602dba70bdcfc2e280e0c0503e74a8a92519db49";
-      sha256 = "0x0sbmcig3r058sg78bfj8dv0lwlgdcwvw9kxviynyhk2qkg9zl9";
+      rev = "e6f3f8ffaae9c2f9deea2bbb596b64468041616c";
+      sha256 = "1lrkby9m60ccgm35y1z82llgzjd5vmdwfscy7byjd5ycnkhyangi";
     };
     meta.homepage = "https://github.com/jonsmithers/vim-html-template-literals/";
   };
@@ -6857,12 +6905,12 @@ final: prev:
 
   vim-illuminate = buildVimPluginFrom2Nix {
     pname = "vim-illuminate";
-    version = "2021-05-18";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "vim-illuminate";
-      rev = "20707bb5ac23536041d34f327649844e631d52bd";
-      sha256 = "1gm0rfhhzmb1hv4dzys4w0si9ppaanxn0v68rpjc9yn8ahws426b";
+      rev = "daa49da1e7a6d8c8dcbd3a40f91046d1505fd645";
+      sha256 = "1qvnij7z48g1m6n2qz5lbgbiwwaqnb626sz6qvhkd5jh556pmfah";
     };
     meta.homepage = "https://github.com/RRethy/vim-illuminate/";
   };
@@ -7254,12 +7302,12 @@ final: prev:
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2021-05-03";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "1f98a0656620bfc03dcb8bad87aa76a6304b3b73";
-      sha256 = "177l1xbd1039mmxwk2ggbjawvnpqp362w0mnqvqs2655ib4zdbq3";
+      rev = "ddd5abb5b6491117c4b7ef4149e47945926eecd8";
+      sha256 = "0xv687xzwqhwpmxr65sm3ln74y8mxww1q3fqj57va06ilxzac56c";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -7290,12 +7338,12 @@ final: prev:
 
   vim-maktaba = buildVimPluginFrom2Nix {
     pname = "vim-maktaba";
-    version = "2021-05-20";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-maktaba";
-      rev = "b7106d83d38116984859eaecabeb8e1d5e21ae55";
-      sha256 = "14xds4wfrm2ir7ljv195lxm9zkkxnwbmflzihpj6vai788za5ikc";
+      rev = "2b5565881b31ed4e7ac32b4903827ec9c164216d";
+      sha256 = "13nzkqhyz8jydrwprw06jqcx3w37xv0qdq0809gx748kfvh1dznw";
     };
     meta.homepage = "https://github.com/google/vim-maktaba/";
   };
@@ -7363,12 +7411,12 @@ final: prev:
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2021-05-20";
+    version = "2021-06-02";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "42e8ef032ae44c6336a7194408de5e9492aa2a07";
-      sha256 = "1h1bpylrriq35m4bn4w9ikxq413ack27h35jcmhp1mb1lg5b32y9";
+      rev = "fd9f3c09b04725c8042149bfe3fd080b6f6962cb";
+      sha256 = "08cqh4b01jl0iqd1nj2sw2jcwxp48m9rdh50sdnfjgdvynnpagik";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -7555,12 +7603,12 @@ final: prev:
 
   vim-nix = buildVimPluginFrom2Nix {
     pname = "vim-nix";
-    version = "2020-11-16";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "LnL7";
       repo = "vim-nix";
-      rev = "7542a2bf66d72cb86fc80529867accbc787f744b";
-      sha256 = "1kgziwckdjg3sb1z4anwsn1c72hny60vhimxpb6424bylk1qy22j";
+      rev = "63b47b39c8d481ebca3092822ca8972e08df769b";
+      sha256 = "08n9cgphv2m96kk5w996lwlqak011x5xm410hajmc91vy5fws361";
     };
     meta.homepage = "https://github.com/LnL7/vim-nix/";
   };
@@ -7891,12 +7939,12 @@ final: prev:
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2021-04-14";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "730dcb02caab60a6ae5d8b4bdc16d290041061ec";
-      sha256 = "1pgqw008xy3fn821zxfiwc9xpd0v33wxmk4yf9avm5jgqbkwn1ld";
+      rev = "c312d30231f136d2fbb32a2cfea554af5066e6b0";
+      sha256 = "1apd860v2xfi3fjgl15j7mgn6nczx10vj324w1vf1ic5nyy4b594";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -8095,12 +8143,12 @@ final: prev:
 
   vim-rails = buildVimPluginFrom2Nix {
     pname = "vim-rails";
-    version = "2021-05-25";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-rails";
-      rev = "d556429fad4bf24d431be9f75322fd0d1a82bae2";
-      sha256 = "0k1ffyy145nhmr9ad56vc10yy3jliyj8aahs0pm30fgi9q7qz7iy";
+      rev = "3b3796352a6f1a68e54e5f7ae5e0c1b9103fab0e";
+      sha256 = "1f0xns0h55szamms17wi06k1ninvygsc4yw82hr29kfq94hvn57l";
     };
     meta.homepage = "https://github.com/tpope/vim-rails/";
   };
@@ -8407,12 +8455,12 @@ final: prev:
 
   vim-snipmate = buildVimPluginFrom2Nix {
     pname = "vim-snipmate";
-    version = "2021-01-22";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "garbas";
       repo = "vim-snipmate";
-      rev = "cbec960ab558b20281c0634b9b1a45fb16aaf638";
-      sha256 = "1k35rh5gq8lv67qx3l31xvl4iz7rlpybls7pwhsbmz4m598w03bm";
+      rev = "ed3c5426a20bf1c06d7980946ada34fd9f93320e";
+      sha256 = "0bxaalza02sgm045cj4vciy3qhmj7pj1rp9bdwm5837ldq8paj1h";
     };
     meta.homepage = "https://github.com/garbas/vim-snipmate/";
   };
@@ -8503,12 +8551,12 @@ final: prev:
 
   vim-startuptime = buildVimPluginFrom2Nix {
     pname = "vim-startuptime";
-    version = "2021-05-04";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "c622725676c179950ea4a789915efc6d53f142c3";
-      sha256 = "168bdcbb13mdd40b0xq9i9chgsg6jr8h4f1jpzf05br5fxp09snk";
+      rev = "7a97baae32bedbf6f62d5a573777e4d1652787d1";
+      sha256 = "1sphykwbjd35kwsibm9wcxbs2iwjkzkg7madqvlxzi7sqh4vkc7y";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
@@ -8599,12 +8647,12 @@ final: prev:
 
   vim-table-mode = buildVimPluginFrom2Nix {
     pname = "vim-table-mode";
-    version = "2021-05-05";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-table-mode";
-      rev = "5150f1ec06f51b087a11c71b498a4c4497e71e2c";
-      sha256 = "1nwcc7didjyd2iw23qhxrg0rr66z93midabkwjdnlw8mzgha7lb7";
+      rev = "35e9fbf64c06fddc41651e65b92200f902d8ae0b";
+      sha256 = "16p68x4669y4qpg91hmi4gc3f8qc8bzbr8v6w3nc75vm48s64z6k";
     };
     meta.homepage = "https://github.com/dhruvasagar/vim-table-mode/";
   };
@@ -8792,12 +8840,12 @@ final: prev:
 
   vim-tmux-navigator = buildVimPluginFrom2Nix {
     pname = "vim-tmux-navigator";
-    version = "2020-11-12";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "christoomey";
       repo = "vim-tmux-navigator";
-      rev = "6a1e58c3ca3bc7acca36c90521b3dfae83b2a602";
-      sha256 = "17219h69vd6b994qrywg1rpx80y1rmycbfsmf9wb6c693sx721sn";
+      rev = "0cabb1ef01af0986b7bf6fb7acf631debdbbb470";
+      sha256 = "0xxc5wpyfqv7f7sfy6xncy7ipj0cvshw28s12ld3jfgyimjllr62";
     };
     meta.homepage = "https://github.com/christoomey/vim-tmux-navigator/";
   };
@@ -8828,12 +8876,12 @@ final: prev:
 
   vim-tpipeline = buildVimPluginFrom2Nix {
     pname = "vim-tpipeline";
-    version = "2021-04-28";
+    version = "2021-06-03";
     src = fetchFromGitHub {
       owner = "vimpostor";
       repo = "vim-tpipeline";
-      rev = "01d4073e7f1319f223c0d5bfd1abe1e292238252";
-      sha256 = "1nfwiizd8nk4pqz1jsw9nq5ngmavjdb3jra2xb5kzgjl2fbzvjda";
+      rev = "683cf4f2e16149c477a8f5c96b7429932a68d801";
+      sha256 = "0gr5k4bzzzvn00plimpkjiavya04jvcgg322k8yblzmm01r6vcr2";
     };
     meta.homepage = "https://github.com/vimpostor/vim-tpipeline/";
   };
@@ -8888,12 +8936,12 @@ final: prev:
 
   vim-ultest = buildVimPluginFrom2Nix {
     pname = "vim-ultest";
-    version = "2021-05-27";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "vim-ultest";
-      rev = "2de66cbec0694da8f29a99e5c3167c7b9c4a7aff";
-      sha256 = "0zxici08m9mk8ia1vr4pm0lgw2fg7p1v1dny89nd0x1r1xfwy4w2";
+      rev = "17e372f83238d5d85f6574c59d5d210a898e8623";
+      sha256 = "084mn6zxc2x8gp938fpi5ylwqy2pgvn046xbsmyq8md36vqb6m7g";
     };
     meta.homepage = "https://github.com/rcarriga/vim-ultest/";
   };
@@ -8948,12 +8996,12 @@ final: prev:
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2021-05-27";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "8041a909fc3f740e9d110dd2e95980ff4645785b";
-      sha256 = "17zf839g8sr3i9amwvxx008m89m9hz3f34pbc90mpl5ksy4isdqv";
+      rev = "2b9d104c57aeb612d7f00e1d071d712ed8671949";
+      sha256 = "17f92pka2flwnhx8yg7skbp8kyhbb6gmvm0mni2jm7w3iq68nbmw";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -8972,12 +9020,12 @@ final: prev:
 
   vim-vsnip = buildVimPluginFrom2Nix {
     pname = "vim-vsnip";
-    version = "2021-04-21";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "vim-vsnip";
-      rev = "395d200728b467e141615f53afe564adc26985b9";
-      sha256 = "1g0fhdqr6qmqmhvm3amv22fqb1aacmvd0swmk38w25zzcbl4b4gy";
+      rev = "552403842b992efde3816a89b20055f7d66d9a0d";
+      sha256 = "1pkkysv2mnbzm2bi33l1xccdb6sh06dgyg83dg0dgd0gmp94l7ya";
     };
     meta.homepage = "https://github.com/hrsh7th/vim-vsnip/";
   };
@@ -9056,12 +9104,12 @@ final: prev:
 
   vim-wordmotion = buildVimPluginFrom2Nix {
     pname = "vim-wordmotion";
-    version = "2021-04-25";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "chaoren";
       repo = "vim-wordmotion";
-      rev = "f6a2064444f39ba52161b16ac1429ee87c1af76d";
-      sha256 = "0y69jkgh9pf4b0c4pxgqvf43gq8amz9qwhq1cg38zriy2m4kxi7h";
+      rev = "dca1a1827513497def6362411d093ae6b3cff7f8";
+      sha256 = "1ij2j35bskk20wyiwjg1krqr9fi5fk043gfpxihhlbxd7yxlbpq1";
     };
     meta.homepage = "https://github.com/chaoren/vim-wordmotion/";
   };
@@ -9104,12 +9152,12 @@ final: prev:
 
   vim-xtabline = buildVimPluginFrom2Nix {
     pname = "vim-xtabline";
-    version = "2021-01-31";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-xtabline";
-      rev = "654675222adde47c9d72caa400e35c7e680fe5a1";
-      sha256 = "1f7d4vmr7n5v7h5a1bjcvxaqygrdi33y0vdx4yjfdswi835yd45h";
+      rev = "ad80aa67958a31a254d8994c7a517c1123256721";
+      sha256 = "07pd7wzyvch400i6kv0ld3bx2x90ycdjaapwc7aaqkwikk2slq3h";
     };
     meta.homepage = "https://github.com/mg979/vim-xtabline/";
   };
@@ -9309,12 +9357,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-05-25";
+    version = "2021-06-01";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "8d3cbfff3d44e8af93948d3c7785130f54bc2386";
-      sha256 = "0gwj70fxbpmwnrd78ralqq2nzk8gwqv6bd267kf64z9rxkwdhrs0";
+      rev = "b0d430b80504e847584664d83e879399647cd38f";
+      sha256 = "0k44iv5fig0601bc1vglgbphiw0h6gq8379zsk1ca3fgzyi2ic0p";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -9357,12 +9405,12 @@ final: prev:
 
   vista-vim = buildVimPluginFrom2Nix {
     pname = "vista-vim";
-    version = "2021-04-27";
+    version = "2021-05-28";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vista.vim";
-      rev = "3d4e2a80658467af02a6347e3dae8810e6a5f02f";
-      sha256 = "05hh9hk5qcn8gd4k3zm8qz077wxamp4rja486nwm9y5p6723vqn9";
+      rev = "19cad968d2cd759e7f9de1d662ec680bd93ebebc";
+      sha256 = "0r01b6mml6qgyybi6i59bflgqi03w0fnl0wfgwac96ixs2wdvl1l";
     };
     meta.homepage = "https://github.com/liuchengxu/vista.vim/";
   };
@@ -9393,24 +9441,24 @@ final: prev:
 
   webapi-vim = buildVimPluginFrom2Nix {
     pname = "webapi-vim";
-    version = "2020-12-02";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "webapi-vim";
-      rev = "6f5ffb6f547cda1b6cbc26a06f12d81e6283bd82";
-      sha256 = "1144jk4dfqb8pzblqksc1wjgbraxy6pdgr4q567wzcf93bviv81l";
+      rev = "b09cbd3a27157a5baf0468403b392f577adefe45";
+      sha256 = "17vlzg5dm5phirwyk8xkqnrkplybd8d5rj9kdx7rgla3h7rqn4wg";
     };
     meta.homepage = "https://github.com/mattn/webapi-vim/";
   };
 
   which-key-nvim = buildVimPluginFrom2Nix {
     pname = "which-key-nvim";
-    version = "2021-05-26";
+    version = "2021-06-04";
     src = fetchFromGitHub {
       owner = "folke";
       repo = "which-key.nvim";
-      rev = "db851981595fc360e9b6196a7c3995611aceac3b";
-      sha256 = "0y3mq6vrpmpxa8f42cxxf1209ardb3qraf44vgxwdaqqgphm7zk9";
+      rev = "9ea98e59ddeeafc9181815dd714bea513b298e33";
+      sha256 = "0zhlbbd969p4bg5vrifsi5sgqi2wbp8zxlak3l7zk67akpbb395n";
     };
     meta.homepage = "https://github.com/folke/which-key.nvim/";
   };
@@ -9513,12 +9561,12 @@ final: prev:
 
   yats-vim = buildVimPluginFrom2Nix {
     pname = "yats-vim";
-    version = "2021-02-15";
+    version = "2021-05-29";
     src = fetchFromGitHub {
       owner = "HerringtonDarkholme";
       repo = "yats.vim";
-      rev = "11112853180a933574f431cf78cd5a462ee3f473";
-      sha256 = "0bnq02dbsqwsizhlldb2pj92gjybr5aaa7a5m786xvb7ljvd82vi";
+      rev = "7c5e526f1aac81e4913be72a5a891e8de38925bd";
+      sha256 = "1p3rgw1fx6ficzyk7ba9s22aj9xjsf50ipkx4bdmp4a2zskacqcp";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/HerringtonDarkholme/yats.vim/";
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 677ebffb8f99..9d150c93c7cd 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -13,6 +13,7 @@ alvan/vim-closetag
 alx741/vim-hindent
 alx741/vim-stylishask
 amiorin/ctrlp-z
+andersevenrud/compe-tmux@main
 andrep/vimacs
 andreshazard/vim-logreview
 AndrewRadev/sideways.vim@main
@@ -164,6 +165,7 @@ glepnir/zephyr-nvim@main
 glts/vim-textobj-comment
 godlygeek/csapprox
 godlygeek/tabular
+GoldsteinE/compe-latex-symbols
 google/vim-codefmt
 google/vim-jsonnet
 google/vim-maktaba
@@ -298,6 +300,7 @@ kristijanhusak/defx-git
 kristijanhusak/defx-icons
 kristijanhusak/deoplete-phpactor
 kristijanhusak/vim-carbon-now-sh
+kristijanhusak/vim-dadbod-completion
 kristijanhusak/vim-dirvish-git
 kristijanhusak/vim-hybrid-material
 kshenoy/vim-signature
@@ -619,6 +622,7 @@ t9md/vim-choosewin
 t9md/vim-smalls
 TaDaa/vimade
 takac/vim-hardtime
+tamago324/compe-zsh
 tami5/compe-conjure
 tami5/lispdocs.nvim
 tami5/sql.nvim
diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix
index c21cf2bb6482..e97dcad43db0 100644
--- a/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/pkgs/os-specific/linux/mwprocapture/default.nix
@@ -2,9 +2,6 @@
 
 with lib;
 
-# The Magewell Pro Capture drivers are not supported for kernels older than 3.2
-assert versionAtLeast kernel.version "3.2.0";
-
 let
   bits =
   if stdenv.is64bit then "64"
@@ -14,15 +11,15 @@ let
 
 in
 stdenv.mkDerivation rec {
-  name = "mwprocapture-1.2.${version}-${kernel.version}";
-  version = "4177";
+  name = "mwprocapture-1.3.0.${version}-${kernel.version}";
+  version = "4236";
 
   src = fetchurl {
-    url = "http://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz";
-    sha256 = "1nf51w9yixpvr767k49sfdb9n9rv5qc72f5yki1mkghbmabw7vys";
+    url = "https://www.magewell.com/files/drivers/ProCaptureForLinux_${version}.tar.gz";
+    sha256 = "1mfgj84km276sq5i8dny1vqp2ycqpvgplrmpbqwnk230d0w3qs74";
   };
 
-  nativeBuildInputs = [ kernel.moduleBuildDependencies ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
 
   preConfigure =
   ''
@@ -63,5 +60,6 @@ stdenv.mkDerivation rec {
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ MP2E ];
     platforms = platforms.linux;
+    broken = kernel.kernelOlder "3.2.0";
   };
 }
diff --git a/pkgs/os-specific/linux/pam_u2f/default.nix b/pkgs/os-specific/linux/pam_u2f/default.nix
index 760af73fecd2..30a55f2b9c00 100644
--- a/pkgs/os-specific/linux/pam_u2f/default.nix
+++ b/pkgs/os-specific/linux/pam_u2f/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pam_u2f";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src     = fetchurl {
     url = "https://developers.yubico.com/pam-u2f/Releases/${pname}-${version}.tar.gz";
-    sha256 = "01fwbrfnjkv93vvqm54jywdcxa1p7d4r32azicwnx75nxfbbzhqd";
+    sha256 = "12p3pkrp32vzpg7707cgx8zgvgj8iqwhy39sm761k7plqi027mmp";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
     configureFlagsArray+=("--with-pam-dir=$out/lib/security")
   '';
 
+  # a no-op makefile to prevent building the fuzz targets
+  postConfigure = ''
+    cat > fuzz/Makefile <<EOF
+    all:
+    install:
+    EOF
+  '';
+
   meta = with lib; {
     homepage = "https://developers.yubico.com/pam-u2f/";
     description = "A PAM module for allowing authentication with a U2F device";
diff --git a/pkgs/os-specific/linux/ryzenadj/default.nix b/pkgs/os-specific/linux/ryzenadj/default.nix
new file mode 100644
index 000000000000..e50cb7e8d53a
--- /dev/null
+++ b/pkgs/os-specific/linux/ryzenadj/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, pciutils, cmake }:
+stdenv.mkDerivation rec {
+  pname = "ryzenadj";
+  version = "0.8.2";
+
+  src = fetchFromGitHub {
+    owner = "FlyGoat";
+    repo = "RyzenAdj";
+    rev = "v${version}";
+    sha256 = "182l9nchlpl4yr568n86086glkr607rif92wnwc7v3aym62ch6ld";
+  };
+
+  nativeBuildInputs = [ pciutils cmake ];
+
+  installPhase = ''
+    install -D libryzenadj.so $out/lib/libryzenadj.so
+    install -D ryzenadj $out/bin/ryzenadj
+  '';
+
+  meta = with lib; {
+    description = "Adjust power management settings for Ryzen Mobile Processors.";
+    homepage = "https://github.com/FlyGoat/RyzenAdj";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ asbachb ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index fd1b14e6158c..874b18ef9eb0 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.9.5";
+  version = "1.9.6";
   rev = "v${version}";
 
   # Note: Currently only release tags are supported, because they have the Consul UI
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-CKezHuCbL1I79gDz7ZQiSgPbSXo0NtssQro2MqqmeXw=";
+    sha256 = "sha256-SuG/Q5Tjet4etd4Qy5NBQLYEe2QO0K8QHKmgxYMl09U=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,7 +26,7 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorSha256 = "sha256-YqrW3PeFv1Y6lmjVmMMP0SZao57iPqfut3a1afIWkI0=";
+  vendorSha256 = "sha256-jVhj7pzJ8kxZk3ViA9zhVqD314biih/sP0Ql1GXcoRY=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 600a5f67eb80..116fd9bae927 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jackett";
-  version = "0.18.225";
+  version = "0.18.231";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "sha256-EvFu+v1Ltot5zuDWcuG8Z00NHjWjZTrI0JKv+rgVB7U=";
+    sha256 = "sha256-fl0M4Emstp21CrrE4Znzwi1XvTzx6TpPnNKYM65aoN4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/prometheus/process-exporter.nix b/pkgs/servers/monitoring/prometheus/process-exporter.nix
index 048a3ff264c4..e4bfed9821b7 100644
--- a/pkgs/servers/monitoring/prometheus/process-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/process-exporter.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
 buildGoModule rec {
   pname = "process-exporter";
@@ -19,6 +19,8 @@ buildGoModule rec {
 
   doCheck = true;
 
+  passthru.tests = { inherit (nixosTests.prometheus-exporters) process; };
+
   meta = with lib; {
     description = "Prometheus exporter that mines /proc to report on selected processes";
     homepage = "https://github.com/ncabatoff/process-exporter";
diff --git a/pkgs/servers/monitoring/zabbix/agent2.nix b/pkgs/servers/monitoring/zabbix/agent2.nix
index 1deada436374..98fafa4265d6 100644
--- a/pkgs/servers/monitoring/zabbix/agent2.nix
+++ b/pkgs/servers/monitoring/zabbix/agent2.nix
@@ -46,8 +46,13 @@ import ./versions.nix ({ version, sha256 }:
     '';
 
     installPhase = ''
+      mkdir -p $out/sbin
+
       install -Dm0644 src/go/conf/zabbix_agent2.conf $out/etc/zabbix_agent2.conf
       install -Dm0755 src/go/bin/zabbix_agent2 $out/bin/zabbix_agent2
+
+      # create a symlink which is compatible with the zabbixAgent module
+      ln -s $out/bin/zabbix_agent2 $out/sbin/zabbix_agentd
     '';
 
     meta = with lib; {
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index 53389db39c9c..2e33e61c0e52 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -49,6 +49,16 @@ in stdenv.mkDerivation {
       url = "https://github.com/openafs/openafs/commit/ee53dd3bc087a05e22fc4111297a51ddb30013f0.patch";
       sha256 = "0dfab3zk0dmf6iksna5n09lf5dn4f8w43q4irl2yf5dgqm35shkr";
     })
+    # Linux: Create wrapper for setattr_prepare
+    (fetchpatch {
+      url = "https://github.com/openafs/openafs/commit/5a5d358b02b88d6d2c7a27a75149e35b1de7db38.patch";
+      sha256 = "07gywsg41cz5h6iafr4pb0gb9jnsb58xkwn479lw46b3y5jgz7ki";
+    })
+    # Linux 5.12: Add user_namespace param to inode ops
+    (fetchpatch {
+      url = "https://github.com/openafs/openafs/commit/c747b15dd2877e6d17e3e6b940ae78c1e1ccd3ea.patch";
+      sha256 = "0bbqmx4nkmfkapk25zrv9ivhhs91rn9dizb1lkfs7a6937q1kaqh";
+    })
   ];
 
   hardeningDisable = [ "pic" ];
diff --git a/pkgs/servers/unpackerr/default.nix b/pkgs/servers/unpackerr/default.nix
index 2e024010d416..d9cde6b7ab5f 100644
--- a/pkgs/servers/unpackerr/default.nix
+++ b/pkgs/servers/unpackerr/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "unpackerr";
-  version = "0.9.4";
+  version = "0.9.6";
 
   src = fetchFromGitHub {
     owner = "davidnewhall";
     repo = "unpackerr";
     rev = "v${version}";
-    sha256 = "0ss12i8bclz1q9jgr54shvs8zgcs6jrwdm1vj9gvycyd5sx4717s";
+    sha256 = "1jyqrfik6fy7d4lr1y0ryp4iz8yn898ksyxwaryvrhykznqivp0y";
   };
 
-  vendorSha256 = "1j79vmf0mkwkqrg5j6fm2b8y3a23y039kbiqkiwb56724bmd27dd";
+  vendorSha256 = "0ilpg7xfll0c5lsv8zf4h3i72yabddkddih4d292hczyz9wi3j4z";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Cocoa WebKit ];
 
diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix
index 4cfdb6e4c17d..88ca1b2c7903 100644
--- a/pkgs/stdenv/generic/default.nix
+++ b/pkgs/stdenv/generic/default.nix
@@ -159,13 +159,6 @@ let
         inherit lib config stdenv;
       }) mkDerivation;
 
-      # Slated for removal in 21.11
-      lib = if config.allowAliases or true then builtins.trace
-        ( "Warning: `stdenv.lib` is deprecated and will be removed in the next release."
-         + " Please use `lib` instead."
-         + " For more information see https://github.com/NixOS/nixpkgs/issues/108938")
-        lib else throw "`stdenv.lib` is a deprecated alias for `lib`";
-
       inherit fetchurlBoot;
 
       inherit overrides;
diff --git a/pkgs/tools/admin/gixy/default.nix b/pkgs/tools/admin/gixy/default.nix
index 06656a9e033b..1711792ab2bc 100644
--- a/pkgs/tools/admin/gixy/default.nix
+++ b/pkgs/tools/admin/gixy/default.nix
@@ -38,6 +38,6 @@ python3.pkgs.buildPythonApplication rec {
     homepage = "https://github.com/yandex/gixy";
     license = licenses.mpl20;
     maintainers = [ maintainers.willibutz ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/audio/liquidsoap/full.nix b/pkgs/tools/audio/liquidsoap/full.nix
index 811529084518..3d05461121f0 100644
--- a/pkgs/tools/audio/liquidsoap/full.nix
+++ b/pkgs/tools/audio/liquidsoap/full.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation {
       ocamlPackages.xmlm ocamlPackages.ocaml_pcre
       ocamlPackages.camomile
       ocamlPackages.fdkaac
-      ocamlPackages.srt ocamlPackages.sedlex_2 ocamlPackages.menhir
+      ocamlPackages.srt ocamlPackages.sedlex_2 ocamlPackages.menhir ocamlPackages.menhirLib
     ];
 
   hardeningDisable = [ "format" "fortify" ];
diff --git a/pkgs/tools/backup/borgmatic/default.nix b/pkgs/tools/backup/borgmatic/default.nix
index 4913ca29cb84..b27ee0508e19 100644
--- a/pkgs/tools/backup/borgmatic/default.nix
+++ b/pkgs/tools/backup/borgmatic/default.nix
@@ -2,23 +2,19 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "borgmatic";
-  version = "1.5.12";
+  version = "1.5.13";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "sha256-XLbBJvNRmH8W9SnOjF7zUbazRYFCMW6SEO2wKN/2VTY=";
+    sha256 = "12390ffdg30ncc5k92pvagwbvnsh42xl35a3nagbskznyfd23mw3";
   };
 
   checkInputs = with python3Packages; [ flexmock pytestCheckHook pytest-cov ];
 
   # - test_borgmatic_version_matches_news_version
   # The file NEWS not available on the pypi source, and this test is useless
-  # - test_collect_configuration_run_summary_logs_outputs_merged_json_results
-  # Upstream fixed in the next version, see
-  # https://github.com/witten/borgmatic/commit/ea6cd53067435365a96786b006aec391714501c4
   disabledTests = [
     "test_borgmatic_version_matches_news_version"
-    "test_collect_configuration_run_summary_logs_outputs_merged_json_results"
   ];
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/cd-dvd/bootiso/default.nix b/pkgs/tools/cd-dvd/bootiso/default.nix
new file mode 100644
index 000000000000..e6a902488599
--- /dev/null
+++ b/pkgs/tools/cd-dvd/bootiso/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, stdenvNoCC
+, fetchFromGitHub
+, bash
+, makeWrapper
+, bc
+, jq
+, wimlib
+, file
+, syslinux
+, busybox
+, gnugrep # We can't use busybox's 'grep' as it doesn't support perl '-P' expressions.
+}:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "bootiso";
+  version = "4.2.0";
+
+  src = fetchFromGitHub {
+    owner = "jsamr";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1l09d543b73r0wbpsj5m6kski8nq48lbraq1myxhidkgl3mm3d5i";
+  };
+
+  strictDeps = true;
+  buildInputs = [ bash ];
+  nativeBuildInputs = [ makeWrapper ];
+  postPatch = ''
+    patchShebangs --host bootiso
+  '';
+
+  makeFlags = [ "prefix=${placeholder "out"}" ];
+
+  postInstall = ''
+    wrapProgram $out/bin/bootiso \
+      --prefix PATH : ${lib.makeBinPath [ bc jq wimlib file syslinux gnugrep busybox ]} \
+      --prefix BOOTISO_SYSLINUX_LIB_ROOT : ${syslinux}/share/syslinux
+  '';
+
+  meta = with lib; {
+    description = "Script for securely creating a bootable USB device from one image file";
+    homepage = "https://github.com/jsamr/bootiso";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ musfay ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/games/gamemode/default.nix b/pkgs/tools/games/gamemode/default.nix
new file mode 100644
index 000000000000..e9fdec592204
--- /dev/null
+++ b/pkgs/tools/games/gamemode/default.nix
@@ -0,0 +1,104 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, libgamemode32
+, meson
+, ninja
+, pkg-config
+, dbus
+, inih
+, systemd
+, appstream
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gamemode";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "FeralInteractive";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-P00OnZiPZyxBu9zuG+3JNorXHBhJZy+cKPjX+duZrJ0=";
+  };
+
+  outputs = [ "out" "dev" "lib" "man" "static" ];
+
+  patches = [
+    # Run executables from PATH instead of /usr/bin
+    # See https://github.com/FeralInteractive/gamemode/pull/323
+    (fetchpatch {
+      url = "https://github.com/FeralInteractive/gamemode/commit/be44b7091baa33be6dda60392e4c06c2f398ee72.patch";
+      sha256 = "TlDUETs4+N3pvrVd0FQGlGmC+6ByhJ2E7gKXa7suBtE=";
+    })
+
+    # Fix loading shipped config when using a prefix other than /usr
+    # See https://github.com/FeralInteractive/gamemode/pull/324
+    (fetchpatch {
+      url = "https://github.com/FeralInteractive/gamemode/commit/b29aa903ce5acc9141cfd3960c98ccb047eca872.patch";
+      sha256 = "LwBzBJQ7dfm2mFVSOSPjJP+skgV5N6h77i66L1Sq+ZM=";
+    })
+
+    # Add @libraryPath@ template variable to fix loading the PRELOAD library
+    ./preload-nix-workaround.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace data/gamemoderun \
+      --subst-var-by libraryPath ${lib.makeLibraryPath ([
+        (placeholder "lib")
+      ] ++ lib.optionals (stdenv.hostPlatform.system == "x86_64-linux") [
+        # Support wrapping 32bit applications on a 64bit linux system
+        libgamemode32
+      ])}
+  '';
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    dbus
+    inih
+    systemd
+  ];
+
+  mesonFlags = [
+    # libexec is just a way to package binaries without including them
+    # in PATH. It doesn't make sense to install them to $lib
+    # (the default behaviour in the meson hook).
+    "--libexecdir=${placeholder "out"}/libexec"
+
+    "-Dwith-systemd-user-unit-dir=lib/systemd/user"
+  ];
+
+  doCheck = true;
+  checkInputs = [
+    appstream
+  ];
+
+  # Move static libraries to $static so $lib only contains dynamic libraries.
+  postInstall = ''
+    moveToOutput lib/*.a "$static"
+  '';
+
+  # Add $lib/lib to gamemoded & gamemode-simulate-game's rpath since
+  # they use dlopen to load libgamemode. Can't use makeWrapper since
+  # it would break the security wrapper in the NixOS module.
+  postFixup = ''
+    for bin in "$out/bin/gamemoded" "$out/bin/gamemode-simulate-game"; do
+      patchelf --set-rpath "$lib/lib:$(patchelf --print-rpath "$bin")" "$bin"
+    done
+  '';
+
+  meta = with lib; {
+    description = "Optimise Linux system performance on demand";
+    homepage = "https://github.com/FeralInteractive/GameMode";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ kira-bruneau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/games/gamemode/preload-nix-workaround.patch b/pkgs/tools/games/gamemode/preload-nix-workaround.patch
new file mode 100644
index 000000000000..06989ff984ab
--- /dev/null
+++ b/pkgs/tools/games/gamemode/preload-nix-workaround.patch
@@ -0,0 +1,12 @@
+diff --git a/data/gamemoderun b/data/gamemoderun
+index 573b3e4..6f2799e 100755
+--- a/data/gamemoderun
++++ b/data/gamemoderun
+@@ -5,5 +5,6 @@ GAMEMODEAUTO_NAME="libgamemodeauto.so.0"
+ 
+ # ld will find the right path to load the library, including for 32-bit apps.
+ LD_PRELOAD="${GAMEMODEAUTO_NAME}${LD_PRELOAD:+:$LD_PRELOAD}"
++LD_LIBRARY_PATH="@libraryPath@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
+ 
+-exec env LD_PRELOAD="${LD_PRELOAD}" $GAMEMODERUNEXEC "$@"
++exec env LD_PRELOAD="${LD_PRELOAD}" LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" $GAMEMODERUNEXEC "$@"
diff --git a/pkgs/tools/graphics/astc-encoder/default.nix b/pkgs/tools/graphics/astc-encoder/default.nix
index 859d6f1eee0d..8cf35b36c0c1 100644
--- a/pkgs/tools/graphics/astc-encoder/default.nix
+++ b/pkgs/tools/graphics/astc-encoder/default.nix
@@ -31,13 +31,13 @@ with rec {
 
 gccStdenv.mkDerivation rec {
   pname = "astc-encoder";
-  version = "2.5";
+  version = "3.0";
 
   src = fetchFromGitHub {
     owner = "ARM-software";
     repo = "astc-encoder";
     rev = version;
-    sha256 = "0ff5jh40w942dz7hmgvznmpa9yhr1j4i9qqj5wy6icm2jb9j4pak";
+    sha256 = "sha256-+vYEO2zS144ZuVN8b4/EpvTcakC9U0uc/eV4pB7lHiY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/inputmethods/remote-touchpad/default.nix b/pkgs/tools/inputmethods/remote-touchpad/default.nix
index 0bd2b09aafc1..a4dc6a1c4632 100644
--- a/pkgs/tools/inputmethods/remote-touchpad/default.nix
+++ b/pkgs/tools/inputmethods/remote-touchpad/default.nix
@@ -9,19 +9,19 @@
 
 buildGoModule rec {
   pname = "remote-touchpad";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "unrud";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zmbn4s3yhcgmijc96vja7zj2sh6q0nkybhqy0fwz6sqzk8hq02x";
+    sha256 = "09a252z69msy4wd5kazpca8dcn0a2djdw0vs663062fl977p73qs";
   };
 
   buildInputs = [ libX11 libXi libXt libXtst ];
   buildFlags = [ "-tags" "portal,x11" ];
 
-  vendorSha256 = "0q1qk5g7kqpcci5fgamvxa8989jglv69kwg5rvkphbnx1bzlivrl";
+  vendorSha256 = "1pgj0m67g759mcs4s34h4pq3mc7gni643z5cp6ffq4rrn8mdi060";
 
   meta = with lib; {
     description = "Control mouse and keyboard from the webbrowser of a smartphone.";
diff --git a/pkgs/tools/misc/depotdownloader/default.nix b/pkgs/tools/misc/depotdownloader/default.nix
new file mode 100644
index 000000000000..384234f1f9c2
--- /dev/null
+++ b/pkgs/tools/misc/depotdownloader/default.nix
@@ -0,0 +1,49 @@
+{ stdenv, lib, fetchFromGitHub, fetchurl, linkFarmFromDrvs, makeWrapper
+,  dotnet-sdk_5, dotnetPackages
+}:
+
+let
+  fetchNuGet = {name, version, sha256}: fetchurl {
+    name = "nuget-${name}-${version}.nupkg";
+    url = "https://www.nuget.org/api/v2/package/${name}/${version}";
+    inherit sha256;
+  };
+  deps = import ./deps.nix fetchNuGet;
+in
+stdenv.mkDerivation rec {
+  pname = "depotdownloader";
+  version = "2.4.1";
+
+  src = fetchFromGitHub {
+    owner = "SteamRE";
+    repo = "DepotDownloader";
+    rev = "DepotDownloader_${version}";
+    sha256 = "1ldwda7wyvzqvqv1wshvqvqaimlm0rcdzhy9yn5hvxyswc0jxirr";
+  };
+
+  nativeBuildInputs = [ dotnet-sdk_5 dotnetPackages.Nuget makeWrapper ];
+
+  buildPhase = ''
+    export DOTNET_CLI_TELEMETRY_OPTOUT=1
+    export DOTNET_NOLOGO=1
+    export HOME=$TMP/home
+
+    nuget sources Add -Name tmpsrc -Source $TMP/nuget
+    nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget
+
+    dotnet restore --source $TMP/nuget DepotDownloader/DepotDownloader.csproj
+    dotnet publish --no-restore -c Release --output $out
+  '';
+
+  installPhase = ''
+    makeWrapper ${dotnet-sdk_5}/bin/dotnet $out/bin/$pname \
+      --add-flags $out/DepotDownloader.dll
+  '';
+
+  meta = with lib; {
+    description = "Steam depot downloader utilizing the SteamKit2 library.";
+    license = licenses.gpl2Only;
+    maintainers = [ maintainers.babbaj ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/tools/misc/depotdownloader/deps.nix b/pkgs/tools/misc/depotdownloader/deps.nix
new file mode 100644
index 000000000000..6f061186f826
--- /dev/null
+++ b/pkgs/tools/misc/depotdownloader/deps.nix
@@ -0,0 +1,88 @@
+fetchNuGet:
+[
+  (fetchNuGet {
+    name = "protobuf-net";
+    version = "3.0.101";
+    sha256 = "0594qckbc0lh61sw74ihaq4qmvf1lf133vfa88n443mh7lxm2fwf";
+  })
+  (fetchNuGet {
+    name = "SteamKit2";
+    version = "2.4.0-Alpha.2";
+    sha256 = "1r6chqdp912pr8f8d7px2vp4y1ydx0kida7d5a1hbf6b7acnsg7d";
+  })
+  (fetchNuGet {
+    name = "protobuf-net.Core";
+    version = "3.0.101";
+    sha256 = "1kvn9rnm6f0jxs0s9scyyx2f2p8rk03qzc1f6ijv1g6xgkpxkq1m";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.App";
+    version = "2.0.0";
+    sha256 = "0j8xkssrashyxrmdraci6kmj2gdrdxb0z61jwnzf1r9r2kqrd7d2";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.DotNetAppHost";
+    version = "2.0.0";
+    sha256 = "0yixdk1rslbznrl50d6pyhg50xxr6jbfb1qpy2yd8xv44s4shgwd";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.DotNetHostPolicy";
+    version = "2.0.0";
+    sha256 = "1zz9yfzcvcai4il78s3phjp1hryib2zk3w2r16v3fxm2yllssyaf";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.DotNetHostResolver";
+    version = "2.0.0";
+    sha256 = "0xy45xqmdqz7r6v0g8m7c1rp761ghavjl8nzxiyrpbp0wccxl3xb";
+  })
+  (fetchNuGet {
+    name = "Microsoft.NETCore.Platforms";
+    version = "5.0.0";
+    sha256 = "0mwpwdflidzgzfx2dlpkvvnkgkr2ayaf0s80737h4wa35gaj11rc";
+  })
+  (fetchNuGet {
+    name = "Microsoft.Win32.Registry";
+    version = "5.0.0";
+    sha256 = "102hvhq2gmlcbq8y2cb7hdr2dnmjzfp2k3asr1ycwrfacwyaak7n";
+  })
+  (fetchNuGet {
+    name = "NETStandard.Library";
+    version = "2.0.0";
+    sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy";
+  })
+  (fetchNuGet {
+    name = "System.Collections.Immutable";
+    version = "1.7.1";
+    sha256 = "1nh4nlxfc7lbnbl86wwk1a3jwl6myz5j6hvgh5sp4krim9901hsq";
+  })
+  (fetchNuGet {
+    name = "System.Memory";
+    version = "4.5.4";
+    sha256 = "14gbbs22mcxwggn0fcfs1b062521azb9fbb7c113x0mq6dzq9h6y";
+  })
+  (fetchNuGet {
+    name = "System.Reflection.Emit";
+    version = "4.7.0";
+    sha256 = "121l1z2ypwg02yz84dy6gr82phpys0njk7yask3sihgy214w43qp";
+  })
+  (fetchNuGet {
+    name = "System.Reflection.Emit.Lightweight";
+    version = "4.7.0";
+    sha256 = "0mbjfajmafkca47zr8v36brvknzks5a7pgb49kfq2d188pyv6iap";
+  })
+  (fetchNuGet {
+    name = "System.Runtime.CompilerServices.Unsafe";
+    version = "4.5.3";
+    sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln";
+  })
+  (fetchNuGet {
+    name = "System.Security.AccessControl";
+    version = "5.0.0";
+    sha256 = "17n3lrrl6vahkqmhlpn3w20afgz09n7i6rv0r3qypngwi7wqdr5r";
+  })
+  (fetchNuGet {
+    name = "System.Security.Principal.Windows";
+    version = "5.0.0";
+    sha256 = "1mpk7xj76lxgz97a5yg93wi8lj0l8p157a5d50mmjy3gbz1904q8";
+  })
+]
diff --git a/pkgs/tools/misc/ethminer/default.nix b/pkgs/tools/misc/ethminer/default.nix
index 3a8169c6b3d8..675147bc5d57 100644
--- a/pkgs/tools/misc/ethminer/default.nix
+++ b/pkgs/tools/misc/ethminer/default.nix
@@ -1,7 +1,6 @@
 {
   lib,
   stdenv,
-  clangStdenv,
   fetchFromGitHub,
   opencl-headers,
   cmake,
@@ -17,13 +16,9 @@
   openssl,
   pkg-config,
   cli11
-}@args:
+}:
 
-# Note that this requires clang < 9.0 to build, and currently
-# clangStdenv provides clang 7.1 which satisfies the requirement.
-let stdenv = if cudaSupport then clangStdenv else args.stdenv;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "ethminer";
   version = "0.19.0";
 
@@ -43,9 +38,11 @@ in stdenv.mkDerivation rec {
     "-DAPICORE=ON"
     "-DETHDBUS=OFF"
     "-DCMAKE_BUILD_TYPE=Release"
-  ] ++ lib.optionals (!cudaSupport) [
+  ] ++ (if cudaSupport then [
+    "-DCUDA_PROPAGATE_HOST_FLAGS=off"
+  ] else [
     "-DETHASHCUDA=OFF" # on by default
-  ];
+  ]);
 
   nativeBuildInputs = [
     cmake
@@ -81,6 +78,5 @@ in stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ atemu ];
     license = licenses.gpl3Only;
-    broken = cudaSupport;
   };
 }
diff --git a/pkgs/tools/misc/handlr/default.nix b/pkgs/tools/misc/handlr/default.nix
index a2dfe7feafc0..e9cd89c5f2dc 100644
--- a/pkgs/tools/misc/handlr/default.nix
+++ b/pkgs/tools/misc/handlr/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, shared-mime-info, libiconv }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, shared-mime-info, libiconv, installShellFiles }:
 
 rustPlatform.buildRustPackage rec {
   pname = "handlr";
@@ -13,13 +13,19 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "sha256-xDQV8wVlzItz0lzR1nVRPVsg7nSf/khUhevDlGgSO3g=";
 
-  nativeBuildInputs = [ shared-mime-info ];
+  nativeBuildInputs = [ installShellFiles shared-mime-info ];
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
   preCheck = ''
     export HOME=$TEMPDIR
   '';
 
+  postInstall = ''
+    installShellCompletion \
+      --zsh  completions/_handlr \
+      --fish completions/handlr.fish
+  '';
+
   meta = with lib; {
     description = "Alternative to xdg-open to manage default applications with ease";
     homepage = "https://github.com/chmln/handlr";
diff --git a/pkgs/tools/misc/mmv/default.nix b/pkgs/tools/misc/mmv/default.nix
index 8c242a5c83e6..2c58381100a4 100644
--- a/pkgs/tools/misc/mmv/default.nix
+++ b/pkgs/tools/misc/mmv/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mmv";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchFromGitHub {
     owner = "rrthomas";
     repo = "mmv";
     rev = "v${version}";
-    sha256 = "sha256-MmxDk3PBtvK/thrh6x67M+nMdCDlOQQHkREqLmzF2Mk=";
+    sha256 = "sha256-3XWXOp30P/bOd+c7PC8duidewX8h0hk9VsEUw05dAE4=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/misc/plantuml-server/default.nix b/pkgs/tools/misc/plantuml-server/default.nix
index f0176afa4b9e..eef6cdc11d5f 100644
--- a/pkgs/tools/misc/plantuml-server/default.nix
+++ b/pkgs/tools/misc/plantuml-server/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, maven, jdk8_headless }:
 
 let
-  version = "1.2021.6";
+  version = "1.2021.7";
 
   src = fetchFromGitHub {
     owner = "plantuml";
     repo = "plantuml-server";
     rev = "v${version}";
-    sha256 = "sha256:1v69vabdq9pv75wzb6n5s198iy5ijfcx6lgjqwxz7n5ns3blf6sz";
+    sha256 = "sha256-kY7b3ocm1zudGIf72MNMZDUG2t2FFqucRr3kRaFv7mo=";
   };
 
   # perform fake build to make a fixed-output derivation out of the files downloaded from maven central
@@ -28,7 +28,7 @@ let
     installPhase = ''find $out/.m2 -type f -regex '.+\(\.lastUpdated\|resolver-status\.properties\|_remote\.repositories\)' -delete'';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256:1fvir7yvg4a4dc4kiv2d5q081cygj7s2lmxj90j8zzkggyq7v8zh";
+    outputHash = "sha256-HzT5rBycrd48KskWKAGtkMKdCDQ8NPYADVWZh8K0ll4=";
   };
 in
 
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 25f96d325325..270a9ef8641d 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2021.3";
+  version = "1.2021.7";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "sha256-Kx2fTx71oVkAgsytl1OFBcENMnJ1ZHmg8qvYDFTSS2M=";
+    sha256 = "sha256-2hQIwUpkxLHGG+kx8AekSKJ1qO8inL8xnko0dlLC1Kg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/veikk-linux-driver-gui/default.nix b/pkgs/tools/misc/veikk-linux-driver-gui/default.nix
new file mode 100644
index 000000000000..e216823f7ab6
--- /dev/null
+++ b/pkgs/tools/misc/veikk-linux-driver-gui/default.nix
@@ -0,0 +1,32 @@
+{ lib, mkDerivation, fetchFromGitHub, gnumake, qmake }:
+
+mkDerivation rec {
+  name = "veikk-linux-driver-gui";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "jlam55555";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "02g1q79kwjlzg95w38a1d7nxvcry8xcsvhax2js4c7xqvzhkki5j";
+  };
+
+  nativeBuildInputs = [ qmake ];
+
+  postBuild = ''
+    make all clean
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp veikk-linux-driver-gui $out/bin
+  '';
+
+  meta = with lib; {
+    description = "Configuration tool for the VEIKK Linux driver";
+    homepage = "https://github.com/jlam55555/veikk-linux-driver-gui/";
+    license = licenses.unfree;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ nicbk ];
+  };
+}
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index e5b8d79eeb6d..7bf0c440a37a 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -18,11 +18,11 @@ buildPythonPackage rec {
   # The websites youtube-dl deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2021.05.16";
+  version = "2021.06.06";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
-    sha256 = "1z8sdzvkxhscnzy7cnjag308glif0k8jylr11biqwzypm1f2l0fl";
+    sha256 = "1hqan9h55x9gfdakw554vic68w9gpvhblchwxlw265zxp56hxjrw";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index 93d5bfc9dee3..e4fb7411a4a4 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OgpSVyXvJeRpxHWfIoJjQbbkt2RSze0IL5za3igGE6s=";
+    sha256 = "sha256-m7rAlFMhkX6+l+OceZ/RnusdhGew+Rjp7AmZ7vo2wr0=";
   };
 
-  cargoSha256 = "sha256-LgJPhwOuzlKIw5smy4WJvC0CFoylnMlx6Re7gVPtiq8=";
+  cargoSha256 = "sha256-iTPOlbS3gWlJ8E2VB7z/kOsOJcngPGof7R5cH3Z0xk0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 77aad6fa7b31..72daa0608a67 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,12 +1,14 @@
-{ lib, fetchurl, perlPackages, iproute2, perl }:
+{ lib, fetchFromGitHub, perlPackages, iproute2, perl }:
 
 perlPackages.buildPerlPackage rec {
   pname = "ddclient";
   version = "3.9.1";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/ddclient/${pname}-${version}.tar.gz";
-    sha256 = "0w14qnn72j333i3j7flxkw6bzcg4n31d8jfnvhmwa7s9rharx5p4";
+  src = fetchFromGitHub {
+    owner = "ddclient";
+    repo = "ddclient";
+    rev = "v${version}";
+    sha256 = "0hf377g4j9r9sac75xp17nk2h58mazswz4vkg4g2gl2yyhvzq91w";
   };
 
   # perl packages by default get devdoc which isn't present
@@ -38,9 +40,10 @@ perlPackages.buildPerlPackage rec {
 
   meta = with lib; {
     description = "Client for updating dynamic DNS service entries";
-    homepage    = "https://sourceforge.net/p/ddclient/wiki/Home/";
-    license     = licenses.gpl2Plus;
+    homepage = "https://ddclient.net/";
+    license = licenses.gpl2Plus;
     # Mostly since `iproute` is Linux only.
-    platforms   = platforms.linux;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/ngrok-2/default.nix b/pkgs/tools/networking/ngrok-2/default.nix
index 0d9dbd19117e..3549677e22fc 100644
--- a/pkgs/tools/networking/ngrok-2/default.nix
+++ b/pkgs/tools/networking/ngrok-2/default.nix
@@ -9,7 +9,8 @@ let versions = builtins.fromJSON (builtins.readFile ./versions.json);
            else if stdenv.isAarch64 then "arm64"
            else throw "Unsupported architecture";
     os = if stdenv.isLinux then "linux"
-         else if stdenv.isDarwin then "darwin"
+         else if (stdenv.isDarwin && stdenv.isx86_64) then "darwin"
+         else if stdenv.isDarwin then throw "Unsupported architecture"
          else throw "Unsupported os";
     versionInfo = versions."${os}-${arch}";
     inherit (versionInfo) version sha256 url;
diff --git a/pkgs/tools/networking/subfinder/default.nix b/pkgs/tools/networking/subfinder/default.nix
index 2844cc2dac08..ae87d02fe236 100644
--- a/pkgs/tools/networking/subfinder/default.nix
+++ b/pkgs/tools/networking/subfinder/default.nix
@@ -1,19 +1,26 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "subfinder";
-  version = "2.3.0";
-
-  goPackagePath = "github.com/projectdiscovery/subfinder";
+  version = "2.4.8";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vjxi2h4njakyqkfzwwaacy37kqx66j2y3k5l752z9va73gv7xv1";
+    sha256 = "1g1j3il1a595g7z8blhvyd5l03h6kccl7mzrx51c33jz74cms5kn";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "1jmik0zmfy1n3g4yjkskiqzd28dpywf0hw6adgz2jshlhka58iw0";
+
+  modRoot = "./v2";
+
+  subPackages = [
+    "cmd/subfinder/"
+  ];
 
   meta = with lib; {
     description = "Subdomain discovery tool";
diff --git a/pkgs/tools/networking/subfinder/deps.nix b/pkgs/tools/networking/subfinder/deps.nix
deleted file mode 100644
index 16427eddcf6d..000000000000
--- a/pkgs/tools/networking/subfinder/deps.nix
+++ /dev/null
@@ -1,165 +0,0 @@
-# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
-[
-  {
-    goPackagePath  = "github.com/davecgh/go-spew";
-    fetch = {
-      type = "git";
-      url = "https://github.com/davecgh/go-spew";
-      rev =  "8991bc29aa16c548c550c7ff78260e27b9ab7c73";
-      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
-    };
-  }
-  {
-    goPackagePath  = "github.com/json-iterator/go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/json-iterator/go";
-      rev =  "03217c3e97663914aec3faafde50d081f197a0a2";
-      sha256 = "1kbp9fj6fxfql0ir59zb6v68l4bpwlmk76xm8vaikw1hp6y9bcss";
-    };
-  }
-  {
-    goPackagePath  = "github.com/konsorten/go-windows-terminal-sequences";
-    fetch = {
-      type = "git";
-      url = "https://github.com/konsorten/go-windows-terminal-sequences";
-      rev =  "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e";
-      sha256 = "09mn209ika7ciy87xf2x31dq5fnqw39jidgaljvmqxwk7ff1hnx7";
-    };
-  }
-  {
-    goPackagePath  = "github.com/logrusorgru/aurora";
-    fetch = {
-      type = "git";
-      url = "https://github.com/logrusorgru/aurora";
-      rev =  "21d75270181e0436fee7bd58b991c212cf309068";
-      sha256 = "0vc9qdl6jzq7vazfqgz628gcgsvir56bdi2bkhl54pi92cz9cw0p";
-    };
-  }
-  {
-    goPackagePath  = "github.com/m-mizutani/urlscan-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/m-mizutani/urlscan-go";
-      rev =  "21d37c8d3d34d514f2ef49db9b59cc94f335e9c3";
-      sha256 = "1hpymd4ncp78hgpksnw8k27rp0lh832x1pyk3bhj5dm6xmh79g4c";
-    };
-  }
-  {
-    goPackagePath  = "github.com/miekg/dns";
-    fetch = {
-      type = "git";
-      url = "https://github.com/miekg/dns";
-      rev =  "1e224ff5dead8366ed6fcdcb832794be42e73f0e";
-      sha256 = "1iv9jznakz8f5swiir0z4zilr9ypavnsc0g4zi1r0vad6npy7zfl";
-    };
-  }
-  {
-    goPackagePath  = "github.com/modern-go/concurrent";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/concurrent";
-      rev =  "bacd9c7ef1dd9b15be4a9909b8ac7a4e313eec94";
-      sha256 = "0s0fxccsyb8icjmiym5k7prcqx36hvgdwl588y0491gi18k5i4zs";
-    };
-  }
-  {
-    goPackagePath  = "github.com/modern-go/reflect2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/modern-go/reflect2";
-      rev =  "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd";
-      sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pkg/errors";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pkg/errors";
-      rev =  "ba968bfe8b2f7e042a574c888954fccecfa385b4";
-      sha256 = "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1";
-    };
-  }
-  {
-    goPackagePath  = "github.com/pmezard/go-difflib";
-    fetch = {
-      type = "git";
-      url = "https://github.com/pmezard/go-difflib";
-      rev =  "792786c7400a136282c1664665ae0a8db921c6c2";
-      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
-    };
-  }
-  {
-    goPackagePath  = "github.com/rs/xid";
-    fetch = {
-      type = "git";
-      url = "https://github.com/rs/xid";
-      rev =  "15d26544def341f036c5f8dca987a4cbe575032c";
-      sha256 = "1vgw1dikqw273awcci6pzifs7shkl5ah4l88j1zjbnpgbiwzlx9j";
-    };
-  }
-  {
-    goPackagePath  = "github.com/sirupsen/logrus";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sirupsen/logrus";
-      rev =  "839c75faf7f98a33d445d181f3018b5c3409a45e";
-      sha256 = "087k2lxrr9p9dh68yw71d05h5g9p5v26zbwd6j7lghinjfaw334x";
-    };
-  }
-  {
-    goPackagePath  = "github.com/stretchr/testify";
-    fetch = {
-      type = "git";
-      url = "https://github.com/stretchr/testify";
-      rev =  "221dbe5ed46703ee255b1da0dec05086f5035f62";
-      sha256 = "187i5g88sxfy4vxpm7dw1gwv29pa2qaq475lxrdh5livh69wqfjb";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/crypto";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/crypto";
-      rev =  "86a70503ff7e82ffc18c7b0de83db35da4791e6a";
-      sha256 = "0w7ih86lmll9gs2j0z3nmmy148i2yism9z53yp58zwa6d5pjahfn";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/net";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/net";
-      rev =  "5ee1b9f4859acd2e99987ef94ec7a58427c53bef";
-      sha256 = "0jvzqv6phv64rw4pj86x3j9kp5yx9p34fd38r46rb9464h69ba29";
-    };
-  }
-  {
-    goPackagePath  = "golang.org/x/sys";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/sys";
-      rev =  "ce4227a45e2eb77e5c847278dcc6a626742e2945";
-      sha256 = "1s43wvqfml6ml5ks7iv2bis9d664g77mq86v7mfmjhn56x856g35";
-    };
-  }
-  {
-    goPackagePath  = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-yaml/yaml";
-      rev =  "1f64d6156d11335c3f22d9330b0ad14fc1e789ce";
-      sha256 = "0k5xcwkd3wmcx54isk7ck9cwp8fapfhyqdz3f13kxp77cxqizazj";
-    };
-  }
-  {
-    goPackagePath  = "gopkg.in/yaml.v3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-yaml/yaml";
-      rev =  "4206685974f28e3178b35fa198a59899aa4dee3a";
-      sha256 = "1ff5fd8x45cay9100ds63hxd32s7czsrric0ql6a1jrxczsgqk1g";
-    };
-  }
-]
diff --git a/pkgs/tools/security/gpg-tui/default.nix b/pkgs/tools/security/gpg-tui/default.nix
index 840907e53d28..756dff04c918 100644
--- a/pkgs/tools/security/gpg-tui/default.nix
+++ b/pkgs/tools/security/gpg-tui/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gpg-tui";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "gpg-tui";
     rev = "v${version}";
-    sha256 = "sha256-PwKfsIwGw4aUu8DF9VeuFzafp116E3jetsN4bS5YtRY=";
+    sha256 = "sha256-5vhFgJZY1yaYFPS2qvrYGX3xyT0PbRKW2jmR4gz12Co=";
   };
 
-  cargoSha256 = "sha256-6IRjfYntKQXrrl7ix+e6PEQX1bmiAW8Kd79mczCpaUY=";
+  cargoSha256 = "sha256-g38L/FgqAsFh/ECZnNkJVCC/44z5VW3WK8mgIEEy7BQ=";
 
   nativeBuildInputs = [
     gpgme # for gpgme-config
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index cad1502a130c..3119eeabade1 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.46"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.47"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 1b0c0732783c..760b9fe62c6e 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: 7be6da5afc39bb736c0fb5c6c6ba245e98c0efe0
-  ref: refs/tags/6.0.46
+  revision: 6416bc1a2867938dd39705a3daef25bc5dedfd16
+  ref: refs/tags/6.0.47
   specs:
-    metasploit-framework (6.0.46)
+    metasploit-framework (6.0.47)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -125,22 +125,22 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.1)
-    aws-partitions (1.464.0)
-    aws-sdk-core (3.114.0)
+    aws-partitions (1.465.0)
+    aws-sdk-core (3.114.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.239.0)
+    aws-sdk-ec2 (1.240.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.54.0)
+    aws-sdk-iam (1.55.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-kms (1.43.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.95.1)
+    aws-sdk-s3 (1.96.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.1)
@@ -149,7 +149,7 @@ GEM
     bcrypt (3.1.16)
     bcrypt_pbkdf (1.1.0)
     bindata (2.4.10)
-    bson (4.12.0)
+    bson (4.12.1)
     builder (3.2.4)
     concurrent-ruby (1.0.5)
     cookiejar (0.3.3)
@@ -239,7 +239,7 @@ GEM
       webrick
     metasploit_payloads-mettle (1.0.9)
     method_source (1.0.0)
-    mini_portile2 (2.5.1)
+    mini_portile2 (2.5.3)
     minitest (5.14.4)
     mqtt (0.5.0)
     msgpack (1.4.2)
@@ -252,7 +252,7 @@ GEM
     network_interface (0.0.2)
     nexpose (7.3.0)
     nio4r (2.5.7)
-    nokogiri (1.11.6)
+    nokogiri (1.11.7)
       mini_portile2 (~> 2.5.0)
       racc (~> 1.4)
     octokit (4.21.0)
@@ -352,7 +352,7 @@ GEM
     ruby-macho (2.5.1)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.4)
-    ruby_smb (2.0.9)
+    ruby_smb (2.0.10)
       bindata
       openssl-ccm
       openssl-cmac
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 06a012eae289..fe435a5be452 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -8,13 +8,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.0.46";
+  version = "6.0.47";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-NZksDvlcSts1u66yhJ4BpZu5lvzp5eQxV4MscU7wQ/8=";
+    sha256 = "sha256-lK8FtHc4VLvp6bEYAw7cqHgbjQP2RS5+XxtjaVMiVWg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index 8c1ab823265a..0f6b54632e46 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -114,40 +114,40 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mh8kpwwlc0s5k8yjjn6bvrrv0sqxnwpqsjsfljkjszbv1vcwksc";
+      sha256 = "0fs3fy6k4wmzh0z6c4rl313f5px81pj0viqxj1prksza4j7iymmi";
       type = "gem";
     };
-    version = "1.464.0";
+    version = "1.465.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09asbdcg96l165kq4hrks0hsk4hwr16h1qx22az4m7ld0ylvz3jc";
+      sha256 = "09ksnsj7jqb339fy4nh6v8zn9gy77vbyjpsiv33r35q82ivi32z2";
       type = "gem";
     };
-    version = "3.114.0";
+    version = "3.114.1";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0995qsi717fdvv2wkpbm0iaz666q370q1a37vn3bn6g66v20m6cy";
+      sha256 = "0wqrvs49nzr2n9ilbjz61ac61d4d8wwpmzfaawhhq7l4hmwm4pdr";
       type = "gem";
     };
-    version = "1.239.0";
+    version = "1.240.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mfs2vsiml42xskgslp4iissna5fmjacpvi6sbmlr1b5jh390f3m";
+      sha256 = "03vs5wf96qpjl309vnrnr4d8hy4l8bvnflgc806bm9n130cyvs9m";
       type = "gem";
     };
-    version = "1.54.0";
+    version = "1.55.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
@@ -164,10 +164,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mm96blh0515lymkwamcnv5jih36v0yykcqx4fr0wwvwmyh637zv";
+      sha256 = "1g46v19n6pxa60x7fih2y9zc18q23kdjkb1p2qr33zmi6cz76cc4";
       type = "gem";
     };
-    version = "1.95.1";
+    version = "1.96.0";
   };
   aws-sigv4 = {
     groups = ["default"];
@@ -214,10 +214,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0gny4n34gwfc6x04x7vli5my6cdl90n4i0wsxm758q81hfmkqxd7";
+      sha256 = "0pnr0b7phdzhkw9xqhmqnw5673ndi13ks3dqwqmbxq6v0rsxiapc";
       type = "gem";
     };
-    version = "4.12.0";
+    version = "4.12.1";
   };
   builder = {
     groups = ["default"];
@@ -574,12 +574,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "7be6da5afc39bb736c0fb5c6c6ba245e98c0efe0";
-      sha256 = "1zs3y1772b43awqy9rg9zjbbk6x506g89cmfpcsxnjjwz472r69m";
+      rev = "6416bc1a2867938dd39705a3daef25bc5dedfd16";
+      sha256 = "0s2m499njqqvbxz2wign0f6iny58vh70665ix7lvnm1qfys0bbwl";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.46";
+    version = "6.0.47";
   };
   metasploit-model = {
     groups = ["default"];
@@ -636,10 +636,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xg1x4708a4pn2wk8qs2d8kfzzdyv9kjjachg2f1phsx62ap2rx2";
+      sha256 = "1ad0mli9rc0f17zw4ibp24dbj1y39zkykijsjmnzl4gwpg5s0j6k";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.5.3";
   };
   minitest = {
     groups = ["default"];
@@ -756,10 +756,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z4x366icbl9w13pk50vxx5kywlksvhxqxrpv8f5xpjxfl3jl64z";
+      sha256 = "1vrn31385ix5k9b0yalnlzv360isv6dincbcvi8psllnwz4sjxj9";
       type = "gem";
     };
-    version = "1.11.6";
+    version = "1.11.7";
   };
   octokit = {
     groups = ["default"];
@@ -1226,10 +1226,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nvvy2kq26r313ybj5sjr9mpwc1sy535kmmbi8r80kvqfkmd43nv";
+      sha256 = "1h8p6ksfr9xhpj9p38b4mjj76zm4d0dg06hhp00ii9hh7vy6mryd";
       type = "gem";
     };
-    version = "2.0.9";
+    version = "2.0.10";
   };
   rubyntlm = {
     groups = ["default"];
diff --git a/pkgs/tools/security/oath-toolkit/default.nix b/pkgs/tools/security/oath-toolkit/default.nix
index b1a493f30913..a925d07cb7c8 100644
--- a/pkgs/tools/security/oath-toolkit/default.nix
+++ b/pkgs/tools/security/oath-toolkit/default.nix
@@ -7,15 +7,17 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "oath-toolkit";
-  version = "2.6.6";
+  version = "2.6.7";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0v4lrgip08b8xlivsfn3mwql3nv8hmcpzrn6pi3xp88vqwav6s7x";
+    sha256 = "1aa620k05lsw3l3slkp2mzma40q3p9wginspn9zk8digiz7dzv9n";
   };
 
   buildInputs = [ securityDependency ];
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Components for building one-time password authentication systems";
     homepage = "https://www.nongnu.org/oath-toolkit/";
diff --git a/pkgs/tools/security/oath-toolkit/update.sh b/pkgs/tools/security/oath-toolkit/update.sh
new file mode 100755
index 000000000000..3502a541fa8c
--- /dev/null
+++ b/pkgs/tools/security/oath-toolkit/update.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl git gnugrep nix
+
+set -euo pipefail
+
+nixfile='default.nix'
+release_url='https://download.savannah.nongnu.org/releases/oath-toolkit/'
+attr='oathToolkit'
+command='oathtool --version'
+
+color() {
+    printf '%s: \033[%sm%s\033[39m\n' "$0" "$1" "$2" >&2 || true
+}
+
+color 32 "downloading $release_url..."
+if ! release_page=$(curl -Lf "$release_url"); then
+    color 31 "cannot download release page"
+    exit 1
+fi
+
+tarball_name=$(printf '%s\n' "$release_page" \
+    | grep -Po '(?<=href=").*?\.tar\.gz(?=")' \
+    | sort -n | tail -n1)
+tarball_version="${tarball_name%.tar.*}"
+tarball_version="${tarball_version##*-}"
+tarball_url="mirror://savannah${release_url#https://*/releases}$tarball_name"
+
+color 32 "nix-prefetch-url $tarball_url..."
+if ! tarball_sha256=$(nix-prefetch-url --type sha256 "$tarball_url"); then
+    color 31 "cannot prefetch $tarball_url"
+    exit 1
+fi
+
+old_version=$(grep -Pom1 '(?<=version = ").*?(?=";)' "$nixfile")
+
+version=$(printf 'version = "%s";\n' "$tarball_version")
+sha256=$(printf 'sha256 = "%s";\n' "$tarball_sha256")
+sed -e "s,version = .*,$version," -e "s,sha256 = .*,$sha256," -i "$nixfile"
+
+if git diff --exit-code "$nixfile" > /dev/stderr; then
+    printf '\n' >&2 || true
+    color 32 "$tarball_version is up to date"
+else
+    color 32 "running '$command' with nix-shell..."
+    nix-shell -p "callPackage ./$nixfile {}" --run "$command"
+    msg="$attr: $old_version -> $tarball_version"
+    printf '\n' >&2 || true
+    color 31 "$msg"
+    git commit -m "$msg" "$nixfile"
+fi
diff --git a/pkgs/tools/security/qdigidoc/default.nix b/pkgs/tools/security/qdigidoc/default.nix
index 8ba6937c4486..86dc3dfff335 100644
--- a/pkgs/tools/security/qdigidoc/default.nix
+++ b/pkgs/tools/security/qdigidoc/default.nix
@@ -3,20 +3,23 @@
 
 mkDerivation rec {
   pname = "qdigidoc";
-  version = "4.2.3";
+  version = "4.2.8";
 
   src = fetchgit {
     url = "https://github.com/open-eid/DigiDoc4-Client";
     rev = "v${version}";
-    sha256 = "1hj49vvg8vrayr9kpz73fafa7k298hmiamkyd8c3ipy6s51xh6q4";
+    sha256 = "02k2s6l79ssvrksa0midm7bq856llrmq0n40yxwm3j011nvc8vsm";
     fetchSubmodules = true;
   };
 
   tsl = fetchurl {
     url = "https://ec.europa.eu/information_society/policy/esignature/trusted-list/tl-mp.xml";
-    sha256 = "0llr2fj8vd097hcr1d0xmzdy4jydv0b5j5qlksbjffs22rqgal14";
+    sha256 = "0klz9blrp0jjhlr9k1i266afp44pqmii1x0y8prk0417ia3fxpli";
   };
 
+  # Adds explicit imports for QPainterPath, fixed in upstream (https://github.com/open-eid/DigiDoc4-Client/pull/914)
+  patches = [ ./qt5.15.patch ];
+
   nativeBuildInputs = [ cmake darkhttpd gettext makeWrapper pkg-config ];
 
   postPatch = ''
diff --git a/pkgs/tools/security/qdigidoc/qt5.15.patch b/pkgs/tools/security/qdigidoc/qt5.15.patch
new file mode 100644
index 000000000000..6f390702348b
--- /dev/null
+++ b/pkgs/tools/security/qdigidoc/qt5.15.patch
@@ -0,0 +1,39 @@
+From 1aa314f5433b9b3e89a1c05b5c465fb477435e23 Mon Sep 17 00:00:00 2001
+From: Dmitri Smirnov <dmitri@smirnov.ee>
+Date: Mon, 8 Mar 2021 14:15:27 +0100
+Subject: [PATCH] =?UTF-8?q?Added=20explicit=20imports=20for=20QPainterPath?=
+ =?UTF-8?q?=20to=20fix=20builds=20with=20Qt=20=E2=89=A5=205.15?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Dmitri Smirnov <dmitri@smirnov.ee>
+---
+ client/widgets/CheckBox.cpp   | 1 +
+ client/widgets/MainAction.cpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/client/widgets/CheckBox.cpp b/client/widgets/CheckBox.cpp
+index a03b56e5d..725d585b7 100644
+--- a/client/widgets/CheckBox.cpp
++++ b/client/widgets/CheckBox.cpp
+@@ -22,6 +22,7 @@
+ #include <QBrush>
+ #include <QPaintEvent>
+ #include <QPainter>
++#include <QPainterPath>
+ #include <QStyleOptionButton>
+ 
+ CheckBox::CheckBox(QWidget *parent)
+diff --git a/client/widgets/MainAction.cpp b/client/widgets/MainAction.cpp
+index 4cf4bb1cf..a46c193e3 100644
+--- a/client/widgets/MainAction.cpp
++++ b/client/widgets/MainAction.cpp
+@@ -24,6 +24,7 @@
+ 
+ #include <QtCore/QSettings>
+ #include <QtGui/QPainter>
++#include <QtGui/QPainterPath>
+ #include <QtGui/QPaintEvent>
+ 
+ using namespace ria::qdigidoc4;
diff --git a/pkgs/tools/text/replace/default.nix b/pkgs/tools/text/replace/default.nix
index 117fb737aa06..a0873d1c8d2b 100644
--- a/pkgs/tools/text/replace/default.nix
+++ b/pkgs/tools/text/replace/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "replace-2.24";
+stdenv.mkDerivation rec {
+  pname = "replace";
+  version = "2.24";
 
   src = fetchurl {
-    url = "ftp://hpux.connect.org.uk/hpux/Users/replace-2.24/replace-2.24-src-11.11.tar.gz";
-    sha256 = "1c2nkxx83vmlh1v3ib6r2xqh121gdb1rharwsimcb2h0xwc558dm";
+    url = "http://hpux.connect.org.uk/ftp/hpux/Users/replace-${version}/replace-${version}-src-11.31.tar.gz";
+    sha256 = "18hkwhaz25s6209n5mpx9hmkyznlzygqj488p2l7nvp9zrlxb9sf";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/tools/typesetting/satysfi/default.nix b/pkgs/tools/typesetting/satysfi/default.nix
index 73370eb011e4..d18c7fc270e3 100644
--- a/pkgs/tools/typesetting/satysfi/default.nix
+++ b/pkgs/tools/typesetting/satysfi/default.nix
@@ -53,7 +53,7 @@ in
     nativeBuildInputs = [ ruby dune_2 ];
 
     buildInputs = [ camlpdf otfm yojson-with-position ] ++ (with ocamlPackages; [
-      ocaml findlib menhir
+      ocaml findlib menhir menhirLib
       batteries camlimages core_kernel ppx_deriving uutf omd cppo re
     ]);
 
diff --git a/pkgs/tools/wayland/wlrctl/default.nix b/pkgs/tools/wayland/wlrctl/default.nix
new file mode 100644
index 000000000000..7cb54d381b0b
--- /dev/null
+++ b/pkgs/tools/wayland/wlrctl/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromSourcehut, meson, pkg-config, scdoc, ninja, libxkbcommon, wayland }:
+
+stdenv.mkDerivation rec {
+  pname = "wlrctl";
+  version = "0.2.1";
+
+  src = fetchFromSourcehut {
+    owner = "~brocellous";
+    repo = "wlrctl";
+    rev = "v${version}";
+    sha256 = "039cxc82k7x473n6d65jray90rj35qmfdmr390zy0c7ic7vn4b78";
+  };
+
+  nativeBuildInputs = [ meson pkg-config scdoc ninja ];
+  buildInputs = [ libxkbcommon wayland ];
+
+  NIX_CFLAGS_COMPILE = "-Wno-error=type-limits";
+
+  meta = with lib; {
+    description = "Command line utility for miscellaneous wlroots Wayland extensions";
+    homepage = "https://git.sr.ht/~brocellous/wlrctl";
+    license = licenses.mit;
+    maintainers = with maintainers; [ puffnfresh artturin ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index cd4ad8b1a7a2..89553642a2da 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -654,7 +654,6 @@ mapAliases ({
   rdiff_backup = rdiff-backup;  # added 2014-11-23
   rdmd = dtools;  # added 2017-08-19
   readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version or 'readline81' for most recent version"; # added 2021-04-22
-  retroshare = throw "retroshare was removed because it was broken"; # added 2021-05-17
   rhc = throw "rhc was deprecated on 2019-04-09: abandoned by upstream.";
   rng_tools = rng-tools; # added 2018-10-24
   robomongo = robo3t; #added 2017-09-28
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 188de7897ef5..c537b0545a37 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -241,6 +241,8 @@ in
 
   chrysalis = callPackage ../applications/misc/chrysalis { };
 
+  clifm = callPackage ../applications/misc/clifm { };
+
   clj-kondo = callPackage ../development/tools/clj-kondo { };
 
   cmark = callPackage ../development/libraries/cmark { };
@@ -409,6 +411,8 @@ in
 
   ebook2cw = callPackage ../applications/radio/ebook2cw { };
 
+  edwin = callPackage ../data/fonts/edwin { };
+
   etBook = callPackage ../data/fonts/et-book { };
 
   fetchutils = callPackage ../tools/misc/fetchutils { };
@@ -854,6 +858,10 @@ in
 
   amidst = callPackage ../tools/games/amidst { };
 
+  gamemode = callPackage ../tools/games/gamemode {
+    libgamemode32 = pkgsi686Linux.gamemode.lib;
+  };
+
   gfshare = callPackage ../tools/security/gfshare { };
 
   gobgp = callPackage ../tools/networking/gobgp { };
@@ -868,6 +876,8 @@ in
 
   tnat64 = callPackage ../tools/networking/tnat64 { };
 
+  veikk-linux-driver-gui = libsForQt5.callPackage ../tools/misc/veikk-linux-driver-gui { };
+
   xcd = callPackage ../tools/misc/xcd { };
 
   xtrt = callPackage ../tools/archivers/xtrt { };
@@ -933,7 +943,7 @@ in
   };
 
   logseq = callPackage ../applications/misc/logseq {
-    electron = electron_11;
+    electron = electron_12;
   };
 
   lxterminal = callPackage ../applications/terminal-emulators/lxterminal { };
@@ -1417,6 +1427,8 @@ in
 
   dfmt = callPackage ../tools/text/dfmt { };
 
+  diopser = callPackage ../applications/audio/diopser { };
+
   diskonaut = callPackage ../tools/misc/diskonaut { };
 
   diskus = callPackage ../tools/misc/diskus {
@@ -1900,6 +1912,8 @@ in
 
   blur-effect = callPackage ../tools/graphics/blur-effect { };
 
+  bootiso = callPackage ../tools/cd-dvd/bootiso { };
+
   butane = callPackage ../development/tools/butane { };
 
   charles = charles4;
@@ -2268,6 +2282,8 @@ in
 
   wlr-randr = callPackage ../tools/wayland/wlr-randr { };
 
+  wlrctl = callPackage ../tools/wayland/wlrctl { };
+
   wlsunset = callPackage ../tools/wayland/wlsunset { };
 
   wob = callPackage ../tools/wayland/wob { };
@@ -7262,6 +7278,8 @@ in
 
   nnn = callPackage ../applications/misc/nnn { };
 
+  sfm = callPackage ../applications/misc/sfm { };
+
   shfm = callPackage ../applications/misc/shfm { };
 
   noise-repellent = callPackage ../applications/audio/noise-repellent { };
@@ -8502,6 +8520,8 @@ in
 
   sdl-jstest = callPackage ../tools/misc/sdl-jstest { };
 
+  senpai = callPackage ../applications/networking/irc/senpai { };
+
   skim = callPackage ../tools/misc/skim { };
 
   seaweedfs = callPackage ../applications/networking/seaweedfs { };
@@ -9384,6 +9404,8 @@ in
 
   untrunc-anthwlock = callPackage ../tools/video/untrunc-anthwlock { };
 
+  unvanquished = callPackage ../games/unvanquished { };
+
   up = callPackage ../tools/misc/up { };
 
   upterm = callPackage ../tools/misc/upterm { };
@@ -11645,13 +11667,15 @@ in
 
   open-watcom-bin = callPackage ../development/compilers/open-watcom-bin { };
 
+  passerine = callPackage ../development/compilers/passerine { };
+
   pforth = callPackage ../development/compilers/pforth {};
 
   picat = callPackage ../development/compilers/picat { };
 
   ponyc = callPackage ../development/compilers/ponyc {
     # Upstream pony has dropped support for versions compiled with gcc.
-    stdenv = clangStdenv;
+    stdenv = llvmPackages_9.stdenv;
   };
 
   pony-corral = callPackage ../development/compilers/ponyc/pony-corral.nix { };
@@ -13074,9 +13098,7 @@ in
   # Does not actually depend on Qt 5
   inherit (plasma5Packages) extra-cmake-modules;
 
-  coccinelle = callPackage ../development/tools/misc/coccinelle {
-    ocamlPackages = ocaml-ng.ocamlPackages_4_05;
-  };
+  coccinelle = callPackage ../development/tools/misc/coccinelle { };
 
   cpptest = callPackage ../development/libraries/cpptest { };
 
@@ -14862,6 +14884,8 @@ in
       inherit fontconfig fontDirectories;
     };
 
+  f2c = callPackage ../development/tools/f2c { };
+
   freealut = callPackage ../development/libraries/freealut { };
 
   freeglut = callPackage ../development/libraries/freeglut { };
@@ -14978,6 +15002,8 @@ in
 
   ghcid = haskellPackages.ghcid.bin;
 
+  graphia = libsForQt5.callPackage ../applications/science/misc/graphia { };
+
   icon-lang = callPackage ../development/interpreters/icon-lang { };
 
   libgit2 = callPackage ../development/libraries/git2 {
@@ -16825,8 +16851,9 @@ in
 
   libutempter = callPackage ../development/libraries/libutempter { };
 
-  libunwind = if stdenv.isDarwin
-    then darwin.libunwind
+  libunwind =
+    if stdenv.isDarwin then darwin.libunwind
+    else if stdenv.hostPlatform.isRiscV then llvmPackages_latest.libunwind
     else callPackage ../development/libraries/libunwind { };
 
   libuv = callPackage ../development/libraries/libuv {
@@ -17165,6 +17192,8 @@ in
 
   mutest = callPackage ../development/libraries/mutest { };
 
+  mvapich = callPackage ../development/libraries/mvapich { };
+
   mygpoclient = pythonPackages.mygpoclient;
 
   mygui = callPackage ../development/libraries/mygui {
@@ -18599,6 +18628,8 @@ in
 
   xsimd = callPackage ../development/libraries/xsimd { };
 
+  xtensor = callPackage ../development/libraries/xtensor { };
+
   xtl = callPackage ../development/libraries/xtl { };
 
   xvidcore = callPackage ../development/libraries/xvidcore { };
@@ -22915,6 +22946,8 @@ in
 
   bookworm = callPackage ../applications/office/bookworm { };
 
+  boops = callPackage ../applications/audio/boops { };
+
   CHOWTapeModel = callPackage ../applications/audio/CHOWTapeModel { };
 
   chromium = callPackage ../applications/networking/browsers/chromium (config.chromium or {});
@@ -25323,6 +25356,7 @@ in
     simple-mpv-webui = callPackage ../applications/video/mpv/scripts/simple-mpv-webui.nix {};
     sponsorblock = callPackage ../applications/video/mpv/scripts/sponsorblock.nix {};
     thumbnail = callPackage ../applications/video/mpv/scripts/thumbnail.nix { };
+    youtube-quality = callPackage ../applications/video/mpv/scripts/youtube-quality.nix { };
   };
 
   mrpeach = callPackage ../applications/audio/pd-plugins/mrpeach { };
@@ -25523,6 +25557,8 @@ in
 
   softmaker-office = callPackage ../applications/office/softmaker/softmaker_office.nix {};
 
+  songrec = callPackage ../applications/audio/songrec {};
+
   spacegun = callPackage ../applications/networking/cluster/spacegun {};
 
   stride = callPackage ../applications/networking/instant-messengers/stride { };
@@ -26299,6 +26335,8 @@ in
 
   remotebox = callPackage ../applications/virtualization/remotebox { };
 
+  retroshare = libsForQt5.callPackage ../applications/networking/p2p/retroshare { };
+
   rgp = libsForQt5.callPackage ../development/tools/rgp { };
 
   ricochet = libsForQt5.callPackage ../applications/networking/instant-messengers/ricochet { };
@@ -27965,6 +28003,8 @@ in
 
   btcpayserver = callPackage ../applications/blockchains/btcpayserver { };
 
+  charge-lnd = callPackage ../applications/blockchains/charge-lnd { };
+
   cryptop = python3.pkgs.callPackage ../applications/blockchains/cryptop { };
 
   dashpay = callPackage ../applications/blockchains/dashpay.nix { };
@@ -28325,6 +28365,8 @@ in
 
   fava = callPackage ../applications/office/fava {};
 
+  fheroes2 = callPackage ../games/fheroes2 {};
+
   fish-fillets-ng = callPackage ../games/fish-fillets-ng {};
 
   flightgear = libsForQt5.callPackage ../games/flightgear { };
@@ -28914,12 +28956,16 @@ in
 
   toppler = callPackage ../games/toppler { };
 
+  torus-trooper = callPackage ../games/torus-trooper { };
+
   trackballs = callPackage ../games/trackballs { };
 
   tremulous = callPackage ../games/tremulous { };
 
   tts = callPackage ../tools/audio/tts { };
 
+  tumiki-fighters = callPackage ../games/tumiki-fighters { };
+
   tuxpaint = callPackage ../games/tuxpaint { };
 
   tuxtype = callPackage ../games/tuxtype { };
@@ -30220,6 +30266,8 @@ in
 
   autotiling = python3Packages.callPackage ../misc/autotiling { };
 
+  avell-unofficial-control-center = python3Packages.callPackage ../applications/misc/avell-unofficial-control-center { };
+
   beep = callPackage ../misc/beep { };
 
   bees = callPackage ../tools/filesystems/bees { };
@@ -30304,6 +30352,8 @@ in
 
   darling-dmg = callPackage ../tools/filesystems/darling-dmg { };
 
+  depotdownloader = callPackage ../tools/misc/depotdownloader { };
+
   desmume = callPackage ../misc/emulators/desmume { inherit (pkgs.gnome2) gtkglext libglade; };
 
   dbacl = callPackage ../tools/misc/dbacl { };
@@ -30372,6 +30422,10 @@ in
 
   faustlive = callPackage ../applications/audio/faust/faustlive.nix { };
 
+  faustPhysicalModeling = callPackage ../applications/audio/faustPhysicalModeling  { };
+
+  faustStk = callPackage ../applications/audio/faustStk  { };
+
   fceux = callPackage ../misc/emulators/fceux { };
 
   flockit = callPackage ../tools/backup/flockit { };
@@ -31741,6 +31795,8 @@ in
 
   zenstates = callPackage ../os-specific/linux/zenstates {};
 
+  ryzenadj = callPackage ../os-specific/linux/ryzenadj {};
+
   vpsfree-client = callPackage ../tools/virtualization/vpsfree-client {};
 
   gpio-utils = callPackage ../os-specific/linux/kernel/gpio-utils.nix { };
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index 53af113eb307..b26dd1b1e59d 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -33,10 +33,17 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
   Fantomas = fetchNuGet {
     baseName = "Fantomas";
-    version = "1.6.0";
-    sha256 = "1b9rd3i76b5xzv0j62dvfr1ksdwvb59vxw6jhzpi018axjn6757q";
+    version = "4.4.0";
+    sha256 = "cYz0ewJdK9nRlMKmigk3IENfOXvJRhXJfLXshaqgZ6o=";
     outputFiles = [ "lib/*" ];
     dllFiles = [ "Fantomas*.dll" ];
+
+    meta = with lib; {
+      description = "FSharp source code formatter";
+      homepage = "https://github.com/fsprojects/fantomas";
+      license = licenses.asl20;
+      maintainers = [ maintainers.ratsclub ];
+    };
   };
 
   FSharpCompilerCodeDom = fetchNuGet {
@@ -74,6 +81,20 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     outputFiles = [ "*" ];
   };
 
+  FSharpData = fetchNuGet {
+    baseName = "FSharp.Data";
+    version = "4.1.1";
+    sha256 = "0ytjiQi8vQQU51JYexnC13Bi7NqVmLRzM75SOZ+hhQU=";
+    outputFiles = [ "lib/*" ];
+
+    meta = with lib; {
+      description = "F# Data: Library for Data Access";
+      homepage = "https://fsprojects.github.io/FSharp.Data/";
+      license = licenses.asl20;
+      maintainers = [ maintainers.ratsclub ];
+    };
+  };
+
   FSharpData225 = fetchNuGet {
     baseName = "FSharp.Data";
     version = "2.2.5";
@@ -609,50 +630,6 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     };
   };
 
-  FSharpData = buildDotnetPackage rec {
-    baseName = "FSharp.Data";
-    version = "2.2.3";
-
-    src = fetchFromGitHub {
-      owner = "fsharp";
-      repo = baseName;
-      rev = version;
-      sha256 = "1h3v9rc8k0khp61cv5n01larqbxd3xcx3q52sw5zf9l0661vw7qr";
-    };
-
-    buildInputs = [ fsharp ];
-
-    fileProvidedTypes = fetchurl {
-      name = "ProvidedTypes.fs";
-      url = "https://raw.githubusercontent.com/fsprojects/FSharp.TypeProviders.StarterPack/877014bfa6244ac382642e113d7cd6c9bc27bc6d/src/ProvidedTypes.fs";
-      sha256 = "1lb056v1xld1rfx6a8p8i2jz8i6qa2r2823n5izsf1qg1qgf2980";
-    };
-
-    fileDebugProvidedTypes = fetchurl {
-      name = "DebugProvidedTypes.fs";
-      url = "https://raw.githubusercontent.com/fsprojects/FSharp.TypeProviders.StarterPack/877014bfa6244ac382642e113d7cd6c9bc27bc6d/src/DebugProvidedTypes.fs";
-      sha256 = "1whyrf2jv6fs7kgysn2086v15ggjsd54g1xfs398mp46m0nxp91f";
-    };
-
-    preConfigure = ''
-       # Copy single-files-in-git-repos
-       mkdir -p "paket-files/fsprojects/FSharp.TypeProviders.StarterPack/src"
-       cp -v "${fileProvidedTypes}" "paket-files/fsprojects/FSharp.TypeProviders.StarterPack/src/ProvidedTypes.fs"
-       cp -v "${fileDebugProvidedTypes}" "paket-files/fsprojects/FSharp.TypeProviders.StarterPack/src/DebugProvidedTypes.fs"
-    '';
-
-    xBuildFiles = [ "src/FSharp.Data.fsproj" "src/FSharp.Data.DesignTime.fsproj" ];
-    outputFiles = [ "bin/*.dll" "bin/*.xml" ];
-
-    meta = {
-      description = "F# Data: Library for Data Access";
-      homepage = "https://fsharp.github.io/FSharp.Data/";
-      license = lib.licenses.asl20;
-      maintainers = with lib.maintainers; [ obadz ];
-      platforms = with lib.platforms; linux;
-    };
-  };
-
   # FSharpxExtras = buildDotnetPackage rec {
   #   baseName = "FSharpx.Extras";
   #   version = "1.8.41";
@@ -970,4 +947,18 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
     };
   };
 
+  YamlDotNet = fetchNuGet {
+    baseName = "YamlDotNet";
+    version = "11.1.1";
+    sha256 = "rwZ/QyDVrN3wGrEYKY3QY5Xqo2Tp3FkR6dh4QrC+QS0=";
+    outputFiles = [ "lib/*" ];
+
+    meta = with lib; {
+      description = "YamlDotNet is a .NET library for YAML";
+      homepage = "https://github.com/aaubry/YamlDotNet";
+      license = licenses.mit;
+      maintainers = [ maintainers.ratsclub ];
+    };
+  };
+
 }; in self
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index fe8eee65d0c3..92894bf7a3bb 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -191,6 +191,8 @@ let
 
     containers-data = callPackage ../development/ocaml-modules/containers/data.nix { };
 
+    cooltt = callPackage ../development/ocaml-modules/cooltt { };
+
     cow = callPackage ../development/ocaml-modules/cow { };
 
     cpdf = callPackage ../development/ocaml-modules/cpdf { };
@@ -643,6 +645,10 @@ let
 
     menhir = callPackage ../development/ocaml-modules/menhir { };
 
+    menhirLib = callPackage ../development/ocaml-modules/menhir/lib.nix { };
+
+    menhirSdk = callPackage ../development/ocaml-modules/menhir/sdk.nix { };
+
     merlin =
       if lib.versionAtLeast ocaml.version "4.11"
       then callPackage ../development/tools/ocaml/merlin/4.x.nix { }
@@ -1169,6 +1175,8 @@ let
 
     ssl = callPackage ../development/ocaml-modules/ssl { };
 
+    stdcompat = callPackage ../development/ocaml-modules/stdcompat { };
+
     stdlib-shims = callPackage ../development/ocaml-modules/stdlib-shims { };
 
     stog = callPackage ../applications/misc/stog { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d39487bf1ec7..35935450e2a9 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -223,6 +223,10 @@ in {
 
   agent-py = callPackage ../development/python-modules/agent-py { };
 
+  aio-georss-client = callPackage ../development/python-modules/aio-georss-client { };
+
+  aio-georss-gdacs = callPackage ../development/python-modules/aio-georss-gdacs { };
+
   aioambient = callPackage ../development/python-modules/aioambient { };
 
   ailment = callPackage ../development/python-modules/ailment { };
@@ -2195,6 +2199,8 @@ in {
 
   elementpath = callPackage ../development/python-modules/elementpath { };
 
+  elevate = callPackage ../development/python-modules/elevate { };
+
   eliot = callPackage ../development/python-modules/eliot { };
 
   elmax = callPackage ../development/python-modules/elmax { };
@@ -2740,6 +2746,22 @@ in {
 
   geopy = callPackage ../development/python-modules/geopy { };
 
+  georss-client = callPackage ../development/python-modules/georss-client { };
+
+  georss-generic-client = callPackage ../development/python-modules/georss-generic-client { };
+
+  georss-ign-sismologia-client = callPackage ../development/python-modules/georss-ign-sismologia-client { };
+
+  georss-ingv-centro-nazionale-terremoti-client = callPackage ../development/python-modules/georss-ingv-centro-nazionale-terremoti-client { };
+
+  georss-nrcan-earthquakes-client = callPackage ../development/python-modules/georss-nrcan-earthquakes-client { };
+
+  georss-qld-bushfire-alert-client = callPackage ../development/python-modules/georss-qld-bushfire-alert-client { };
+
+  georss-tfs-incidents-client = callPackage ../development/python-modules/georss-tfs-incidents-client { };
+
+  georss-wa-dfes-client = callPackage ../development/python-modules/georss-wa-dfes-client { };
+
   getmac = callPackage ../development/python-modules/getmac { };
 
   getkey = callPackage ../development/python-modules/getkey { };
@@ -7892,6 +7914,8 @@ in {
 
   sphinxcontrib-devhelp = callPackage ../development/python-modules/sphinxcontrib-devhelp { };
 
+  sphinxcontrib-excel-table = callPackage ../development/python-modules/sphinxcontrib-excel-table { };
+
   sphinxcontrib-fulltoc = callPackage ../development/python-modules/sphinxcontrib-fulltoc { };
 
   sphinxcontrib-htmlhelp = callPackage ../development/python-modules/sphinxcontrib-htmlhelp { };
@@ -8074,6 +8098,8 @@ in {
 
   subdownloader = callPackage ../development/python-modules/subdownloader { };
 
+  subliminal = callPackage ../development/python-modules/subliminal { };
+
   subunit = callPackage ../development/python-modules/subunit {
     inherit (pkgs) subunit cppunit check;
   };