summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/audio/adlplug/default.nix90
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix6
-rw-r--r--pkgs/applications/audio/munt/default.nix53
-rw-r--r--pkgs/applications/audio/openmpt123/default.nix15
-rw-r--r--pkgs/applications/audio/uade123/default.nix75
-rw-r--r--pkgs/applications/blockchains/faraday/default.nix8
-rw-r--r--pkgs/applications/blockchains/go-ethereum.nix6
-rw-r--r--pkgs/applications/blockchains/lightning-loop/default.nix27
-rw-r--r--pkgs/applications/blockchains/lightning-pool/default.nix27
-rw-r--r--pkgs/applications/blockchains/lnd.nix6
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix10
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix10
-rw-r--r--pkgs/applications/kde/kmail.nix115
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix21
-rw-r--r--pkgs/applications/misc/hubstaff/revision.json5
-rwxr-xr-xpkgs/applications/misc/hubstaff/update.sh18
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/neo4j-desktop/default.nix32
-rw-r--r--pkgs/applications/misc/nwg-menu/default.nix48
-rw-r--r--pkgs/applications/misc/printrun/default.nix12
-rw-r--r--pkgs/applications/networking/appgate-sdp/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix9
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json6
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/mozilla.ascbin6109 -> 0 bytes
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix778
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/update.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix5
-rw-r--r--pkgs/applications/networking/browsers/firefox/update.nix16
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/bosh-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeone/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/octant/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/octant/desktop.nix6
-rwxr-xr-xpkgs/applications/networking/cluster/octant/update.sh2
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix8
-rw-r--r--pkgs/applications/networking/hyprspace/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/bluejeans/default.nix16
-rwxr-xr-xpkgs/applications/networking/instant-messengers/bluejeans/update.sh12
-rw-r--r--pkgs/applications/networking/mailreaders/mailspring/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix2
-rw-r--r--pkgs/applications/networking/testssl/default.nix6
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/science/math/gurobi/default.nix27
-rw-r--r--pkgs/applications/version-management/git-and-tools/ghr/default.nix6
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/video/mplayer/default.nix1
-rw-r--r--pkgs/applications/virtualization/podman/default.nix10
-rw-r--r--pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch23
-rw-r--r--pkgs/common-updater/unstable-updater.nix8
-rw-r--r--pkgs/data/fonts/times-newer-roman/default.nix25
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/themes/yaru/default.nix21
-rw-r--r--pkgs/desktops/gnome/extensions/dash-to-panel/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/system-monitor/default.nix8
-rw-r--r--pkgs/desktops/xfce/applications/catfish/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/gigolo/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/mousepad/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/orage/default.nix4
-rw-r--r--pkgs/desktops/xfce/applications/parole/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/ristretto/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfburn/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-dict/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-terminal/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix2
-rw-r--r--pkgs/desktops/xfce/applications/xfdashboard/default.nix2
-rw-r--r--pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix2
-rw-r--r--pkgs/desktops/xfce/art/xfwm4-themes/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/exo/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/garcon/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/libxfce4ui/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/libxfce4util/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar-volman/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/thunar/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/tumbler/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-appfinder/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-power-manager/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-session/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfconf/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfdesktop/default.nix2
-rw-r--r--pkgs/desktops/xfce/core/xfwm4/default.nix2
-rw-r--r--pkgs/desktops/xfce/mkXfceDerivation.nix1
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix2
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/archive/default.nix2
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix2
-rw-r--r--pkgs/development/compilers/gleam/default.nix6
-rw-r--r--pkgs/development/compilers/kotlin/default.nix3
-rw-r--r--pkgs/development/compilers/scryer-prolog/cargo.patch101
-rw-r--r--pkgs/development/compilers/scryer-prolog/default.nix36
-rw-r--r--pkgs/development/compilers/terra/default.nix92
-rw-r--r--pkgs/development/compilers/terra/nix-cflags.patch11
-rw-r--r--pkgs/development/coq-modules/VST/default.nix4
-rw-r--r--pkgs/development/coq-modules/compcert/default.nix3
-rw-r--r--pkgs/development/guile-modules/guile-gcrypt/default.nix45
-rw-r--r--pkgs/development/guile-modules/guile-json/default.nix39
-rw-r--r--pkgs/development/haskell-modules/HACKING.md59
-rw-r--r--pkgs/development/haskell-modules/configuration-arm.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix32
-rw-r--r--pkgs/development/haskell-modules/configuration-darwin.nix1
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml16
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml7
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml156
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml11
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix24
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix8
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2183
-rw-r--r--pkgs/development/haskell-modules/hoogle.nix7
-rw-r--r--pkgs/development/haskell-modules/non-hackage-packages.nix2
-rw-r--r--pkgs/development/interpreters/erlang/R22.nix4
-rw-r--r--pkgs/development/libraries/drogon/default.nix50
-rw-r--r--pkgs/development/libraries/drogon/no_cmake_test.patch42
-rw-r--r--pkgs/development/libraries/exiv2/default.nix26
-rw-r--r--pkgs/development/libraries/hwloc/default.nix14
-rw-r--r--pkgs/development/libraries/libbencodetools/default.nix30
-rw-r--r--pkgs/development/libraries/libmbim/default.nix5
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix14
-rw-r--r--pkgs/development/libraries/libvori/default.nix21
-rw-r--r--pkgs/development/libraries/science/math/libtorch/bin.nix2
-rw-r--r--pkgs/development/libraries/science/math/libtorch/binary-hashes.nix6
-rw-r--r--pkgs/development/libraries/science/math/tensorflow-lite/default.nix15
-rw-r--r--pkgs/development/ocaml-modules/bz2/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/tls/async.nix21
-rw-r--r--pkgs/development/ocaml-modules/tls/default.nix47
-rw-r--r--pkgs/development/ocaml-modules/tls/mirage.nix20
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosmb/default.nix4
-rw-r--r--pkgs/development/python-modules/calmjs-parse/default.nix49
-rw-r--r--pkgs/development/python-modules/doorbirdpy/default.nix32
-rw-r--r--pkgs/development/python-modules/eebrightbox/default.nix58
-rw-r--r--pkgs/development/python-modules/elgato/default.nix56
-rw-r--r--pkgs/development/python-modules/emulated-roku/default.nix33
-rw-r--r--pkgs/development/python-modules/enocean/default.nix51
-rw-r--r--pkgs/development/python-modules/epson-projector/default.nix42
-rw-r--r--pkgs/development/python-modules/gurobipy/linux.nix47
-rw-r--r--pkgs/development/python-modules/gurobipy/no-clever-setup.patch24
-rw-r--r--pkgs/development/python-modules/habitipy/default.nix47
-rw-r--r--pkgs/development/python-modules/hangups/default.nix70
-rw-r--r--pkgs/development/python-modules/impacket/default.nix10
-rw-r--r--pkgs/development/python-modules/minio/default.nix4
-rw-r--r--pkgs/development/python-modules/pecan/default.nix14
-rw-r--r--pkgs/development/python-modules/pmsensor/default.nix34
-rw-r--r--pkgs/development/python-modules/pydaikin/default.nix6
-rw-r--r--pkgs/development/python-modules/pyheos/default.nix37
-rw-r--r--pkgs/development/python-modules/pyhiveapi/default.nix63
-rw-r--r--pkgs/development/python-modules/pymfy/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-subprocess/default.nix8
-rw-r--r--pkgs/development/python-modules/python-ecobee-api/default.nix31
-rw-r--r--pkgs/development/python-modules/python-gitlab/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch/bin.nix2
-rw-r--r--pkgs/development/python-modules/pytorch/binary-hashes.nix6
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix4
-rw-r--r--pkgs/development/python-modules/pyyaml-env-tag/default.nix36
-rw-r--r--pkgs/development/python-modules/readlike/default.nix28
-rw-r--r--pkgs/development/python-modules/reparser/default.nix31
-rw-r--r--pkgs/development/python-modules/restfly/default.nix9
-rw-r--r--pkgs/development/python-modules/sense-energy/default.nix39
-rw-r--r--pkgs/development/python-modules/unasync/default.nix45
-rw-r--r--pkgs/development/python-modules/xknx/default.nix5
-rw-r--r--pkgs/development/python-modules/xtensor-python/default.nix40
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/nix-linter/default.nix15
-rw-r--r--pkgs/development/tools/documentation/mkdocs/default.nix61
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/go-toml/default.nix4
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/gosec/default.nix6
-rw-r--r--pkgs/development/tools/ktlint/default.nix8
-rw-r--r--pkgs/development/tools/kustomize/kustomize-sops.nix6
-rw-r--r--pkgs/development/tools/misc/ccache/default.nix6
-rw-r--r--pkgs/development/tools/misc/terraform-ls/default.nix6
-rw-r--r--pkgs/development/tools/misc/texlab/default.nix6
-rw-r--r--pkgs/development/tools/misc/unused/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-cache/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-udeps/default.nix11
-rw-r--r--pkgs/development/tools/stylua/default.nix6
-rw-r--r--pkgs/games/blackshades/default.nix41
-rwxr-xr-xpkgs/games/factorio/update.py6
-rw-r--r--pkgs/games/factorio/versions.json48
-rw-r--r--pkgs/misc/emulators/commanderx16/emulator.nix (renamed from pkgs/misc/emulators/commander-x16/emulator.nix)0
-rw-r--r--pkgs/misc/emulators/commanderx16/rom.nix (renamed from pkgs/misc/emulators/commander-x16/rom.nix)0
-rw-r--r--pkgs/misc/emulators/commanderx16/run.nix39
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix5
-rw-r--r--pkgs/misc/vscode-extensions/default.nix34
-rw-r--r--pkgs/os-specific/linux/kernel/linux-xanmod.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix30
-rw-r--r--pkgs/servers/home-assistant/default.nix27
-rw-r--r--pkgs/servers/imgproxy/default.nix6
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/jellyfin/default.nix4
-rw-r--r--pkgs/servers/jellyfin/web.nix4
-rw-r--r--pkgs/servers/web-apps/searx/default.nix10
-rw-r--r--pkgs/shells/hilbish/default.nix4
-rw-r--r--pkgs/shells/zsh/spaceship-prompt/default.nix31
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel10k/default.nix4
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch200
-rw-r--r--pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch200
-rw-r--r--pkgs/tools/audio/opl3bankeditor/common.nix69
-rw-r--r--pkgs/tools/audio/opl3bankeditor/default.nix30
-rw-r--r--pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix21
-rw-r--r--pkgs/tools/graphics/eplot/default.nix11
-rw-r--r--pkgs/tools/misc/asdf-vm/default.nix85
-rw-r--r--pkgs/tools/misc/broot/default.nix6
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix4
-rw-r--r--pkgs/tools/misc/discocss/default.nix7
-rw-r--r--pkgs/tools/misc/fselect/default.nix6
-rw-r--r--pkgs/tools/misc/infracost/default.nix25
-rw-r--r--pkgs/tools/misc/less/default.nix8
-rw-r--r--pkgs/tools/misc/ncdu/default.nix2
-rw-r--r--pkgs/tools/networking/connman/connman.nix6
-rw-r--r--pkgs/tools/networking/getmail6/default.nix14
-rw-r--r--pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock16
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix26
-rw-r--r--pkgs/tools/security/rekor/default.nix30
-rw-r--r--pkgs/tools/security/snallygaster/default.nix4
-rw-r--r--pkgs/tools/security/vault/default.nix4
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix10
-rw-r--r--pkgs/tools/system/gdu/default.nix10
-rw-r--r--pkgs/tools/text/vgrep/default.nix2
-rw-r--r--pkgs/tools/typesetting/tectonic/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix61
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix38
261 files changed, 4570 insertions, 2755 deletions
diff --git a/pkgs/applications/audio/adlplug/default.nix b/pkgs/applications/audio/adlplug/default.nix
index 9b0fe1d80ff35..a501cd0a1d883 100644
--- a/pkgs/applications/audio/adlplug/default.nix
+++ b/pkgs/applications/audio/adlplug/default.nix
@@ -1,19 +1,48 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, libjack2, alsa-lib
-, freetype, libX11, libXrandr, libXinerama, libXext, libXcursor
-, fetchpatch, fmt
-, adlplugChip ? "-DADLplug_CHIP=OPL3"
-, pname ? "ADLplug" }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, fmt
+, liblo
+, alsa-lib
+, freetype
+, libX11
+, libXrandr
+, libXinerama
+, libXext
+, libXcursor
+, libobjc
+, Cocoa
+, CoreServices
+, WebKit
+, DiscRecording
 
+  # Enabling JACK requires a JACK server at runtime, no fallback mechanism
+, withJack ? false, jack
+
+, type ? "ADL"
+}:
+
+assert lib.assertOneOf "type" type [ "ADL" "OPN" ];
+let
+  chip = {
+    ADL = "OPL3";
+    OPN = "OPN2";
+  }.${type};
+  mainProgram = "${type}plug";
+in
 stdenv.mkDerivation rec {
-  inherit pname;
+  pname = "${lib.strings.toLower type}plug";
   version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "jpcima";
     repo = "ADLplug";
     rev = "v${version}";
-    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
     fetchSubmodules = true;
+    sha256 = "0mqx4bzri8s880v7jwd24nb93m5i3aklqld0b3h0hjnz0lh2qz0f";
   };
 
   patches = [
@@ -25,19 +54,52 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  cmakeFlags = [ adlplugChip "-DADLplug_USE_SYSTEM_FMT=ON" ];
+  cmakeFlags = [
+    "-DADLplug_CHIP=${chip}"
+    "-DADLplug_USE_SYSTEM_FMT=ON"
+    "-DADLplug_Jack=${if withJack then "ON" else "OFF"}"
+  ];
+
+  NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin (toString [
+    "-isystem ${CoreServices}/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers"
+  ]);
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
 
   buildInputs = [
-    libjack2 alsa-lib freetype libX11 libXrandr libXinerama libXext
+    fmt
+    liblo
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    alsa-lib
+    freetype
+    libX11
+    libXrandr
+    libXinerama
+    libXext
     libXcursor
-  ];
-  nativeBuildInputs = [ cmake pkg-config fmt ];
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    libobjc
+    Cocoa
+    CoreServices
+    WebKit
+    DiscRecording
+  ] ++ lib.optional withJack jack;
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${mainProgram}.app $out/Applications/
+    ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+  '';
 
   meta = with lib; {
-    description = "OPL3 and OPN2 FM Chip Synthesizer";
+    inherit mainProgram;
+    description = "${chip} FM Chip Synthesizer";
     homepage = src.meta.homepage;
     license = licenses.boost;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
index b041d7e191026..6b272a408ab0e 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio3.nix
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
   ldLibraryPath = lib.strings.makeLibraryPath buildInputs;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp -r opt/bitwig-studio $out/libexec
     ln -s $out/libexec/bitwig-studio $out/bin/bitwig-studio
@@ -41,6 +43,8 @@ stdenv.mkDerivation rec {
     substitute usr/share/applications/bitwig-studio.desktop \
       $out/share/applications/bitwig-studio.desktop \
       --replace /usr/bin/bitwig-studio $out/bin/bitwig-studio
+
+      runHook postInstall
   '';
 
   postFixup = ''
@@ -57,7 +61,7 @@ stdenv.mkDerivation rec {
       wrapProgram $f \
         "''${gappsWrapperArgs[@]}" \
         --prefix PATH : "${binPath}" \
-        --prefix LD_LIBRARY_PATH : "${ldLibraryPath}"
+        --suffix LD_LIBRARY_PATH : "${ldLibraryPath}"
     done
 
   '';
diff --git a/pkgs/applications/audio/munt/default.nix b/pkgs/applications/audio/munt/default.nix
index 773a9178c0bce..191612700f415 100644
--- a/pkgs/applications/audio/munt/default.nix
+++ b/pkgs/applications/audio/munt/default.nix
@@ -1,38 +1,51 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qtbase, alsa-lib, makeDesktopItem, libjack2 }:
+{ lib
+, mkDerivation
+, stdenv
+, fetchFromGitHub
+, makeDesktopItem
+, cmake
+, pkg-config
+, qtbase
+, glib
+, alsa-lib
+, withJack ? stdenv.hostPlatform.isUnix, jack
+}:
 
 let
-  desktopItem = makeDesktopItem rec {
-    name = "Munt";
-    exec = "mt32emu-qt";
-    desktopName = name;
-    genericName = "Munt synthesiser";
-    categories = "Audio;AudioVideo;";
-  };
-in mkDerivation rec {
-  version = "2.4.1";
+  mainProgram = "mt32emu-qt";
+in
+mkDerivation rec {
   pname = "munt";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = with lib.versions; "libmt32emu_${major version}_${minor version}_${patch version}";
-    sha256 = "0bszhkbz24hhx32f973l6h5lkyn4lxhqrckiwmv765d1sba8n5bk";
+    rev = "munt_${lib.replaceChars [ "." ] [ "_" ] version}";
+    sha256 = "1lknq2a72gv1ddhzr7f967wpa12lh805jj4gjacdnamgrc1h22yn";
   };
 
-  postInstall = ''
-    ln -s ${desktopItem}/share/applications $out/share
-  '';
-
   dontFixCmake = true;
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase alsa-lib libjack2 ];
+  nativeBuildInputs = [ cmake pkg-config ];
+
+  buildInputs = [ qtbase glib ]
+    ++ lib.optional stdenv.hostPlatform.isLinux alsa-lib
+    ++ lib.optional withJack jack;
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/Applications
+    mv $out/bin/${mainProgram}.app $out/Applications/
+    wrapQtApp $out/Applications/${mainProgram}.app/Contents/MacOS/${mainProgram}
+    ln -s $out/{Applications/${mainProgram}.app/Contents/MacOS,bin}/${mainProgram}
+  '';
 
   meta = with lib; {
+    inherit mainProgram;
     description = "Multi-platform software synthesiser emulating Roland MT-32, CM-32L, CM-64 and LAPC-I devices";
     homepage = "http://munt.sourceforge.net/";
     license = with licenses; [ lgpl21 gpl3 ];
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/applications/audio/openmpt123/default.nix b/pkgs/applications/audio/openmpt123/default.nix
index a5ea91141c390..5d1888895166a 100644
--- a/pkgs/applications/audio/openmpt123/default.nix
+++ b/pkgs/applications/audio/openmpt123/default.nix
@@ -1,19 +1,16 @@
 { config, lib, stdenv, fetchurl, zlib, pkg-config, mpg123, libogg, libvorbis, portaudio, libsndfile, flac
 , usePulseAudio ? config.pulseaudio or false, libpulseaudio }:
 
-let
-  version = "0.5.8";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "openmpt123";
-  inherit version;
+  version = "0.5.9";
 
   src = fetchurl {
     url = "https://lib.openmpt.org/files/libopenmpt/src/libopenmpt-${version}+release.autotools.tar.gz";
-    sha256 = "sha256-KeLCEXS3P2fyul7naAjWLxgrEw5PcE7i2a6Cg5gtis0=";
+    sha256 = "0h86p8mnpm98vc4v6jbvrmm02fch7dnn332i26fg3a2s1738m04d";
   };
 
   enableParallelBuilding = true;
-  doCheck = true;
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ zlib mpg123 libogg libvorbis portaudio libsndfile flac ]
@@ -21,11 +18,13 @@ in stdenv.mkDerivation {
 
   configureFlags = lib.optional (!usePulseAudio) "--without-pulseaudio";
 
+  doCheck = true;
+
   meta = with lib; {
     description = "A cross-platform command-line based module file player";
     homepage = "https://lib.openmpt.org/libopenmpt/";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/audio/uade123/default.nix b/pkgs/applications/audio/uade123/default.nix
index 271f9f912ea83..8191fd381a4ba 100644
--- a/pkgs/applications/audio/uade123/default.nix
+++ b/pkgs/applications/audio/uade123/default.nix
@@ -1,25 +1,74 @@
-{ lib, stdenv, fetchurl, which, libao, pkg-config }:
+{ lib
+, stdenv
+, fetchFromGitLab
+, pkg-config
+, which
+, makeWrapper
+, libao
+, libbencodetools
+, sox
+, lame
+, flac
+, vorbis-tools
+}:
 
-let
-  version = "2.13";
-in stdenv.mkDerivation {
+stdenv.mkDerivation {
   pname = "uade123";
-  inherit version;
-  src = fetchurl {
-    url = "http://zakalwe.fi/uade/uade2/uade-${version}.tar.bz2";
-    sha256 = "04nn5li7xy4g5ysyjjngmv5d3ibxppkbb86m10vrvadzxdd4w69v";
+  version = "unstable-2021-05-21";
+
+  src = fetchFromGitLab {
+    owner = "uade-music-player";
+    repo = "uade";
+    rev = "7169a46e777d19957cd7ff8ac31843203e725ddc";
+    sha256 = "1dm7c924fy79y3wkb0qi71m1k6yw1x6j3whw7d0w4ka9hv6za03b";
   };
-  nativeBuildInputs = [ pkg-config which ];
-  buildInputs = [ libao ];
+
+  postPatch = ''
+    patchShebangs .
+    substituteInPlace src/frontends/mod2ogg/mod2ogg2.sh.in \
+      --replace '-e stat' '-n stat' \
+      --replace '/usr/local' "$out"
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+    which
+    makeWrapper
+  ];
+
+  buildInputs = [
+    libao
+    libbencodetools
+    sox
+    lame
+    flac
+    vorbis-tools
+  ];
+
+  configureFlags = [
+    "--bencode-tools-prefix=${libbencodetools}"
+  ];
 
   enableParallelBuilding = true;
+
   hardeningDisable = [ "format" ];
 
+  postInstall = ''
+    wrapProgram $out/bin/mod2ogg2.sh \
+      --prefix PATH : $out/bin:${lib.makeBinPath [ sox lame flac vorbis-tools ]}
+    # This is an old script, don't break expectations by renaming it
+    ln -s $out/bin/mod2ogg2{.sh,}
+  '';
+
   meta = with lib; {
     description = "Plays old Amiga tunes through UAE emulation and cloned m68k-assembler Eagleplayer API";
-    homepage = "http://zakalwe.fi/uade/";
-    license = licenses.gpl2;
-    maintainers = [ ];
+    homepage = "https://zakalwe.fi/uade/";
+    # It's a mix of licenses. "GPL", Public Domain, "LGPL", GPL2+, BSD, LGPL21+ and source code with unknown licenses. E.g.
+    # - hippel-coso player is "[not] under any Open Source certified license"
+    # - infogrames player is disassembled from Andi Silvas player, unknown license
+    # Let's make it easy and flag the whole package as unfree.
+    license = licenses.unfree;
+    maintainers = with maintainers; [ OPNA2608 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/blockchains/faraday/default.nix b/pkgs/applications/blockchains/faraday/default.nix
index 90d76e29b6b6e..76e91f2bbe556 100644
--- a/pkgs/applications/blockchains/faraday/default.nix
+++ b/pkgs/applications/blockchains/faraday/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "faraday";
-  version = "0.2.3-alpha";
+  version = "0.2.5-alpha";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "faraday";
     rev = "v${version}";
-    sha256 = "16cqaslsbwda23b5n0sfppybd3ma4ch545100ydxrwac4zhrq4kq";
+    sha256 = "16mz333a6awii6g46gr597j31jmgws4285s693q0b87fl1ggj2zz";
   };
 
-  vendorSha256 = "1hh99nfprlmhkc36arg3w1kxby59i2l7n258cp40niv7bjn37hrq";
+  vendorSha256 = "1nclmvypxp5436q6qaagp1k5bfmaia7hsykw47va0pijlsvsbmck";
 
   subPackages = [ "cmd/frcli" "cmd/faraday" ];
 
@@ -22,6 +22,6 @@ buildGoModule rec {
     description = "LND Channel Management Tools";
     homepage = "https://github.com/lightninglabs/faraday";
     license = licenses.mit;
-    maintainers = with maintainers; [ proofofkeags ];
+    maintainers = with maintainers; [ proofofkeags prusnak ];
   };
 }
diff --git a/pkgs/applications/blockchains/go-ethereum.nix b/pkgs/applications/blockchains/go-ethereum.nix
index 40f6946d14468..05bc2b824fc3e 100644
--- a/pkgs/applications/blockchains/go-ethereum.nix
+++ b/pkgs/applications/blockchains/go-ethereum.nix
@@ -9,17 +9,17 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.3";
+  version = "1.10.4";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-85aUR7MvaPeRilC+4oj6XW2IEUvxRUsVz63tQ/Jc7xw=";
+    sha256 = "sha256-DRlIiO3iXUsQnmOf5T9uk3560tVbS+Hrs8QtVkmllAI=";
   };
 
   runVend = true;
-  vendorSha256 = "sha256-8zhVQ8FUdzog7h9RBfuq8uBp0zjulXbDOLAPljp4deA=";
+  vendorSha256 = "sha256-a/vY9iyqSM9QPs7lGFF6E7e2cMjIerVkNf5KwiWdyr0=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/lightning-loop/default.nix b/pkgs/applications/blockchains/lightning-loop/default.nix
new file mode 100644
index 0000000000000..851a1b1d0400c
--- /dev/null
+++ b/pkgs/applications/blockchains/lightning-loop/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "lightning-loop";
+  version = "0.14.1-beta";
+
+  src = fetchFromGitHub {
+    owner = "lightninglabs";
+    repo = "loop";
+    rev = "v${version}";
+    sha256 = "0fnbf0cryrw9yk3z1g7innv1rxxk7h2lhfakdj994l5a0pgzghmy";
+  };
+
+  vendorSha256 = "1i7mmf4ab4a6h08df6zlyjdnmvn44i2y3fc05hq6g1ln1bzdrz40";
+
+  subPackages = [ "cmd/loop" "cmd/loopd" ];
+
+  meta = with lib; {
+    description = "Lightning Loop Client";
+    homepage = "https://github.com/lightninglabs/loop";
+    license = licenses.mit;
+    maintainers = with maintainers; [ proofofkeags prusnak ];
+  };
+}
diff --git a/pkgs/applications/blockchains/lightning-pool/default.nix b/pkgs/applications/blockchains/lightning-pool/default.nix
new file mode 100644
index 0000000000000..978509cc2379a
--- /dev/null
+++ b/pkgs/applications/blockchains/lightning-pool/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule
+, fetchFromGitHub
+, lib
+}:
+
+buildGoModule rec {
+  pname = "lightning-pool";
+  version = "0.5.0-alpha";
+
+  src = fetchFromGitHub {
+    owner = "lightninglabs";
+    repo = "pool";
+    rev = "v${version}";
+    sha256 = "0i8qkxnrx3a89aw3v0mx7przlldl8kc0ng6g1m435366y6nzdarb";
+  };
+
+  vendorSha256 = "04v2788w8l734n5xz6fwjbwkqlbk8q77nwncjpn7890mw75yd3rn";
+
+  subPackages = [ "cmd/pool" "cmd/poold" ];
+
+  meta = with lib; {
+    description = "Lightning Pool Client";
+    homepage = "https://github.com/lightninglabs/pool";
+    license = licenses.mit;
+    maintainers = with maintainers; [ proofofkeags prusnak ];
+  };
+}
diff --git a/pkgs/applications/blockchains/lnd.nix b/pkgs/applications/blockchains/lnd.nix
index 147d826dfa6f1..e8c6d14b3db83 100644
--- a/pkgs/applications/blockchains/lnd.nix
+++ b/pkgs/applications/blockchains/lnd.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "lnd";
-  version = "0.12.1-beta";
+  version = "0.13.0-beta";
 
   src = fetchFromGitHub {
     owner = "lightningnetwork";
     repo = "lnd";
     rev = "v${version}";
-    sha256 = "0ly6909cg0qzdsp9idp1g7zqd6liw7f142d7n7vga64s1ksvv6lx";
+    sha256 = "0fwidjkfzzd7k891x5z7jrx2arl0kwj6vm9z2acsyy7riv4zfjbq";
   };
 
-  vendorSha256 = "00q8dydskzg4rhxnnpzpbmmvc3q4wzm8z3dps2bv0nx3fk0fmrl3";
+  vendorSha256 = "19myr9f5zh05y6lagd9pra60y8df7pz837310cbpq9a6zzwpdxk2";
 
   subPackages = ["cmd/lncli" "cmd/lnd"];
 
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index 41f5f79de78ce..1a4b3e6c06167 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -13,16 +13,16 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1bj954kjwrk0nx8griy2y8gp7dys0wf610ki0jrby46mlvrmszs1";
-    x86_64-darwin = "1dqpz7qpnycd4b7iqg639rab3ds4m06m15rmyp7r70053qaw1s61";
-    aarch64-linux = "04ifmw39swdl6ybz6jpan2krsqli1kjyjnicjaisww8vhvhr2lzk";
-    armv7l-linux = "0y1rzn2jy4wrn2yr95v7zzyl36pj9mbz4dgvazvy465wzk5ai7b4";
+    x86_64-linux = "0cklp0mp7qylzrqnfbvzs308q0bzpswlqw5n98qhl1jb5783svx1";
+    x86_64-darwin = "04yyv0wpkzdjfiy9kj2jslhv7nc5i6nw2207vfnbzysgs55l3x63";
+    aarch64-linux = "1ygk51902g0q7x3r6kd3s7gi2gx86x10svpvbipl494qcyfngqzs";
+    armv7l-linux = "0z5rg1nl8lz7zsvml6dfz093dbyrkr4zvvfssqiyarw4n24d2mim";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.57.0";
+    version = "1.57.1";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index 1a31d4e56fab8..849f435eb3683 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -13,10 +13,10 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "1pjqw0chyhmamgnbih05ach94xgz6kglx7n958y2652ps2q5fzhw";
-    x86_64-darwin = "0k9rinsy0zz48pxprkyxshksgh6shk1h69fkrdi2q0f4mkvzmi3a";
-    aarch64-linux = "0hd3kxg5pwkf0rhbq4f246x82nic24splpqj4h68qfw856p2zg7d";
-    armv7l-linux = "0219yagcdiv1n3xbbk1rs94n4zwfv9s70yqrc0all7jl5xl1mbwh";
+    x86_64-linux = "16s3hznyrz9w0cns8fk3pzk9ai5dj9y5p4n1rf3hrpg5hi9yxi5j";
+    x86_64-darwin = "133p032c8gv3hx4x7kxdfhz4xvkpjmjnvy02sf05dxqv5nly4xx4";
+    aarch64-linux = "183f674qyrlz0wqx6x48z6jhl8z30zmwsj8021hqi8px5ny99l1f";
+    armv7l-linux = "0rf3ybha861r5pfp6rvh21abfagaiwqlsbxm7fhphrc5382lmxbs";
   }.${system};
 
   sourceRoot = {
@@ -31,7 +31,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.57.0";
+    version = "1.57.1";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/kde/kmail.nix b/pkgs/applications/kde/kmail.nix
index d5d61694e6320..1a33eb2fe2032 100644
--- a/pkgs/applications/kde/kmail.nix
+++ b/pkgs/applications/kde/kmail.nix
@@ -1,14 +1,53 @@
-{
-  mkDerivation, lib, kdepimTeam,
-  extra-cmake-modules, kdoctools,
-  akonadi-search, kbookmarks, kcalutils, kcmutils, kcompletion, kconfig,
-  kconfigwidgets, kcoreaddons, libkdepim,
-  kdepim-runtime, kguiaddons, ki18n, kiconthemes, kinit, kio, kldap,
-  kmail-account-wizard, kmailtransport, knotifications, knotifyconfig,
-  kontactinterface, kparts, kpty, kservice, ktextwidgets, ktnef, kwallet,
-  kwidgetsaddons, kwindowsystem, kxmlgui, libgravatar, libksieve, mailcommon,
-  messagelib, pim-sieve-editor, qtscript, qtwebengine, akonadi, kdepim-addons,
-  qtkeychain, libsecret
+{ mkDerivation
+, lib
+, akonadi
+, akonadi-import-wizard
+, akonadi-search
+, extra-cmake-modules
+, kaddressbook
+, kbookmarks
+, kcalutils
+, kcmutils
+, kcompletion
+, kconfig
+, kconfigwidgets
+, kcoreaddons
+, kdepim-addons
+, kdepim-runtime
+, kdepimTeam
+, kdoctools
+, kguiaddons
+, ki18n
+, kiconthemes
+, kinit
+, kio
+, kldap
+, kleopatra
+, kmail-account-wizard
+, kmailtransport
+, knotifications
+, knotifyconfig
+, kontactinterface
+, kparts
+, kpty
+, kservice
+, ktextwidgets
+, ktnef
+, kwallet
+, kwidgetsaddons
+, kwindowsystem
+, kxmlgui
+, libgravatar
+, libkdepim
+, libksieve
+, libsecret
+, mailcommon
+, messagelib
+, pim-data-exporter
+, pim-sieve-editor
+, qtkeychain
+, qtscript
+, qtwebengine
 }:
 
 mkDerivation {
@@ -19,13 +58,53 @@ mkDerivation {
   };
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
-    akonadi-search kbookmarks kcalutils kcmutils kcompletion kconfig
-    kconfigwidgets kcoreaddons kguiaddons ki18n
-    kiconthemes kinit kio kldap kmail-account-wizard kmailtransport libkdepim
-    knotifications knotifyconfig kontactinterface kparts kpty kservice
-    ktextwidgets ktnef kwidgetsaddons kwindowsystem kxmlgui libgravatar
-    libksieve mailcommon messagelib pim-sieve-editor qtscript qtwebengine
-    kdepim-addons qtkeychain libsecret
+    akonadi-search
+    kbookmarks
+    kcalutils
+    kcmutils
+    kcompletion
+    kconfig
+    kconfigwidgets
+    kcoreaddons
+    kdepim-addons
+    kguiaddons
+    ki18n
+    kiconthemes
+    kinit
+    kio
+    kldap
+    kmail-account-wizard
+    kmailtransport
+    knotifications
+    knotifyconfig
+    kontactinterface
+    kparts
+    kpty
+    kservice
+    ktextwidgets
+    ktnef
+    kwidgetsaddons
+    kwindowsystem
+    kxmlgui
+    libgravatar
+    libkdepim
+    libksieve
+    libsecret
+    mailcommon
+    messagelib
+    pim-sieve-editor
+    qtkeychain
+    qtscript
+    qtwebengine
+    akonadi-import-wizard
+    kaddressbook
+    kleopatra
+    pim-data-exporter
   ];
+  outputs = [ "out" "doc" ];
   propagatedUserEnvPkgs = [ kdepim-runtime kwallet akonadi ];
+  postFixup = ''
+    wrapProgram "$out/bin/kmail" \
+      --prefix PATH : "${lib.makeBinPath [ akonadi akonadi-import-wizard kaddressbook kleopatra kmail-account-wizard pim-data-exporter ]}"
+  '';
 }
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
index f291ab898e3dd..1bc22b6613d46 100644
--- a/pkgs/applications/misc/hubstaff/default.nix
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -1,13 +1,12 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper, libX11, zlib, libSM, libICE
 , libXext , freetype, libXrender, fontconfig, libXft, libXinerama
 , libXfixes, libXScrnSaver, libnotify, glib , gtk3, libappindicator-gtk3
-, curl }:
+, curl, writeShellScript, common-updater-scripts }:
 
 let
-
-  data = builtins.fromJSON (builtins.readFile ./revision.json);
-
-  inherit (data) version url sha256;
+  url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.19-9e79d1da/Hubstaff-1.5.19-9e79d1da.sh";
+  version = "1.5.19-9e79d1da";
+  sha256 = "1l4sq8cblpl1kclkx5pgy0ldfmqa3n8bvdl5qml0n78r0lpk382j";
 
   rpath = lib.makeLibraryPath
     [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
@@ -56,6 +55,18 @@ stdenv.mkDerivation {
     ln -s $opt/data/resources $opt/x86_64/resources
   '';
 
+  updateScript = writeShellScript "hubstaff-updater" ''
+    set -eu -o pipefail
+
+    installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
+
+    version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
+
+    sha256=$(nix-prefetch-url "$installation_script_url")
+
+    ${common-updater-scripts}/bin/update-source-version hubstaff "$version" "$sha256" "$installation_script_url"
+  '';
+
   meta = with lib; {
     description = "Time tracking software";
     homepage = "https://hubstaff.com/";
diff --git a/pkgs/applications/misc/hubstaff/revision.json b/pkgs/applications/misc/hubstaff/revision.json
deleted file mode 100644
index 9b0ffe67f0cd7..0000000000000
--- a/pkgs/applications/misc/hubstaff/revision.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-  "url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.5.15-28673d1c/Hubstaff-1.5.15-28673d1c.sh",
-  "version": "1.5.15-28673d1c",
-  "sha256": "0ging41l3a3sdj6bggh913h71gqmb8l3rplp4civpgclnfzv7fg2"
-}
diff --git a/pkgs/applications/misc/hubstaff/update.sh b/pkgs/applications/misc/hubstaff/update.sh
deleted file mode 100755
index c4c1caf55db4d..0000000000000
--- a/pkgs/applications/misc/hubstaff/update.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p nix-prefetch-git curl
-
-SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")")
-
-installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
-
-version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
-
-sha256=$(nix-prefetch-url "$installation_script_url")
-
-cat <<EOT > $SCRIPT_DIR/revision.json
-{
-  "url": "$installation_script_url",
-  "version": "$version",
-  "sha256": "$sha256"
-}
-EOT
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index b8ea6b83b907d..9834e91309da6 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.83.1";
+  version = "0.84.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-c9T3a6J78uLumBTy/DgE4gbxCmEXVGKd9JyF9dyrL6g=";
+    sha256 = "sha256-BRp4iboiaoB6zFwleFSJ7oVAd3o6OiR5BB4VRQilExc=";
   };
 
-  vendorSha256 = "sha256-ddCyMmZ5RIZWzT2RYNnSW795oR7PIRudl3QTjsXtBGk=";
+  vendorSha256 = "sha256-jY/g92ON5OxjuZzPHJNduXYMgPU8/0ioAYvp4iqjGnU=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/neo4j-desktop/default.nix b/pkgs/applications/misc/neo4j-desktop/default.nix
new file mode 100644
index 0000000000000..045f0db42fe8c
--- /dev/null
+++ b/pkgs/applications/misc/neo4j-desktop/default.nix
@@ -0,0 +1,32 @@
+{ appimageTools, lib, fetchurl }:
+let
+  pname = "neo4j-desktop";
+  version = "1.4.5";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://s3-eu-west-1.amazonaws.com/dist.neo4j.org/${pname}/linux-offline/${name}-x86_64.AppImage";
+    sha256 = "sha256-TCkjYhvGhgqgrDEMvC4Ww/sDxRhHC70YgfDlCIFitMo";
+  };
+
+  appimageContents = appimageTools.extract { inherit src; name = pname; };
+in appimageTools.wrapType2 {
+  inherit name src;
+
+  extraPkgs = pkgs: with pkgs; [ libsecret ];
+
+  extraInstallCommands = ''
+    install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+    cp -r ${appimageContents}/usr/share/icons $out/share
+  '';
+
+  meta = with lib; {
+    description = "A GUI front-end for Neo4j";
+    homepage = "https://neo4j.com/";
+    license = licenses.unfree;
+    maintainers = [ maintainers.bobvanderlinden ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/nwg-menu/default.nix b/pkgs/applications/misc/nwg-menu/default.nix
new file mode 100644
index 0000000000000..5c4b508bb6bd5
--- /dev/null
+++ b/pkgs/applications/misc/nwg-menu/default.nix
@@ -0,0 +1,48 @@
+{ lib, fetchFromGitHub
+, buildGoModule, pkg-config, wrapGAppsHook, gobject-introspection
+, gtk-layer-shell, gtk3, pango, gdk-pixbuf, atk
+}:
+
+buildGoModule rec {
+  pname = "nwg-menu";
+  version = "unstable-2021-06-12";
+
+  src = fetchFromGitHub {
+    owner = "nwg-piotr";
+    repo = "nwg-menu";
+    rev = "b0746e26514a047ed9c6b975a71b7263aa39bd56";
+    hash = "sha256-rxyf3CfpfWnRAlIR/pl+s7LGAZbZjdtNWPPK7BecdhQ=";
+  };
+
+  vendorSha256 = "sha256-nN5iBleK12SKY9PBiDA+tM4B8FiVGZLXbtJM2+YrEfA=";
+
+  runVend = true;
+
+  doCheck = false;
+
+  buildInputs = [ atk gtk3 gdk-pixbuf gtk-layer-shell pango ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook gobject-introspection ];
+
+  prePatch = ''
+    for file in main.go tools.go; do
+      substituteInPlace $file --replace '/usr/share/nwg-menu' $out/share
+    done
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/
+    cp menu-start.css $out/share/
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(--prefix XDG_DATA_DIRS : "$out/share")
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/nwg-piotr/nwg-menu";
+    description = "MenuStart plugin for nwg-panel";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ berbiche ];
+  };
+}
diff --git a/pkgs/applications/misc/printrun/default.nix b/pkgs/applications/misc/printrun/default.nix
index 631609551306d..7ae8662e2c199 100644
--- a/pkgs/applications/misc/printrun/default.nix
+++ b/pkgs/applications/misc/printrun/default.nix
@@ -1,4 +1,4 @@
-{ lib, python3Packages, fetchFromGitHub }:
+{ lib, python3Packages, fetchFromGitHub, glib, wrapGAppsHook }:
 
 python3Packages.buildPythonApplication rec {
   pname = "printrun";
@@ -11,6 +11,8 @@ python3Packages.buildPythonApplication rec {
     sha256 = "179x8lwrw2h7cxnkq7izny6qcb4nhjnd8zx893i77zfhzsa6kx81";
   };
 
+  nativeBuildInputs = [ glib wrapGAppsHook ];
+
   propagatedBuildInputs = with python3Packages; [
     appdirs cython dbus-python numpy six wxPython_4_0 psutil pyglet pyopengl pyserial
   ];
@@ -29,6 +31,14 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
+  dontWrapGApps = true;
+  # https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   meta = with lib; {
     description = "Pronterface, Pronsole, and Printcore - Pure Python 3d printing host software";
     homepage = "https://github.com/kliment/Printrun";
diff --git a/pkgs/applications/networking/appgate-sdp/default.nix b/pkgs/applications/networking/appgate-sdp/default.nix
index 2f52a432f4be6..5977b86d09302 100644
--- a/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/pkgs/applications/networking/appgate-sdp/default.nix
@@ -99,11 +99,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "appgate-sdp";
-  version = "5.4.0";
+  version = "5.4.2";
 
   src = fetchurl {
     url = "https://bin.appgate-sdp.com/${lib.versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
-    sha256 = "sha256-2DzZ5JnFGBeaHtDf7CAXb/qv6kVI+sYMW5Nc25E3eNA=";
+    sha256 = "sha256-wAhcTRO/Cd4MG1lfPNDq92yGcu3NOfymucddy92VaXo=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 156932aa13f1d..d036f086b038f 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -92,9 +92,10 @@ let
   };
 
   defaultDependencies = [
+    (libpng.override { apngSupport = false; }) # https://bugs.chromium.org/p/chromium/issues/detail?id=752403
     bzip2 flac speex opusWithCustomModes
     libevent expat libjpeg snappy
-    libpng libcap
+    libcap
     xdg-utils minizip libwebp
     libusb1 re2
     ffmpeg libxslt libxml2
@@ -174,6 +175,12 @@ let
         sha256 = "1bxdhxmiy6h4acq26lq43x2mxx6rawmfmlgsh5j7w8kyhkw5af0c";
         revert = true;
       })
+      # To fix building from a release tarball (which we do):
+      (githubPatch {
+        # Revert back to generating chromium_git_revision.h via version.py
+        commit = "bd524d08f8465364d12d32a84fd1aa983aecc502";
+        sha256 = "1jsxidg5jzwkrcpx3lylx4gyg56zjyd7sc957kaaqqc853bn83b4";
+      })
     ];
 
     postPatch = ''
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 717bda8a297c6..377dd17afaa53 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "91.0.4472.106",
-    "sha256": "1fxy1l2dl0f6v8566lykcng18ma6fv4nlwxmdb0hh06fgp6khpjl",
-    "sha256bin64": "11l88fqrl1r7b02j78zgrr6kajayl8kw8mb8b91ard18w5kz1xvd",
+    "version": "91.0.4472.114",
+    "sha256": "0wbyiwbdazgjjgj9vs56x26q3g9r80a57gfl0f2rfl1j7xwgxiy1",
+    "sha256bin64": "00ac1dyqxpxy1j11jvc5j35bgc629n2f2pll3912gzih4ir0vrys",
     "deps": {
       "gn": {
         "version": "2021-04-06",
diff --git a/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc b/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc
deleted file mode 100644
index dc58eb8d56ab0..0000000000000
--- a/pkgs/applications/networking/browsers/firefox-bin/mozilla.asc
+++ /dev/null
Binary files differdiff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 136c2c4c71774..08d928698eba2 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,975 +1,975 @@
 {
-  version = "89.0";
+  version = "89.0.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ach/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ach/firefox-89.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "f55831518c6d1a590a48093a5737862418b543d3349c6fe0418d378cc78846d6";
+      sha256 = "c3aef53650698b0787288ff519f6a277af0a0a8010b39602884c81fa7a7aec21";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/af/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/af/firefox-89.0.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "a124ce560aabae43fa0fe7b5c2c88f286839bb01ef94185faae640ce8937afe6";
+      sha256 = "c0d332895fdc0d9490ab437fbf7579ae583fd4df632072626a5b6884a5e32d0c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/an/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/an/firefox-89.0.1.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "f2624d37b96a23d447dc16ea8b8a627db2cb497945d0c4cbe20cc20570d579e3";
+      sha256 = "f13cc741afbf2df7ce964d7cbff4c5e1786c0bfc70a899b0a41c949739e857c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ar/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ar/firefox-89.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "c01e143107753ea3363e6f8f0ca77c12f9f4803da342578c15c94554ca6d946d";
+      sha256 = "cfd8e7fc3a3bd4802a8c500e36a5936853148258add8f28f7a846e589dc40340";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ast/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ast/firefox-89.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "d2bfb999bdb31daffee3774ba1f940a84ae5f4ca846a03852181b2ebb5ec9b10";
+      sha256 = "6f3095de843fa761b6b277cefcfd9f21d2a13cba06ae8f73acc28d9593bdaa3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/az/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/az/firefox-89.0.1.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "61c408e9333730c5cee83c48c8d0e1aa20c62b76e32159b68d0e529e92cf15d4";
+      sha256 = "9d3a112af9f8d5f7860a9bba0a47cc38fc569df8c005dee2922764b5b5174976";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/be/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/be/firefox-89.0.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "5d53d478b0728e9bfc0445e9a9a6373e0105e416ed98f50398fcc8d6466e9690";
+      sha256 = "b75d5f6c580105db60c9eefd4224507009a27fb71f666ec779ae0855c9dd51ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/bg/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/bg/firefox-89.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "0dce261fd2be11436ab182de4bd78ebf50da9f9cb439d100063e714b2e55cfc8";
+      sha256 = "4b20c10d83e8be019ae2feb0e44b8c53f6d6fb38e350b5684de6453f505bbefd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/bn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/bn/firefox-89.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "9d1dff74b8ee7d4e81900e079921b06ff332c3db1affe9691a23db74aa2e2990";
+      sha256 = "e651db4085b62a6be588c5a4794a0969abd9c6522e9cd5cdf8b7d7a88ca45066";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/br/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/br/firefox-89.0.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "db9c9c3db5636d1bc10e3ae627f37c1c55716debaec4e68d9b2e6771801802a6";
+      sha256 = "14a82b5bac08712c8f3c061b6486ecc53e9aaa4a4191f0b033b67c74f46042a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/bs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/bs/firefox-89.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "202a5b093879193327673a39f0f217323f0c0e2ede9f586fde0fe224b0bc034e";
+      sha256 = "4491e4c2e3761656c974c5bf013d27df37bd051b7c55bd124ee166eb38e43a75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ca-valencia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ca-valencia/firefox-89.0.1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "d607a4d86c66b8aeb74724e29ffdf22d287ba729b7962db19cdc64f6d03a8004";
+      sha256 = "8c66eea840003100f62930f4fa41cf778e332b2b1e4e7dc6c3db944435b6b0d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ca/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ca/firefox-89.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "8a2c7d2b455f31b868779cd2254fc130ce4f84f6935f127c0c6a0dae85daabfc";
+      sha256 = "421c40f813c13ada56f11aa3d2a2251a50cf4a624ab0258eb966e5d7a602c7a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/cak/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/cak/firefox-89.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "e631bfdc8a6a71973b16bee03221ee882ac28a289e8ff92ee3319e05c0260d5b";
+      sha256 = "368acab2f5633d72ade605dd6f282a4770ad158886a798f7c0436fb6d81a6aa3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/cs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/cs/firefox-89.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "c08e64765f30591e3b4aeb4721e7f149b299dc19069476d0af453e38b2b68926";
+      sha256 = "f9f1e33011abe037ddd72f49a5fe9234935854e71fff37e7d3cf64650f3bf7de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/cy/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/cy/firefox-89.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "da30c1b07a2c1eb840d87da41cf36b4e0bbdfa2df6f82c9f4562e460a742b9f0";
+      sha256 = "7c872591f802cf9debd4cbedfa2c61c2c4388c4593d29bee5d6592ae2244eb6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/da/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/da/firefox-89.0.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "8263b20f80c5bad2dcf571c7cd71c0875a41e41550fa4b9062e90de1a544b81e";
+      sha256 = "407fd6bb4c8ffcbc90918002e7ea87a03b055f28e9e349bb46fe1d9b4799ea23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/de/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/de/firefox-89.0.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "122d301da28d961efd7418d925a6ed0a99c302c3935f94dff6b36129454d171b";
+      sha256 = "81cf44731ee862132542435c32835172857aa031ec49c324747eec0be168b695";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/dsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/dsb/firefox-89.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "7f4a167e9ba002628aac487f55d1f8b549257da18abb58938d250b16ae086597";
+      sha256 = "1f98eeb01f0e124e114b6f001dfcded4dc9daef818e90824b1af69af9a6c6309";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/el/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/el/firefox-89.0.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "51f50c9f3c9c8857d2fd155129ccad90e59343d120514d90c4adba8876547662";
+      sha256 = "2e425b25e309bf4d34db4bd22158d6cd3381512c7b2b271eea4911504926ff1d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/en-CA/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/en-CA/firefox-89.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "990bd24aed34581e0c477737327867582a2995b6e69f601d4be967d49140be64";
+      sha256 = "859fadc75c82575e2240b8c26889185417c8402d49c67b825bae5541cdc3af72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/en-GB/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/en-GB/firefox-89.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "c56e3405009e405e565fb3dd69b8b6a22894cea9002568b2cf88b820d0f7d6db";
+      sha256 = "82e3b6f5aa9038e06fc09493ca5cc3d0bd89fcfb3f7ceb2349144c0173e64cd9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/en-US/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/en-US/firefox-89.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "5011b87e0795de19a05694b06965435c6896c907d51a31631e9c8d427602d159";
+      sha256 = "4c410dcec55127325de16414860b07be84d416e409db818d5cf0124b35b35d1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/eo/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/eo/firefox-89.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "c6554905a466dc9d117bb91aaf0be3e0030467b492d44ef3374f01219d7bf0e1";
+      sha256 = "6eb0f001d9404d403af865883e540fa022937b1cf004afb127b80dc8c9b7cd7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-AR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-AR/firefox-89.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "91e72c2251d2740129baac9d34ffa54b8b0631c5951b1b667f4e58d0c86ed1d5";
+      sha256 = "3446f80af21e7debdefd0a1a075cea17e01b38f72f645c5a29523462c61c85d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-CL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-CL/firefox-89.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "b719701fffa142991f78aae717a247c6b5310d9dc4832757a773b077be0bfc16";
+      sha256 = "47aeea3b0f75b1c03aef60b8e7d3d35c3ae90e55aa1c226df15236066184bb4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-ES/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-ES/firefox-89.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "a4153f99eacb4cc4fe647e9285b76800ed1208e988a6ddb148bc4cdefbe23f55";
+      sha256 = "f5caf9a3401262eacda0d47fc42c721306e6b094ef8b6a6cbe09081f220c6324";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/es-MX/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/es-MX/firefox-89.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "fce8b910fe58b8096a36ce28289f8125dc9074c02655ed5df1d1bfd97a67d2e3";
+      sha256 = "8ed0bc34cfee4e698b287fa67b2112da389d3037d1f0a5abce2002574f162bed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/et/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/et/firefox-89.0.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "07165b740a9772c1ac102cdcac3d26aedef5beb6db8b3f222b4bdbd6abdb2fe2";
+      sha256 = "a0239ff7b8d7a6e8e7fd32553612e060a27f75fe846fa6123aacae5d718869ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/eu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/eu/firefox-89.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "11b35cf208f2568f06181858702ea4471bc040b3be1d2a192c40db431cc02a4a";
+      sha256 = "27ed15bbd47c7cb8e9669baefe86f26f87c0d5375783a36135ad608ad4a91172";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fa/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fa/firefox-89.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "a935878e3675c34d85103f3c002ea5fe7f86b12a5298bda38f2d398821ba0c0f";
+      sha256 = "34dae1000a46907adf080db0d75819eba1d86af97ca0f8f59e33504f4b379886";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ff/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ff/firefox-89.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "13860860e6f60e7ca9f7aadadee36645f7b8a4f1fbd6b9e0a7b3d94f04d77129";
+      sha256 = "16ca942be273a5f4eb8c4d1301c36121c3c92a5ef761740c9f86e7d9790d0456";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fi/firefox-89.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "c84d9dbfbb89fe5573763ce54b533fd072bf17e22d9c6904dbf52401b635630d";
+      sha256 = "3381e0937d8e50b8224185bc3f6771787b8b6b76e7c018efbcbd7a1388cef7e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fr/firefox-89.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "0e5abac1e39f3234603906c237a0f14b927853668b13f6ef8ea0d74e00407296";
+      sha256 = "f41904220ede5be0c206c334fb80ef9f8909dde611b02525840e368cf313e9fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/fy-NL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/fy-NL/firefox-89.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "2ecf98f47651abc6f90ca79f98ab0b055b099f500db8cd684c60605e20549878";
+      sha256 = "3b87d74f8c51ff952a83ab703cff7875eec27ea486e628485bd463522eb002d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ga-IE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ga-IE/firefox-89.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "f1dccee366c64afc0a8d9037488cb57be9e6ef544ab4c1bfa3e7d8b7b91cb16d";
+      sha256 = "8d943f4f6f88755a04c22f8a99198d67da7504d9390a7b58e419394f22017e38";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gd/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gd/firefox-89.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "374a47ef2069c6a3dea4ac510ab10592ed48b25715d16d19ebafc3070efc7b11";
+      sha256 = "c3ec21985b3cab52ebb24ec426e6183442a0738aebf44e2cc7628cdc05c74d76";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gl/firefox-89.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "393f39cdc555613553d27743e681c07501e253ead1562fd14d2523b1a3249723";
+      sha256 = "fd448acfb8928ef217fe9a84472dca6d48b31cb2e5a35e9dd917703d90967732";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gn/firefox-89.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "19c207a40e588d072cd056c056583f9745017691aee2caf5aa8e6f78680a53cd";
+      sha256 = "42917bce57418834788c95ba39d04b6c37dade212f549862a660ee4736959a2d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/gu-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/gu-IN/firefox-89.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "ce4db1d47376ed287392b13c959c40dae98e9461428d8f8df5ff8d99730f1f10";
+      sha256 = "3bcf33442fff5075f55927309b4ff0a5077e22d7353f61e8104510e8a8e79dc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/he/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/he/firefox-89.0.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "9ec972022e45ed803c441c68e704874164a3cea4bdb9d26addf23097b3bb40d3";
+      sha256 = "c3b801c1ddd23da0ffe7d5b7e14548de627ca1fbc1f18bb8ff7a1fa9fd03534a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hi-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hi-IN/firefox-89.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "dda729303a9183baff446f2a84de68333c9aa3a9d90a34e80548e4f46d84e045";
+      sha256 = "c76b3c099e4edf904a80e9b1738286f69cd756524ee16cdb5bd46f530ae2aab5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hr/firefox-89.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "dcd696d7acd7f991591f2f93ab0d94a7c2e7a7d07c5e644792d890fe8c653f4a";
+      sha256 = "099c31436b175623a22d5a7e5d9f8a51d0ad8581ea08a3799c75d7098b9dbc59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hsb/firefox-89.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "a3b37e2df58a2ccd6ec422a8c61da35bfb9109c1464c3babedea6ec3be5fbaf0";
+      sha256 = "c49bede957a044d33299a4d84ba2855ec33a4b7b1359e858d0a5efa93a334dc5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hu/firefox-89.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "bfb9a458ab0c80037dce953b4c478765373e79a9368ad267f4da75cf22bcdf76";
+      sha256 = "30a48cfa930b6c6960bf19e3e2da945bec8879d54bf1189b70b8c1568ba3c234";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/hy-AM/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/hy-AM/firefox-89.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "a3e67a5cd54082cd00976f17b47f719f3f262af6a39f0d0f5107b71f5119fa3a";
+      sha256 = "4af5654a01ad665c4d941f99674fdadf606ad073e6e721debb6d8fe6656519ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ia/firefox-89.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "54175c830b7a28047788721645796b925e37803b23ce7c3f7f287a3a3e6943e1";
+      sha256 = "37f761b735908ecfed4c96eb44aee8566a78e16d9105e170e17f9554a790b5a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/id/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/id/firefox-89.0.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "20f207ceb1b090ff6be21c36b928d93a53c7f2547adafa7a7559b7d914ae24e9";
+      sha256 = "a92b7099ca5ee05e66575b1da5eaa26985db9ea04d5e593ce66561def6d21844";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/is/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/is/firefox-89.0.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "79bee0347eab828d9022708131ff8eb32d1a895d1f39f1d074bc6fa536463289";
+      sha256 = "26c34afa51bdea7b66191b931b9d4a8a4821ecf2edd029f0a4487be69a7c39c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/it/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/it/firefox-89.0.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "28909f3a4e9ee97e290c52a762e74529793ec218c848fd2b260094d9295425ce";
+      sha256 = "2411a8c45be753215c79357f06fe403322c10051f609b208b79d182e529605a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ja/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ja/firefox-89.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "1fc39129fcc4e05a6ffa62302f7a01bec771e2aba1aca084c9fca518f0f3ecb4";
+      sha256 = "61d3370af7c6d478a6608c3d58c3350817c7bc1a85bc3ddc2d21c00e490c4d99";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ka/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ka/firefox-89.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "513bdc1e8c8f6568eee0b24846d23bed788053cb3487799a3360ba97c3f5471f";
+      sha256 = "834c755f037c2ed757a6972dcc3fc1bd5c36ee2639103dcfe094d8f4fe630204";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/kab/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/kab/firefox-89.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "39c7c01947863bf17fd0fe7360c1c02029f8c4eac6e27747c029c60f12a524fc";
+      sha256 = "4c34d72a8ff32bf83c35521cf25a6ce7ee0d5ca2389e0f04dec487b33b90d7f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/kk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/kk/firefox-89.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "0c99f13e466294845bec2f54ca8a10f3d03f87b9b2aee80416db799c5761a4e6";
+      sha256 = "da78bdb506b0e0ba7798db6fcd92f340c0ced478a978f55ba87757bc2d03680f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/km/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/km/firefox-89.0.1.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "3494d56e45a2a9071a0993191a438155ad4b76579e6a6f29d919254c567a0078";
+      sha256 = "5288f6056c2bc039a9aeb11f5a94558ced6cdc7ae426d9672907e55c00c115e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/kn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/kn/firefox-89.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "4889cd958be7bcd108c374e0e0575f13f07210abeec076b8369186cf61f4ea7f";
+      sha256 = "347f124b56f12a7a2cc98975f903e30df7fc6f72f530e3de61e0cf669225dc07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ko/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ko/firefox-89.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "71da744479496c2c62449d42373af839b02cfb1ebe2e6ffebb662816aa8cf59d";
+      sha256 = "7685b7b855173a1e666da68a91d9b6b10f60cecef51fd92838d00a0169ed2bda";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/lij/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/lij/firefox-89.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "785afee6c3a9e26e8e81032ab5e9c94c886d1e950ce2174d63a9d7f6f15acdb8";
+      sha256 = "07026271b7bc2d4e9d828641cbfdf9964a43cd079b5a0b5fcdce9854f924ab31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/lt/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/lt/firefox-89.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "00de67ef54ad73ff1b8397f9d86ae90da57a0272268336ec7ce6f7790faf0a38";
+      sha256 = "2dfd96e06aff4016245b354f42c7556750b09a32e967e59f548ce02b808e8549";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/lv/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/lv/firefox-89.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "e28f07fccef57a2ca94b7b7074b518188599e851ad4e21a13b08b5b242407154";
+      sha256 = "bc461287a33dd4350e0ee74231716fd1aeaf648cfdd40a82108f57afa3ce6b67";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/mk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/mk/firefox-89.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "6fb8c785136d3040865698d91cde31cece022072594aa61803cff9e63e2e5a10";
+      sha256 = "29cc097af990d0297b04f63a880ef47d04e8630ea56dfdc7537e2df48b54af17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/mr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/mr/firefox-89.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "c91ea884c587115fa2c9b6d6615f724937b77e24a22ff84de7bd50d843907432";
+      sha256 = "741e33e2121a8da5a9c87f1c29fdf4e86ac1d0c70107c6b1d6ec3efea5345474";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ms/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ms/firefox-89.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "36c50cbfef5e729f57797635aa1745c74872f6adb77daa0b4e5e804072c8d15d";
+      sha256 = "f8a3324e0aa50846a82c6612136ab75369b48be4a68dad0ec10829ac00ef6c7a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/my/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/my/firefox-89.0.1.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "cb17e54ee6ed511fcb7de27ab2bc9dea5c52417ffe807a572d65f8e8d202c05c";
+      sha256 = "d081a78a74ec384b5c667cb66b02aed9a6e662eccb7aa0d09193d08477607d09";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/nb-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/nb-NO/firefox-89.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "08e7a9935376166b3344a85345a932b6ea90691f6f5c28d345fb210cae64252d";
+      sha256 = "1c0908d2eb8aea6a3142b6c6df231106456f9203c9690c0384169bfdafab3286";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ne-NP/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ne-NP/firefox-89.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "b6791b6c336fb9b3683be41798620071f1ef569f3809c0f0ae9db90a1dd758b5";
+      sha256 = "1fd524963622ea4d489b3bfe5c4557d9e9e55592d41eef43dd25f3be812c7b59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/nl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/nl/firefox-89.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "1bd8d6737393297378f127cf320ee0945970ac4688ee9aa3a045288fcde54f61";
+      sha256 = "41d9351c46d0567d5d8daf76223ebb782ba1deb9674b7ed91a9b5b500715a2eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/nn-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/nn-NO/firefox-89.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "919312922060bc90e5a3398a76bc7e6f224dc3ae46275d7ba7a0fd596e46360b";
+      sha256 = "b382dd0fc83aab0cbf1a9a3db06b0ef8e6761bd4a2b6f892ae6d8c66543f1c7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/oc/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/oc/firefox-89.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "65ed4ea16b6696fa5866db932b82767301c6f3eb72a9ed089c4ba5d2a439352a";
+      sha256 = "45f902b3c850cb11202cae901aaa2f04d46640ad12a751739886afaf7303f92c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pa-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pa-IN/firefox-89.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "d996838f73d04f0bc91b22933e5c6bb2d2c7340a43933de48c352cf548097040";
+      sha256 = "0b1a82b3f92abd523f3fe515bc710fa929a6a4c5f144888da7562a0468fa6c2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pl/firefox-89.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "aa3167304eb7d5ceed1235be8d864b0d6ff48d47d680e62b613462378215d9a0";
+      sha256 = "6f875bdf96d4f5cd930b986301b636b8b12e77ce4e5c57714ce72c90b1b09855";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pt-BR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pt-BR/firefox-89.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "74f7801e8e2f9c60a9824380060769afb61771fa9516206ee85a882705eab3dd";
+      sha256 = "4ab0213b483cced916a08783d031ab9dcee79fff8f7fa7df7e3ef7e3c675ac0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/pt-PT/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/pt-PT/firefox-89.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "961575b359317228991d81b76b9967658b18229ee8ef58480dcf19d6bfa57ab0";
+      sha256 = "9ee9fef10d1fbd75810360f87dc752d012eb0a59230ec3af7456fe5c3232f8b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/rm/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/rm/firefox-89.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "60780c817e379fc25d4234363c72fcf8a0cb3ae14c4ea87865d85c46aa206801";
+      sha256 = "d46e4e83457dfeccf089943be450142b05c5fbfa4995c2c4895b45574cc16f59";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ro/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ro/firefox-89.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "20f1e503651308e2f1e0f41091c5699dd20b02a9fe32e0cb6541d00ba81d2b59";
+      sha256 = "dafa16a340e7e2ec072ef6b741ac6bb25020c987a911ae801bab565dd2be45d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ru/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ru/firefox-89.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "1f980091bf909f7f7f53d358b79c918e80df36f7ab389053c02051cacbb1ec44";
+      sha256 = "3b56d48361fca1138058226f87b01d360efe00711e4415d135b90fb4cf8f7a99";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/si/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/si/firefox-89.0.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "6be2db2f350b67befdbe0d12788c8b076ea592ad7cd40c0c27a5a1a90f73cfcb";
+      sha256 = "0ca008b069783293caaf83a619b11a31cab914f07ffc1ed9467aa11b5e9665f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sk/firefox-89.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "2b975d58ab76144db56408acefd5e5f63a81a65d11d79abbbe724ef60cc0b7ed";
+      sha256 = "ad3990143917a5ae23ccc73141d8bf66ee0bd7be6d4a0535066ca8efd72ca10b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sl/firefox-89.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "2459093c57b5784ff0a496ca6a294086700684a85b6a5444a25a877e1bd51767";
+      sha256 = "42de516865a08e8e623228355270402463df84be4ed7a7f097f8aba2b19ce7f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/son/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/son/firefox-89.0.1.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "1f5f111543d1db02a8b86ed760cb159e3dedbb4a44ca43b31bd78cc9cdcf3ec9";
+      sha256 = "244caaadc3aec2100965a907c2351295af042f8e61c34c907195fe0a421e6126";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sq/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sq/firefox-89.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "8a2c424aecf0e95d6acb41a66d07b750e85b74dfe5cb2154f9d84cbae51a2b06";
+      sha256 = "87396558a8c6c734f0e2e530a653dec48fe253f7dce3021acf15d2368a098e80";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sr/firefox-89.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "cbef46fd1e72f542efc8959bf602fffc026a2866a2dc546d008fe8b08a24ed5a";
+      sha256 = "9dfd2e79163078b550f37a4fce6e4dd0a62e43863f6b404dc7d9d13f734daf45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/sv-SE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/sv-SE/firefox-89.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "c5a6dbca197540c22e370cf69183f32edd993242ca651a04c46ece8b43824a30";
+      sha256 = "57e5b7b45ff73c933314ed68d975c46ec829c3892cec81ed9eb71e723ede541c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/szl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/szl/firefox-89.0.1.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "29a4470782609b31b494f3759e9cb3b5704790e4520acd1b33988877cd982b86";
+      sha256 = "7ba369f8f2a2e09b8519e600b5d3e7eaeb0b3afba613c4d8aac42d052bde3725";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ta/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ta/firefox-89.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "8a8311028e7681f6a51013ad9c15911bdf9e572544d9c26982ec056889d79fe9";
+      sha256 = "26d0cae7085440f36258a17b9eb1d275f6f6ae9d952dc57db824e50ddc4b4b72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/te/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/te/firefox-89.0.1.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "072a234399aa63cae9089da050b647ad042c8b346ea6943f1f2dbbabd5d454f7";
+      sha256 = "f168c75e705f9ad8541b0314bf0d679ce93306044c5a3ee2158fafaaa5b08139";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/th/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/th/firefox-89.0.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "f43f10f82d50a40e8b7d83295244d1edc9058826160fb7529397751fb4cce43b";
+      sha256 = "1b10351919e931f9c7f812b023447a7acd2d6133d64f9bafd1999be4ac7c7eaa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/tl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/tl/firefox-89.0.1.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "2b30195f74227e71c21b7c7004faea8cf4c95da5fc2bfe4210d50392d35902a2";
+      sha256 = "c0d4c14a6adcc4c3a82fdd6582b5f14267c0d4a699f4dcc6b0047809fb2872ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/tr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/tr/firefox-89.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "901fdb54ca10a0c90bc9253d6d1c6f683a7d5dc4ab8487e6aa0fff2b04e32f24";
+      sha256 = "4f68ee9496bc452ef04f12d91f3170658b445dcc45748543be88aaaf3dc5afce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/trs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/trs/firefox-89.0.1.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "85c3386e16611e2cd2b64a5095734c7c4703b9889df4e3656300d98b7a392ce3";
+      sha256 = "ee8f6e51f72a03b740895f3613151d56e41ceb91d87b88bea6a96b03b62f2b01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/uk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/uk/firefox-89.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "21fe9ab7f0a41ebabe2715f139f2343e0fb6e8057b42927a3044f7ba665eb80d";
+      sha256 = "e2f163958964fc8379faa43d8f9a75f9408316c38692399df174da85dd652610";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/ur/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/ur/firefox-89.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "098d33b86191172fbf5348689b1d704df4cf3237e9dd789c67b95656a6b79e02";
+      sha256 = "946c58aa07ae10614ebcbd70368d0c557b3389616b73af8cd62be4147c5a5ddb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/uz/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/uz/firefox-89.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "b891212d3cdd66b7edc970edea6aee044b906174054f2f06a55e5060ff751ada";
+      sha256 = "1f72a2e18aaffaf9155d497cc8a1980f559e0510614817e6797b3b9baa21ae2f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/vi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/vi/firefox-89.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "fff4b31a6889e1b5829b7713fe0f54d4a68cc3da3600f6bc69c6b652596fabca";
+      sha256 = "33e393cdbc7a4d615231ff0220b1756d3466fdc515e7fabefed06b6e89ae43f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/xh/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/xh/firefox-89.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "b73adfcec53fe584ace193f3f8c3c1ecd9b3346847cf620cd543d21fc4f14be1";
+      sha256 = "0c86fe6385c708730b7da7d667e0af6361931a851e049774fdd248ee42c448c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/zh-CN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/zh-CN/firefox-89.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "79c53f5f973bb9d85233c49c0c9e02b9e1df35f500e44b4bb541cb1c097d77ec";
+      sha256 = "837007ae8e7f27b03dbb181076b97c46114abc6278b58d7c4f8fed6c5e63eb9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-x86_64/zh-TW/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-x86_64/zh-TW/firefox-89.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "270a0e18b978ef33b8b71fd3690ca859e0c286ad1ce5302c5da5b7375f8928d7";
+      sha256 = "bc56588c968f6a96deb7e0260e6ab0c4dcda0d621f1afb41301eb5600bc410b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ach/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ach/firefox-89.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "e239cc3380b017b549c5ec0824c0b351374412562a810f85faa3e39b020702d2";
+      sha256 = "df2c7fe0b155b29c56f60a080c34cc36879263306893e1c14534e10c9f1fbc3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/af/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/af/firefox-89.0.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "6049bd79e3e3fe7f141a97941489b9be8bd1b5e907ff92f07907d0433c52f8ee";
+      sha256 = "deb365e2dcb01fc8ee217de70c90a45db77cc3b7cbd3be99ad9c6ba1cd832bae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/an/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/an/firefox-89.0.1.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "8fd1aefeac276a40ccfa434d376b895a7b9674ff67fd587121255df34cc5b1d2";
+      sha256 = "cf3fafc803afa90f6a7143db768b2b02bac568cba609eff91372933883595a78";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ar/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ar/firefox-89.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "4ddc0f938be2806d27cbb9810ff39749ea9f6b0fddab1bc4eae211ba121959c3";
+      sha256 = "ea2f11bb7b7c2be08898b3c62d28f6e6d98f3a3b7e58eb73f5cedbb093d2d197";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ast/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ast/firefox-89.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "f4ada3fdb3229992af94002e3b812bf95e3ade3af7e913ca990ca3164c04ab66";
+      sha256 = "4dde1e5c897bc61b6743887718da7660fba6764793520c2b613aa9cad8201363";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/az/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/az/firefox-89.0.1.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "07e95af87afc048c1e0d273025e4ac2ce6d5e15f93bf4b2e6fd24699b9afee8f";
+      sha256 = "c70e104de05c2fd8c2dc08529f4bce842a63727abe02fc034dc6bea6ac0e453a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/be/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/be/firefox-89.0.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "d967424a01532dd37a57c7e87063c022905a38d794c6077f99fc4d23a581bc2f";
+      sha256 = "01f9fd2e5c22b943c14a23c7c6f64374d975ccd0f703fa997966a029eecf9830";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/bg/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/bg/firefox-89.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "c8b667539135c6cb2fb98663259d75757efbcc6ce374c85506b2972457f01bd0";
+      sha256 = "3c1d11430f1d8a12ebafef6ba7d58cbbd8367f79a8bd67be59784dbab566177b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/bn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/bn/firefox-89.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "436b1de6ffc38b2a17dcef6ed395e67e8f75058539bd10cc510b5db95add0b0a";
+      sha256 = "1b3f2a6735ce96d2a8c54abe10605ed538d93e8399929a10db58a2747c6fc6c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/br/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/br/firefox-89.0.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "0a0469ed2f2d338bf05f051f300bff65f42d53f34c6344fc81d7179faaff7b0b";
+      sha256 = "2d9d51c43cd799eae68bc2a2bd3a9df536ebb8a4c4b5b2b50a37e5ecd5c89d0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/bs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/bs/firefox-89.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "a7907780adcbef8cd64793500a9f664d552f7c993c277c1e10d8afaee2c13acd";
+      sha256 = "ff8f50cafb6fe193426bb4515d5bfc26762ccbceac457bccd410b0b90f2c4953";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ca-valencia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ca-valencia/firefox-89.0.1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "8e7cb11f19878ac1dd7943be5132b59316c067e7f435e2456200115d0eb22470";
+      sha256 = "25a81748aa98e7f9a229ef9c41bd5ba510992007de1d0d9914e177cea39f40ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ca/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ca/firefox-89.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "235c16a101af708376903609695a0e2cd1d863094f1a98ce2e916533abc33b38";
+      sha256 = "6705d219e8172fa9a7ac0be456cf478c52bfe6bb2c2ffc3ccb092a765eebe760";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/cak/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/cak/firefox-89.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "735e1f803533c7ed092b10df7a3e7435588866ba94b88b37c9b2afda75891f0b";
+      sha256 = "5729247afc3641abbb7c635af8b29ff3e318100cb6f99e44257ad4116d0830f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/cs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/cs/firefox-89.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "881d8c7a1af57a90c81ab4d5c89d8d946d6666073509f9c194ff44466f44e4f9";
+      sha256 = "8df8fcaeb007b4f806d99708249d3a5f75290697f3603cc687178c3bb1bbfa04";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/cy/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/cy/firefox-89.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "1c74c73b3e52ad625ede28e7043b650a8c90ed09862fb26fb1dda9497902ad54";
+      sha256 = "204045469734cb01c6cb6ef20821598e95e1fc09905916b5ec89f65381479aaa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/da/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/da/firefox-89.0.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "41429f458803677eac22b654be2e9e3708d4007e3faf6496ef8a9ce31f558a79";
+      sha256 = "48ad41a8bf13ad4a73ce96446f39662a6b5e36e095781149fff7ae3abd4440b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/de/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/de/firefox-89.0.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "de0b79f4b60172379b523a851ffa94e750aa68e6a008e740084028da2473b8cc";
+      sha256 = "cc18b67882bd7e3e5730db647737339bc9671db4233021ff9b08195e6b69799e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/dsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/dsb/firefox-89.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "b7cb7153c0e2ac1b0976eebb9a627ec608f49969b8571770409bfff5916d5ae9";
+      sha256 = "4a40743c98b1c90eeb52edd630203ea5332edefeda10a4a6f1ef3776a1aa141e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/el/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/el/firefox-89.0.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "f764ff32d668f36cac903c808b46bf81afa81fda8231e9c500e71495573a10f5";
+      sha256 = "3705e4bc4b596b1ce306a1aab9baeb36c9abe68311250d63241cd13e0b9985b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/en-CA/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/en-CA/firefox-89.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "8df9136b6895266dcae765d15a601ea69707c6c31b858682d4a0037262032452";
+      sha256 = "d8db313b5bb951a700e9ca09fce94df85eed8a29a1da5f8b836611082a8b3554";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/en-GB/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/en-GB/firefox-89.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "b9df457be4785e3ee38e44b8fc5daa265699f0fed60357b0e2ab6d650d5629e3";
+      sha256 = "0066683ff48764227f3d34745822278aca39d7acbb360792c70b04721a0aafac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/en-US/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/en-US/firefox-89.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "9b40343e4094acc2ef4813a2aa0b943a4e4f34538da4f9b4356c44120c928194";
+      sha256 = "597ff6299349e614f36a9aae3e394e3ba95996d0a4caf372f58bfba88344fd11";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/eo/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/eo/firefox-89.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "053aaad2a50948969c2dc85854a6da0a8ef276351eb84ccf3535af2f479b4472";
+      sha256 = "d24b1d6ce2db66e426a92cf8b0eec239e44e32f06be9ca1b3f7693b6dba02cc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-AR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-AR/firefox-89.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "b128326043c53635ed3dd0fd7bfc2b52192bfc48ac4d95917ff72c9aa31b8b6c";
+      sha256 = "0e007e64614172fce8d0d3a0f1300c86ec9a3e65f5f08aeb185d6bf92b7458d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-CL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-CL/firefox-89.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "5227c5108c01539d98c52224eb4b76c08db8577853cd2e5307ed548c11c73e10";
+      sha256 = "26243e3c23de7043945dfd30d4c72676a9de185dfb957fce0a57d13751490e46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-ES/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-ES/firefox-89.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "c9d0120abbfc52d5a33c1905d460332d15c1d742f2b7902dd99e49881ac1b41a";
+      sha256 = "97562d93466b9090bae4f8a1a0e54e142336a125f0780db1ad451c0dee5b4c70";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/es-MX/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/es-MX/firefox-89.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "b1d030328017cd2e03d8c3431582f7ee5c4a0d368074d310cf41d771bfe536e8";
+      sha256 = "faac9af6c8f3f1bf5042ef8c9925310b48232aa8402c71d642f02568e2090a98";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/et/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/et/firefox-89.0.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "897be30748bce6cd0772be06cca5f02a4768864f8ba433f7840aeb245bd7be6a";
+      sha256 = "adff5a5159dd429c3edc52e5b002952cd09c6edf0486fd52326d70ef4f3ffc10";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/eu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/eu/firefox-89.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "93f97c38ce8393a6bad65d682a2ced7260e2313114979bbcbe9beb7650ea8fd8";
+      sha256 = "84f7fd609d5b17ee0a61221e1bae0e6a45a999456ce7f0678d43c8cb4a89a640";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fa/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fa/firefox-89.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "9d5820a4facbdb6959cbbfca9db5158c049c5420744edc77afa933d3c3c7250c";
+      sha256 = "59863d4ecf483793594467d284801611490cd63d67f25f0379b94893e4b649f8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ff/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ff/firefox-89.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "cfa3059f3f12a5f02b4f9cc076738d32f631fad945db99df3783f9cbfae68628";
+      sha256 = "22f84985e8df29dbad40bf04e89782f8e0d7b7452e99a0dd03ccc28e2291615d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fi/firefox-89.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "806c05b03a7dd6f40ebf17f78e56d1829f7aade412ec8f54ddd25ae6bab4317c";
+      sha256 = "600336c950eb6eaea362cc701b1b62807ea08a15cc0307e0a5517bc82388eb1f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fr/firefox-89.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "e0c6056f04d7c75491c020d0372ce8b2cc5f23959540fb0956b793e4c16ef736";
+      sha256 = "2dc908dc69460caf327dedf888877a77e6637c74ee42396ccc9d809462b2a9b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/fy-NL/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/fy-NL/firefox-89.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "e9ae16b0b0f43e4b4e236d47836ed4aa03ccfe0dc6d6401dcd84012d0375d405";
+      sha256 = "54eff2e75c2f7a9041e11ec9cc65d648e8d8fb86d04289ad8357a27ae3745daf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ga-IE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ga-IE/firefox-89.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "f37630c20e722165f2e03bbdb6d7d9d9dda86be17dcdc086d95403509309d32d";
+      sha256 = "7e3ac69d70b19ec7b2638b9cf09d41fe6b1b7b559a6b74e110857cdd73e29009";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gd/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gd/firefox-89.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "ae13cdb56c7363fbe96eb07355ac18952c35c2fe078e79438144b2780a363bc4";
+      sha256 = "dcda84a97053b0b38ad11b54e94829757b53160515033fe97d67460017baa74a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gl/firefox-89.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "f0ee99e1b32c8ab573c4057520c8a4dc7d4639e98574da1a7f4339e9b9cba083";
+      sha256 = "a0f488da3db379917f91d581dac4d9651221d71d6f25f4fe77d3535b2fea48a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gn/firefox-89.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "c94c8b272a781019e92d4f6ba41349041f0f5a795eccce66719bed137e39b66f";
+      sha256 = "6bc654decaf2c06bffdf7ca4ef19dee874460707bd2403b8bce18b687656ab87";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/gu-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/gu-IN/firefox-89.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "9249604f06abd977e1c4992ed857950fa17b150435691df67bb97c1fe6a67adf";
+      sha256 = "918044af5abc8ace4a5dcb9c9c5b41fa38a9ddaa57033e12702c0bb72f28136c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/he/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/he/firefox-89.0.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "5a035ba5537709127a368d89fc4b59fc2eddbe7b56ee9fd0e4fd7b91d4bfdd2e";
+      sha256 = "4a89f039cac4183ab2c8b56b01b017a8d7c03decea1db505f2980608fbcf7f13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hi-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hi-IN/firefox-89.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "2bdfa548c53bb05064d8a9daf7a83859290f0a1dbaa9979e54615978973c2401";
+      sha256 = "4464d61c0201b1552ee26350cf2b493a2ac1a31360f1d12dc96c461a4679bdcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hr/firefox-89.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "853c90ad71a8133c2c3282682aa1b4ab3fb45dcc574fe0f099a6fd1b79fea4a9";
+      sha256 = "fd469c3fd650150b19f3a5260a149b3c143232ff50be2cbf254559cfda491342";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hsb/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hsb/firefox-89.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "c5d474cb0ea800ac062678b636b4f09586c430c31eb63438ade304ae009b8c22";
+      sha256 = "1d474b7ccff2db0fe1e152bfcdcb297eba2fbd67006a45c47710bd908cdb34d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hu/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hu/firefox-89.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "047ef8b66359959150acff1cd8fc5d3294075cd93028b1c397461bef6b940943";
+      sha256 = "9118d6ec7a894e56859844af852e1a44b1435efabea3e9367b2efc4475441005";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/hy-AM/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/hy-AM/firefox-89.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "67d8f771638ac429aaf585a6624a80c0a4369f0ef4de4906c1324a25ef54d3ea";
+      sha256 = "6285f019a28b459cce7aa93d952a5dab173fe37afea9bb7598ee74a8dcfb811b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ia/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ia/firefox-89.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "fae0a1445107a5632865f159d6ef367243e846fefbd8ae86fedd8e74307ac894";
+      sha256 = "139abcbc3350df9df5677cd2f0e31cd594155819a9851b6737d0ba7050f3ab4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/id/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/id/firefox-89.0.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "d48d736d7825249d72647e07fa0a497434373e8c2b43e31c88d4853c5e57b595";
+      sha256 = "d0cb63e16f951d58d6c21db712425c1b450f1da16b40bf3e49ae1a4cf8e2e8d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/is/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/is/firefox-89.0.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "5534810b724fc9931a6aea47768c1c3990d7097127fc7ef96744d0fedd509535";
+      sha256 = "6b42977a83f5d8165ddedec7844934b7824914d17c2ff2d48b403f87daf31a84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/it/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/it/firefox-89.0.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "3fb63402a8a4e495842c7de7c4aaf4b08e258e96371d20f40d0da21769af7d60";
+      sha256 = "1b00bbdf3b2abd8e7928745848575bc5c1d930296a137ee2e2ea738fc0bade51";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ja/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ja/firefox-89.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "216996e405bce22f6836178c95f2db19cfcc138ca25eb01670b6243fd6b4595b";
+      sha256 = "bf41ea9206576aa54c80c150a0d3ee9e64ea48d7af3fd0eff5932a77fb6aab4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ka/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ka/firefox-89.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "4184f7b69f0a075a580a8ec059c4ddc237ecd5fc019fc819b1b161cab6841fe4";
+      sha256 = "94a3407698612ae2c41895667574dda7d70494f37c92a62adb747d08a2f188eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/kab/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/kab/firefox-89.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "9d5ec12b8a302644b0fdc0bd20e67b471b6426f075284fb21b1c23b8bb592df7";
+      sha256 = "e4ff4581fde394ab872da84b8a53667d5c187a8140ce141f3f6303211925c74d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/kk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/kk/firefox-89.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "c37d42b7472c1b53d9d38a62510be2c559908dbe2a60cba6ee066821ad52dfa9";
+      sha256 = "8ed66c7dc012484a729033f5dde38434fc79e252e2751912f0065e6a1de939c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/km/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/km/firefox-89.0.1.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "13d81552dcf88f8ab5b294c0e500af4cf27d0cc6f8f3c2b9ecd60ccf28601fc3";
+      sha256 = "a05e53fd532bdc1e8ce6b499aade94392cec0cde35b5b1ca788012be841b0867";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/kn/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/kn/firefox-89.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "385af04026d1137d7f3d110a3070332ece0f02465686e330307d6f7dff09310c";
+      sha256 = "c3877cee047ee1fedb0a2f88b47e38a23bccce648ef777ee92c290cc0e29ad91";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ko/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ko/firefox-89.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "d408b25b22b84500fad5014aff28a1f0fcafa47f35328121ec944682c8252a10";
+      sha256 = "3cbb7cbf5841caaf14b0f00793e0c8127e363a5d6085435749e8ad16a68fe5db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/lij/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/lij/firefox-89.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "22f0806c3ce1c15ea10c5d7ca9b3148d0bc6274df88e6224efdbafa4ff1824db";
+      sha256 = "b48e14cd64854cbacf38c8fbf40e4c8efc4c2b32638c783c4d3d96507d5ef031";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/lt/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/lt/firefox-89.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "4f3af6bf854de0ba54631c3d462cdf4b8735de28075c249649db7219ec1cc1b1";
+      sha256 = "55f824b1e006204af6aec22e8a0ed41912910ea973d71061dade0efb747fb5ca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/lv/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/lv/firefox-89.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "a7d5920c2f93178f3d95bef5a5b16413a307ca468b023bfaf65cdfdeeaf58025";
+      sha256 = "a5181dbcd91adfcc7491c4e65b12c88641f6783b1be7a706b0070d72af5cc784";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/mk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/mk/firefox-89.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "ae8dda2d271962faafe1e27bc4448d86efb2283f1ecd3b546e077fbe73f25649";
+      sha256 = "9bfa4b3f16866559ff3c1882cd9df858a16a76a57035eb4d90e774ce220de8f2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/mr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/mr/firefox-89.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "6e632ecd870759209c2e05d119db8c3018ec23ec178fa066408c2db40283606c";
+      sha256 = "34da62c84c4d2b60bf6d408ef463d02f4ebf6033ee43e1a1877790acc7c5c266";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ms/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ms/firefox-89.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "afb86390e11a6631583797f36471ab72780db95c42d80908edd2e30f2f8c7cee";
+      sha256 = "e1050df16fdd8ebcb150b0e8dc3d2b7971aa7b6dfbd0e3af111010ace20e83f0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/my/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/my/firefox-89.0.1.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "709e24a1c4145da05b77d7e86351e617f8ffd1a7a1b0b39733e46640a953cd37";
+      sha256 = "7b1c60636d05d2a4d8870914e3e9c987238130386761405dfa5d58974d87a3ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/nb-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/nb-NO/firefox-89.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "63e00266d4ebb3212cbcc5a54a46bd2f56c595e6be29aed646b3313a488ad8c6";
+      sha256 = "2c0a10343fcf03832e3e72422105bff5309e8c0b6fc72a0028ec4508da766501";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ne-NP/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ne-NP/firefox-89.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "1f1a7d20758e4c654ace094f2d79daef76247433474be9cf228d26e76819c64c";
+      sha256 = "8bf34314274df2fc24b1df397196be4208ed4272e8e3d94ce8b2c1c67c2559fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/nl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/nl/firefox-89.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "afb68f242b89b97a9495be420b91ad65aa0ee254932660defe141117acd83c66";
+      sha256 = "513585b358d9f568b83bb007575e784a226787857a12eaf56fc4ed3129794c08";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/nn-NO/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/nn-NO/firefox-89.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "31e20f0e5171e9137999dbefdec33f9e97205ecef2b141766db275b66592c7df";
+      sha256 = "1cb4d644f25be41853881c0a5c546d980f3187e1d4200882b3f0b4b29788f121";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/oc/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/oc/firefox-89.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "68a990d30be02eee79f1fc7a799e88a3e41749e44b28f5b59fd1741a458f668c";
+      sha256 = "6105a8627809a592e0d25c75727e7de9bba0aa2132881e1d92893d23a63216ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pa-IN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pa-IN/firefox-89.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "133c91f6932454e70fbc10bb881d00f859032be6d92a1b41dd1df31dfa57f376";
+      sha256 = "9d75deee44763cf053759265f70368d3e38d757d4e17ac047c0ebdc4274d67ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pl/firefox-89.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "a86f0230c57ecfeb12a41762a1bde5bfd49224b898f891215a094ca7056e2b22";
+      sha256 = "e46966ca0252af85040908050f2a796e8738c8d655e3e0821abd9e04946d3dfa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pt-BR/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pt-BR/firefox-89.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "a0ec38a70fc4ad0d0f67962df8d2478fa00f767b1797e69803d24913be5facb9";
+      sha256 = "38257f2c7b720f7211f4c2751cb437b51125a2671586f94c7253fedd20327e9b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/pt-PT/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/pt-PT/firefox-89.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "e443929ef871d56be734b8b3d766845583e174e51137e87193cef5aa83cdb55b";
+      sha256 = "71502095475efc0d312d95d273938005e65a0762989afc81af941cabe00576ff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/rm/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/rm/firefox-89.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "3c044dd647fbf331a4389719c4d1105c1e5cb58c3eb1636b56058730a9e956e8";
+      sha256 = "1e8ff79776d84fd687c96f65fd6946f93f0d4bef0b4e0c3801d141eb86537155";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ro/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ro/firefox-89.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "5a9fa20d508d9de6559664e96050b8843eff0633d5d660f3fa7cce2da375660c";
+      sha256 = "670d0dc6acb8263522976166d6182ac812660da894e003ec2a8a7bb850b369e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ru/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ru/firefox-89.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "99d6b8116f594f01936bb9528b2d03e2e78a6aa7371eb10e4de50593200a7bc5";
+      sha256 = "76253bd1af33af76e7d81778a4c92fd303a7f434299ffbe6a486506c91ef77b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/si/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/si/firefox-89.0.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "b80d42d72e039cfb15b30a7054bb84f709d7bb509c299862054a5c65f588075b";
+      sha256 = "d057fee3a98e8b197f0b2241e5c2fe2492d8f6897fce422109d3e5633b060b8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sk/firefox-89.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "e21b18c60376edd371b5a52966b7c8d339e0adc0b46e5ac98381a46cfa42056f";
+      sha256 = "5733b44ee973322491bb9d08888ea96fe37e0d27e67a9f2b97406bda895c95d2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sl/firefox-89.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "63b70e14e9c7cb579a49013f3f6b31ffcc88f1424a17987ffd2788b876e22c13";
+      sha256 = "7d860c5490f081760cdbcac1bc5c9849504a94b5f87f5de9be760f0d6ed4686a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/son/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/son/firefox-89.0.1.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "d77f34b17861c607125b1bbdf84f048634b6e7d3d3e35a8c0f4b55e3ce4351b9";
+      sha256 = "81500d4f2944f5fcc866cab7b194b1474aac2335d28480f27977799a91d70560";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sq/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sq/firefox-89.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "fb5b14076d7e6a12ea0c5f510dc15c94fa6a311285cec612f9c7a216c1d71af7";
+      sha256 = "378c7d9914056f8dd0e44bbcf4beea71f63983a5c18b6a1a51e009f45dce9490";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sr/firefox-89.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "9606afc3903197860f2b5d6cfddfbf32cb88c43f8edcdac6c94130d6a7dc4f9a";
+      sha256 = "babf462bf5548b87f6ac1fcae5f80308cfb164944a65eb345fa7d39d13d4e5db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/sv-SE/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/sv-SE/firefox-89.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "457c4ed993411a6407fd51a88c8f6993abaf26215e335f7d871c9445e2cf7cfc";
+      sha256 = "b52c8f84ba69754af44a580e3553f83db872d0b66073ac92cf4bdfb4df735505";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/szl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/szl/firefox-89.0.1.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "d06c745ac74ad48a5083768774dcc72d020a34c9dd2cc9aed2551410de1b86ff";
+      sha256 = "7db46d8979c684c56f2870c53c4c0f4f78e1f8277035a7151f9ceee3e24f7f36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ta/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ta/firefox-89.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "acdc690bd1816fe043640d62b678de02c3386736bde18f31eefaba749847f6a1";
+      sha256 = "9018d8671a73114b417b0bfef2eabd64583ea31e78ea088d907dc98e1a573d4f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/te/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/te/firefox-89.0.1.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "e2cbc4ff9b7682cc4ec3b49db69c841d95cf6336645c50025236885b24fc3090";
+      sha256 = "fc3c3984a1ef1cfde88f293d7fdfbe6d783c1cebb940d27fc2c9d3c2fefdc154";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/th/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/th/firefox-89.0.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "83c88f10bddd3ed8e1100bc57bebeeb4d0ccab30f2093813c6e121adb04be5e3";
+      sha256 = "cba78c8646ecd92e54359d2a064bf7314f3d3e6789c53cbfe200af2786377d24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/tl/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/tl/firefox-89.0.1.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "3dd0c9dbb655c54db0b672ef3ca4b61bbe6a488185d92814e474da58b15ac7e5";
+      sha256 = "055e3dcda6733a20588ad0daa8ac2b68406f5964965e2cd5d8a8b70350bc656d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/tr/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/tr/firefox-89.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "442f82197c929080e432817a7cfe42fafee2640799596ab5fcc55d4dd6e7a296";
+      sha256 = "cd00f148489529d9ab3ad79da7a4d789408a08ac32bb21e01ab505826c7f2516";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/trs/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/trs/firefox-89.0.1.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "98f10ccebd94fb4d0fd68bee80a691248e0033e1e33f03f97dcd9e3b3c602712";
+      sha256 = "0e493794ffc3dc81e6e86863f2c1f8ae54194c638d087415668b7eb9e23fb344";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/uk/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/uk/firefox-89.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "99cf2753defcec16447dc176b331ce6e6e70f66dacbc341e3f719cf9392d0acc";
+      sha256 = "6effddaf16e4a16197eb9993ffc7d4ce33ba9c8b65906ec4a7d00d22d85956d1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/ur/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/ur/firefox-89.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "904484ad86e2e27d792b40aaa8a73857476c786cf500344305795bfbad87cba7";
+      sha256 = "429c316967f0dc771e7028c2283b31cf3bf996bfec5d6a6cbc56dbb464752136";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/uz/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/uz/firefox-89.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "b44a544c6f473a0b4d1c4b408d5fbde422199e23b3b85957b60d2eaf27351b2d";
+      sha256 = "064a64280a5242522b6e94e575e3a36959c0308015ff111e73bce4d2e6e3dc45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/vi/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/vi/firefox-89.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "e4f5417a5e294ab2b38744a260280c1307c47b072aa78657ba1143020c26c778";
+      sha256 = "9db7de20f5c05bf08094c406972de111b3a41e5ea491b5dff2bfedbd0ac0ce37";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/xh/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/xh/firefox-89.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "39ce93e0459299d54a99c317d0dd8b01cb694a8140d5036f09e13d72887a8d6f";
+      sha256 = "15ba3f945482600db96b829ecc76c497a5c6c0ee3db36d7bbb11a92b4e115fad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/zh-CN/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/zh-CN/firefox-89.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "7f6ae88c4eda5fb7893e7b35f9ae04df658f78919fe3476ba78fe2460a2896ed";
+      sha256 = "31f8ff9eaf88c57ddc4980c00c75da9aa9d47f0f67384a3059b5eeac91dbd7eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0/linux-i686/zh-TW/firefox-89.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/89.0.1/linux-i686/zh-TW/firefox-89.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "7e6db3c697021be17253b616d348e67df62ea3d86828af768881f67f4d340379";
+      sha256 = "ceb7acf2489e92eb5b6dfa4bf0e08ff7a52d06d938191225f105ddeec6fae374";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/update.nix b/pkgs/applications/networking/browsers/firefox-bin/update.nix
index 018bf04cb570f..a2fdb82ffec0a 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/update.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/update.nix
@@ -26,7 +26,7 @@ in writeScript "update-${name}" ''
   HOME=`mktemp -d`
   export GNUPGHOME=`mktemp -d`
 
-  gpg --import ${./mozilla.asc}
+  gpg --receive-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353
 
   tmpfile=`mktemp`
   url=${baseUrl}
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 1362844c37b5a..16a17dde042cd 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -7,10 +7,10 @@ in
 rec {
   firefox = common rec {
     pname = "firefox";
-    ffversion = "89.0";
+    ffversion = "89.0.1";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
-      sha512 = "5089720feda15d054d0aa4c3bdeb84760314dadd6381d7360e688d8e396154868220c6315add650d8d2a42652cb8a9bfeb833885812ef0bd70a74ee58ad18aa3";
+      sha512 = "67da387b3b6c5a110c83208f9a15d6064adf423bbebfb0fcad2d85f6c4b615b27da0cbd5486b817f0d5e040bc3e70d74d9af72599b24384397fef1dd153bd3f3";
     };
 
     meta = {
@@ -51,6 +51,7 @@ rec {
     tests = [ nixosTests.firefox-esr ];
     updateScript = callPackage ./update.nix {
       attrPath = "firefox-esr-78-unwrapped";
+      versionSuffix = "esr";
       versionKey = "ffversion";
     };
   };
diff --git a/pkgs/applications/networking/browsers/firefox/update.nix b/pkgs/applications/networking/browsers/firefox/update.nix
index e12b552535d2d..bbfd17d1fea8c 100644
--- a/pkgs/applications/networking/browsers/firefox/update.nix
+++ b/pkgs/applications/networking/browsers/firefox/update.nix
@@ -6,6 +6,7 @@
 , gnused
 , gnugrep
 , curl
+, gnupg
 , attrPath
 , runtimeShell
 , baseUrl ? "http://archive.mozilla.org/pub/firefox/releases/"
@@ -15,7 +16,12 @@
 
 writeScript "update-${attrPath}" ''
   #!${runtimeShell}
-  PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnused xidel ]}
+  PATH=${lib.makeBinPath [ common-updater-scripts coreutils curl gnugrep gnupg gnused xidel ]}
+
+  set -eux
+  HOME=`mktemp -d`
+  export GNUPGHOME=`mktemp -d`
+  gpg --receive-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353
 
   url=${baseUrl}
 
@@ -31,5 +37,11 @@ writeScript "update-${attrPath}" ''
            sort --version-sort | \
            tail -n 1`
 
-  update-source-version ${attrPath} "$version" "" "" --version-key=${versionKey}
+  curl --silent --show-error -o "$HOME"/shasums "$url$version/SHA512SUMS"
+  curl --silent --show-error -o "$HOME"/shasums.asc "$url$version/SHA512SUMS.asc"
+  gpgv --keyring="$GNUPGHOME"/pubring.kbx "$HOME"/shasums.asc "$HOME"/shasums
+
+  hash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
+
+  update-source-version ${attrPath} "$version" "$hash" "" --version-key=${versionKey}
 ''
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index 09128301d6c8d..7fbfccc389604 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -401,7 +401,7 @@ stdenv.mkDerivation rec {
     homepage = "https://www.torproject.org/";
     changelog = "https://gitweb.torproject.org/builders/tor-browser-build.git/plain/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt?h=maint-${version}";
     platforms = attrNames srcs;
-    maintainers = with maintainers; [ offline matejc thoughtpolice joachifm hax404 cap KarlJoad ];
+    maintainers = with maintainers; [ offline matejc thoughtpolice joachifm hax404 KarlJoad ];
     mainProgram = "tor-browser";
     hydraPlatforms = [];
     # MPL2.0+, GPL+, &c.  While it's not entirely clear whether
diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix
index 070af87f9c4b2..2354a41a6a666 100644
--- a/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -8,13 +8,13 @@
 buildGoModule rec {
   pname = "bosh-cli";
 
-  version = "6.4.3";
+  version = "6.4.4";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1glxwk0fv52rjim7ihcxkjx19fsn9k7gzg9zmwxgx8wpsjrdcq3f";
+    sha256 = "sha256-N7GrxePNewxhHnkQP/XBdUIEL5FsFD4avouZaIO+BKc=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index e861ef97be354..6eb80edb99a7d 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "helm";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchFromGitHub {
     owner = "helm";
     repo = "helm";
     rev = "v${version}";
-    sha256 = "sha256-sVa7d69MuOjH1IhUMcXu79kEE0BKylLYx6yrOV/DExY=";
+    sha256 = "sha256-MXMgCqdFNRMJaStoFMx8BO8OI1B7FqSETk0zW6a/vbE=";
   };
   vendorSha256 = "sha256-PTAyRG6PZK+vaiheUd3oiu4iBGlnFjoCrci0CYbXjBk=";
 
diff --git a/pkgs/applications/networking/cluster/kubeone/default.nix b/pkgs/applications/networking/cluster/kubeone/default.nix
index 4876233cd29ff..b570ebc09dcd6 100644
--- a/pkgs/applications/networking/cluster/kubeone/default.nix
+++ b/pkgs/applications/networking/cluster/kubeone/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "kubeone";
-  version = "1.2.1";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "kubermatic";
     repo = "kubeone";
     rev = "v${version}";
-    sha256 = "1abm7735c4pjv31pfggkvia7br19zbhjpp2w0n5zckwrjm9hxns6";
+    sha256 = "sha256-oInE8fwE+7a+F4NevKPuYQqCP9GkPhqayLu8HCmVbLs=";
   };
 
-  vendorSha256 = "01rl4sd9prfw4ivx7dwrr9irjr0xryihp4fzpcjd2zg8f1ibkwsn";
+  vendorSha256 = "sha256-VvO5YnDofdEku9+RC6PPHWSZY8qZt9N3JNzlm5omNAc=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 60d5dec48a5a6..2dfbac5c5ac63 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.21.1";
+  version = "1.21.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "sha256-gJjCw28SqU49kIiRH+MZgeYN4VBgKVEaRPr5A/2c5Pc=";
+    sha256 = "sha256-GAX8ODjGj5LM44KgJC0N5uuOH4z33lDWoQgImOl8/xo=";
   };
 
   nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index eeab5a1d02ec1..31fae0e31c2ee 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -64,8 +64,8 @@ in
     };
     edge = generic {
       channel = "edge";
-      version = "21.6.2";
-      sha256 = "sha256-kgdKH+cIYRg5A3+wrJJ7jcY6Xl206EwBYa37PT3xn1k";
-      vendorSha256 = "sha256-QVLg1ZRsNQPM4lERVHpZLbd+I32JZ1pbGNSGIVTbseg=";
+      version = "21.6.3";
+      sha256 = "sha256-NgfbkeVRl0AGNkZSS2nSAHp4eZ49QNSEYMuFe1G5iBY=";
+      vendorSha256 = "sha256-rq/MHo5MG2EKZ3d937TIDXFCoWnLlQO3C/fo1bhRxCA=";
     };
   }
diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix
index d032577ce19ec..dcdf134b26a9a 100644
--- a/pkgs/applications/networking/cluster/octant/default.nix
+++ b/pkgs/applications/networking/cluster/octant/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "octant";
-  version = "0.20.0";
+  version = "0.21.0";
 
   src =
     let
@@ -19,10 +19,10 @@ stdenv.mkDerivation rec {
       };
     in
     fetchsrc version {
-      x86_64-linux = "sha256-VFlZP5d6/YhzVIhveqMc4HfapBt0K/XjtqjCQNc514A=";
-      aarch64-linux = "sha256-RfdMfimmoHG4ixBtUVJ/V+mDhQ9aD+yeohkeUMUP8Zg=";
-      x86_64-darwin = "sha256-2Qgl3RdA4mMRTqR7o3Q86Zip5wtgvFp1vZn689FUtSI=";
-      aarch64-darwin = "sha256-+eZVg+B5YYf+XnDhNd6OU4+yFM9GtyiavcAr/EXh7XE=";
+      x86_64-linux = "sha256-Ben2wAquHADWBv1MEfPWxs96pLz1bK2F6bLoYVTSkng=";
+      aarch64-linux = "sha256-1kK0Gu4cQYk+QDJJJiiDan4SnP3Xjr8nLOBtv26UDV4=";
+      x86_64-darwin = "sha256-gOkHpUTWKrikKYZmkfgck3Lf3g5Pakcn0i2A9Hd07UE=";
+      aarch64-darwin = "sha256-Xpl8odVXw4WzF7CEZ+Bbxa6oQDBv9VMzHCNOjIcFGzE=";
     };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/cluster/octant/desktop.nix b/pkgs/applications/networking/cluster/octant/desktop.nix
index 8bc768347523a..4095a7907ebfc 100644
--- a/pkgs/applications/networking/cluster/octant/desktop.nix
+++ b/pkgs/applications/networking/cluster/octant/desktop.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "octant-desktop";
-  version = "0.20.0";
+  version = "0.21.0";
   name = "${pname}-${version}";
 
   inherit (stdenv.hostPlatform) system;
@@ -15,8 +15,8 @@ let
   src = fetchurl {
     url = "https://github.com/vmware-tanzu/octant/releases/download/v${version}/Octant-${version}.${suffix}";
     sha256 = {
-      x86_64-linux = "sha256-mPD5qa/IYsakjcoPnWVpkmhgkhnRK0qTGQ6hanzDt/Y=";
-      x86_64-darwin = "sha256-nxpwBRUeLSPqNEFjF8hKzRhA2ahqh/KyAitnSxYdyJ8=";
+      x86_64-linux = "sha256-Woridi8uGsxvccdeaDzVLs+2YrRKUnm3WbX5LhorM1Y=";
+      x86_64-darwin = "sha256-NF3bm8WFEs4kgrUp+7qCbj6Z6pUMRUp7h4nhJQDJnoY=";
     }.${system};
   };
 
diff --git a/pkgs/applications/networking/cluster/octant/update.sh b/pkgs/applications/networking/cluster/octant/update.sh
index 6c34fc4b37a01..3e2b56b7a6198 100755
--- a/pkgs/applications/networking/cluster/octant/update.sh
+++ b/pkgs/applications/networking/cluster/octant/update.sh
@@ -30,9 +30,11 @@ OCTANT_VER=$(curl -Ls -w "%{url_effective}" -o /dev/null https://github.com/vmwa
 OCTANT_LINUX_X64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-64bit")
 OCTANT_LINUX_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "Linux-arm64")
 OCTANT_DARWIN_X64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-64bit")
+OCTANT_DARWIN_AARCH64_SHA256=$(fetch_arch "$OCTANT_VER" "macOS-arm64")
 
 sed -i "s/version = \".*\"/version = \"$OCTANT_VER\"/" "$NIX_DRV"
 
 replace_sha "x86_64-linux" "$OCTANT_LINUX_X64_SHA256"
 replace_sha "aarch64-linux" "$OCTANT_LINUX_AARCH64_SHA256"
 replace_sha "x86_64-darwin" "$OCTANT_DARWIN_X64_SHA256"
+replace_sha "aarch64-darwin" "$OCTANT_DARWIN_AARCH64_SHA256"
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index e78fa38f90933..faf817d1c7f7c 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,22 +2,20 @@
 
 buildGoModule rec {
   pname = "terragrunt";
-  version = "0.30.3";
+  version = "0.30.7";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kGeGqn0Jgim3gpZUwhIMPV84XD8yYEyH5YMtzidxWRU=";
+    sha256 = "sha256-zcb2bdIvUeHEto2NeY0Zwj7jIB+ipVXpnb7q97IkvmA=";
   };
 
   vendorSha256 = "sha256-OgNNq1qRhCufcWemLxh50pzs432RxZpWWcyBB7xeiOs=";
 
   doCheck = false;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags" "-s -w -X main.VERSION=v${version}")
-  '';
+  ldflags = [ "-s" "-w" "-X main.VERSION=v${version}" ];
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/applications/networking/hyprspace/default.nix b/pkgs/applications/networking/hyprspace/default.nix
index 863b05f8edce5..048f6b85049e7 100644
--- a/pkgs/applications/networking/hyprspace/default.nix
+++ b/pkgs/applications/networking/hyprspace/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "hyprspace";
-  version = "0.1.2";
+  version = "0.1.4";
 
   propagatedBuildInputs = lib.optional stdenv.isDarwin iproute2mac;
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YQJaK6i4GWEGSlf/1+hzjVhdN6ZjZC55v8w9KEedNg4=";
+    sha256 = "sha256-Rw82m0NJcWgtcXRIb1YNv+Kpe2YufKMNAn1Ph9RB3W8=";
   };
 
   vendorSha256 = "sha256-ErqK2jDTpqUyvll+epdGKRYCJvyvCa90W1GVbbhF0a4=";
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
index 6e57e0e9423cf..adc19f5dcfdf5 100644
--- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix
@@ -38,14 +38,17 @@
 , xdg-utils
 }:
 
+let
+  getFirst = n: v: builtins.concatStringsSep "." (lib.take n (lib.splitString "." v));
+in
+
 stdenv.mkDerivation rec {
   pname = "bluejeans";
-  version = "2.21.3";
-  buildNumber = "2";
+  version = "2.22.0.87";
 
   src = fetchurl {
-    url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans_${version}.${buildNumber}.rpm";
-    sha256 = "sha256-a/REuxkqZmLLa7N3CUgUAdq74VMD9D10a/Sx2jOj1QA=";
+    url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
+    sha256 = "sha256-0nobn+YcvqakwvBdkoEJrzHoL+OGym2zJ806oUabYfo=";
   };
 
   nativeBuildInputs = [ rpmextract makeWrapper ];
@@ -106,7 +109,7 @@ stdenv.mkDerivation rec {
       --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
       opt/BlueJeans/resources/BluejeansHelper
 
-    cc $localtime64_stub -shared -o "$out"/opt/BlueJeans/liblocaltime64_stub.so
+    cc $localtime64_stub -shared -o "${placeholder "out"}"/opt/BlueJeans/liblocaltime64_stub.so
 
     makeWrapper $out/opt/BlueJeans/bluejeans-v2 $out/bin/bluejeans \
       --set LD_LIBRARY_PATH "${libPath}":"${placeholder "out"}"/opt/BlueJeans \
@@ -119,6 +122,8 @@ stdenv.mkDerivation rec {
     patchShebangs "$out"
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Video, audio, and web conferencing that works together with the collaboration tools you use every day";
     homepage = "https://www.bluejeans.com";
@@ -127,3 +132,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
   };
 }
+
diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/update.sh b/pkgs/applications/networking/instant-messengers/bluejeans/update.sh
new file mode 100755
index 0000000000000..2c527462003e4
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/bluejeans/update.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl pup common-updater-scripts
+
+set -eu -o pipefail
+
+version="$(curl -Ls https://www.bluejeans.com/download | \
+    pup 'a[aria-label~="Linux"] attr{href}' | \
+    #output contains *.deb and *.rpm
+    grep "\.rpm" | \
+    awk -F'[ ._ ]' '{printf $6"."$7"."$8"."$9"\n"}')"
+
+update-source-version bluejeans-gui "$version"
diff --git a/pkgs/applications/networking/mailreaders/mailspring/default.nix b/pkgs/applications/networking/mailreaders/mailspring/default.nix
index 6c0de05a7404f..8fe93fb1a44ad 100644
--- a/pkgs/applications/networking/mailreaders/mailspring/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailspring/default.nix
@@ -8,6 +8,7 @@
 , dpkg
 , glib
 , gtk3
+, wrapGAppsHook
 , libkrb5
 , libsecret
 , nss
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     autoPatchelfHook
     dpkg
+    wrapGAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index b5f938b264ec3..1428fa6a4287b 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.0.7";
+  version = "2.1.0";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "sha256-lXaIxqUhVhmS1PLyfPn+sjnHxsAELGBhwOR0p90mzJE=";
+    sha256 = "0dqd6gg1wwhxjgdfl8j0kf93mw43kvd6wrwrzkscq2wjrsy5p0w0";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 8e28190fea4c2..00c6b5cbf27a9 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -335,7 +335,7 @@ stdenv.mkDerivation rec {
     attrPath = "thunderbird-78";
     baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
     inherit writeScript lib common-updater-scripts xidel coreutils gnused
-      gnugrep curl runtimeShell;
+      gnugrep gnupg curl runtimeShell;
   };
 
   requiredSystemFeatures = [ "big-parallel" ];
diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix
index b4d17a1a49380..3abc0458a00e1 100644
--- a/pkgs/applications/networking/testssl/default.nix
+++ b/pkgs/applications/networking/testssl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "testssl.sh";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "drwetter";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Rcvkzw1DfoRXrk0vlpL6CojEHYfYga3voc2hm4qxdmw=";
+    sha256 = "sha256-p2jPpPHtOOmv0CCsXOECgMT9sqa4ZykcJwuGOSkYLaY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
       TLS/SSL ciphers, protocols as well as recent cryptographic flaws and more.
     '';
     homepage = "https://testssl.sh/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ etu ];
   };
 }
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index 17c6398f4ff2a..eb2c0b0f1e77c 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.52.0";
+  version = "0.53.1";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1pvjckh7z803piqyzrvk54jd43f2vcyx20zjcgmq1va8jc3q69k1";
+    sha256 = "0hddq1nijxhr6kgf7gydw0nh07lh86fs8srkhm29ik4hmv8ch19p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix
index 2bfeaa0056875..91ee7c1c65e0e 100644
--- a/pkgs/applications/science/math/gurobi/default.nix
+++ b/pkgs/applications/science/math/gurobi/default.nix
@@ -1,35 +1,28 @@
-{ stdenv, lib, fetchurl, autoPatchelfHook, python2 }:
+{ stdenv, lib, fetchurl, autoPatchelfHook, python3 }:
 
-let
-  majorVersion = "8.1";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "gurobi";
-  version = "${majorVersion}.0";
+  version = "9.1.2";
 
-  src = with lib; fetchurl {
-    url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
-    sha256 = "1yjqbzqnq4jjkjm616d36bgd3rmqr0a1ii17n0prpdjzmdlq63dz";
+  src = fetchurl {
+    url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
+    sha256 = "7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b";
   };
 
   sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
 
   nativeBuildInputs = [ autoPatchelfHook ];
-  buildInputs = [ (python2.withPackages (ps: [ ps.gurobipy ])) ];
+  buildInputs = [ (python3.withPackages (ps: [ ps.gurobipy ])) ];
 
   strictDeps = true;
 
-  buildPhase = ''
-    cd src/build
-    make
-    cd ../..
-  '';
+  makeFlags = [ "--directory=src/build" ];
 
   installPhase = ''
     mkdir -p $out/bin
     cp bin/* $out/bin/
-    rm $out/bin/gurobi.env
     rm $out/bin/gurobi.sh
-    rm $out/bin/python2.7
+    rm $out/bin/python*
 
     cp lib/gurobi.py $out/bin/gurobi.sh
 
@@ -48,7 +41,7 @@ in stdenv.mkDerivation rec {
     ln -s $out/lib/gurobi-javadoc.jar $out/share/java/
   '';
 
-  passthru.libSuffix = lib.replaceStrings ["."] [""] majorVersion;
+  passthru.libSuffix = lib.replaceStrings [ "." ] [ "" ] (lib.versions.majorMinor version);
 
   meta = with lib; {
     description = "Optimization solver for mathematical programming";
diff --git a/pkgs/applications/version-management/git-and-tools/ghr/default.nix b/pkgs/applications/version-management/git-and-tools/ghr/default.nix
index be6d64646a593..5570dbf10148d 100644
--- a/pkgs/applications/version-management/git-and-tools/ghr/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/ghr/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ghr";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "tcnksm";
     repo = "ghr";
     rev = "v${version}";
-    sha256 = "1nm5kdjkqayxh06j9nr5daic9sw9nx9w06y9gaqhdrw9byvjpr1a";
+    sha256 = "sha256-pF1TPvQLPa5BbXZ9rRCq7xWofXCBRa9CDgNxX/kaTMo=";
   };
 
-  vendorSha256 = "14avsngzhl1b8a05i43ph6sxh9vj0jls0acxr9j7r0h3f0vpamcj";
+  vendorSha256 = "sha256-+e9Q4Pw9pJyOXVz85KhOSuybj1PBcJi51fGR3a2Gixk=";
 
   # Tests require a Github API token, and networking
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index e92a5a38a280f..96f3af51620b1 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.14.2";
+  version = "1.14.3";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-0EvKk0/ro1YAqvc5yCt8vn2LkRoIbXrFTwcQtomoWsM=";
+    sha256 = "sha256-ieQxqZO84sYBcCzWYn40tRGLgSs2PpLlcNkI4vFq+wE=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index bdcd3fbc8fd3c..1e439f57ef7bd 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -205,6 +205,7 @@ stdenv.mkDerivation rec {
        optional  fontconfigSupport "-lfontconfig"
     ++ optional  fribidiSupport "-lfribidi"
     ++ optionals x11Support [ "-lX11" "-lXext" ]
+    ++ optional  x264Support "-lx264"
     ++ [ "-lfreetype" ]
   );
 
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 10a6d726aef83..0f5eaecb67dbc 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -17,19 +17,15 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "3.1.2";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-PS41e7myv5xCSJIeT+SRj4rLVCXpthq7KeHisYoSiOE=";
+    sha256 = "sha256-nnVMK4ST9Z2Oi1yLiFRIc9qAlJF4UEtE90iseHhKGlQ=";
   };
 
-  patches = [
-    ./remove-unconfigured-runtime-warn.patch
-  ];
-
   vendorSha256 = null;
 
   doCheck = false;
@@ -61,7 +57,7 @@ buildGoModule rec {
   installPhase = ''
     runHook preInstall
   '' + lib.optionalString stdenv.isDarwin ''
-    mv bin/{podman-remote,podman}
+    mv bin/{darwin/podman,podman}
   '' + ''
     install -Dm555 bin/podman $out/bin/podman
     installShellCompletion --bash completions/bash/*
diff --git a/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch b/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
deleted file mode 100644
index 8530cd93cdf3a..0000000000000
--- a/pkgs/applications/virtualization/podman/remove-unconfigured-runtime-warn.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Remove warning "WARN[0000] Found default OCIruntime /nix/store/.../bin/crun path which is missing from [engine.runtimes] in containers.conf
-
-It doesn't make sense as we promote using the podman wrapper where runtime paths will vary because they are nix store paths.
----
- vendor/github.com/containers/common/pkg/config/config.go | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/vendor/github.com/containers/common/pkg/config/config.go b/vendor/github.com/containers/common/pkg/config/config.go
-index 4a98c7e92..4a95a2a49 100644
---- a/vendor/github.com/containers/common/pkg/config/config.go
-+++ b/vendor/github.com/containers/common/pkg/config/config.go
-@@ -605,8 +605,7 @@ func (c *EngineConfig) findRuntime() string {
- 				return name
- 			}
- 		}
--		if path, err := exec.LookPath(name); err == nil {
--			logrus.Warningf("Found default OCIruntime %s path which is missing from [engine.runtimes] in containers.conf", path)
-+		if _, err := exec.LookPath(name); err == nil {
- 			return name
- 		}
- 	}
---
-2.30.0
diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix
index d315c1027ab46..01f8ae2533e6f 100644
--- a/pkgs/common-updater/unstable-updater.nix
+++ b/pkgs/common-updater/unstable-updater.nix
@@ -1,4 +1,5 @@
-{ writeShellScript
+{ lib
+, writeShellScript
 , coreutils
 , git
 , nix
@@ -8,6 +9,7 @@
 # This is an updater for unstable packages that should always use the latest
 # commit.
 { url ? null # The git url, if empty it will be set to src.url
+, branch ? null
 }:
 
 let
@@ -25,7 +27,9 @@ let
 
     # Get info about HEAD from a shallow git clone
     tmpdir="$(${coreutils}/bin/mktemp -d)"
-    ${git}/bin/git clone --bare --depth=1 "$url" "$tmpdir"
+    ${git}/bin/git clone --bare --depth=1 \
+      ${lib.optionalString (branch != null) "--branch ${branch}"} \
+      "$url" "$tmpdir"
     pushd "$tmpdir"
     commit_date="$(${git}/bin/git show -s --pretty='format:%cs')"
     commit_sha="$(${git}/bin/git show -s --pretty='format:%H')"
diff --git a/pkgs/data/fonts/times-newer-roman/default.nix b/pkgs/data/fonts/times-newer-roman/default.nix
new file mode 100644
index 0000000000000..6122883c61560
--- /dev/null
+++ b/pkgs/data/fonts/times-newer-roman/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchzip }:
+
+let
+  version = "unstable-2018-09-11";
+in
+fetchzip {
+  name = "times-newer-roman-${version}";
+
+  url = "https://web.archive.org/web/20210609022835/https://timesnewerroman.com/assets/TimesNewerRoman.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts/opentype
+    unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype
+  '';
+
+  hash = "sha256-Hx59RYLLwfimEQjEEes0lCpg6iql46DFwhQ7kVGiEzc=";
+
+  meta = with lib; {
+    description = "A font that looks just like Times New Roman, except each character is 5-10% wider";
+    homepage = "https://timesnewerroman.com/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ samuelgrf ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 0ba838bda4ab7..3fc3fc21e477b 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "d1a32be92531e75b1acae3126313cdc013951965",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/d1a32be92531e75b1acae3126313cdc013951965.tar.gz",
-  "sha256": "190m9drzg7rgkjpimlgvl8hsv2g1jg0m0fdgy8xkrh7xr1vjxxgz",
-  "msg": "Update from Hackage at 2021-06-06T15:18:11Z"
+  "commit": "7708395682f798fe3649bd05387ab571fcf8890c",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/7708395682f798fe3649bd05387ab571fcf8890c.tar.gz",
+  "sha256": "0pfv9nmccp9q6p77lmyh8jqkvq1ad392zyy72g8y6kdsgy71nir5",
+  "msg": "Update from Hackage at 2021-06-12T16:23:24Z"
 }
diff --git a/pkgs/data/themes/yaru/default.nix b/pkgs/data/themes/yaru/default.nix
index c158ec3f5a95d..b37a921bbab82 100644
--- a/pkgs/data/themes/yaru/default.nix
+++ b/pkgs/data/themes/yaru/default.nix
@@ -1,5 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, meson, sassc, pkg-config, glib, ninja,
-  python3, gtk3, gnome, gtk-engine-murrine, humanity-icon-theme, hicolor-icon-theme }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, sassc
+, pkg-config
+, glib
+, ninja
+, python3
+, gtk3
+, gnome
+, gtk-engine-murrine
+, humanity-icon-theme
+, hicolor-icon-theme
+}:
 
 stdenv.mkDerivation rec {
   pname = "yaru";
@@ -13,7 +26,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ meson sassc pkg-config glib ninja python3 ];
+
   buildInputs = [ gtk3 gnome.gnome-themes-extra ];
+
   propagatedBuildInputs = [ humanity-icon-theme hicolor-icon-theme ];
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
@@ -27,6 +42,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/ubuntu/yaru";
     license = with licenses; [ cc-by-sa-40 gpl3Plus lgpl21Only lgpl3Only ];
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ fortuneteller2k ];
   };
 }
diff --git a/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix
index 440b8d76b1715..728f341589d89 100644
--- a/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix
+++ b/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-dash-to-panel";
-  version = "40";
+  version = "43";
 
   src = fetchFromGitHub {
     owner = "home-sweet-gnome";
     repo = "dash-to-panel";
     rev = "v${version}";
-    sha256 = "07jq8d16nn62ikis896nyfn3q02f5srj754fmiblhz472q4ljc3p";
+    sha256 = "08n6lwcj943p0vzi2vif7j3nza6xg5z1yka68vwc34ia9ys352m7";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/gnome/extensions/system-monitor/default.nix b/pkgs/desktops/gnome/extensions/system-monitor/default.nix
index d141ab9dcaa44..0a959de268195 100644
--- a/pkgs/desktops/gnome/extensions/system-monitor/default.nix
+++ b/pkgs/desktops/gnome/extensions/system-monitor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-system-monitor";
-  version = "unstable-2021-05-04";
+  version = "unstable-2021-06-19";
 
   src = fetchFromGitHub {
     owner = "paradoxxxzero";
     repo = "gnome-shell-system-monitor-applet";
-    rev = "bc38ccf49ac0ffae0fc0436f3c2579fc86949f10";
-    sha256 = "0yb5sb2xv4m18a24h4daahnxgnlmbfa0rfzic0zs082qv1kfi5h8";
+    rev = "bece7be22352b81d3d81e64e18a385812851b8de";
+    sha256 = "08nnsg7z3cqk25hfgy4wm02hd2wpz13kig498kn4mf5f1q4hslmx";
   };
 
   buildInputs = [
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   patches = [
     (substituteAll {
       src = ./paths_and_nonexisting_dirs.patch;
-      clutter_path = gnome.mutter.libdir; # this should not be used in settings but 🤷‍♀️
+      clutter_path = gnome.mutter.libdir; # only needed for GNOME < 40.
       gtop_path = "${libgtop}/lib/girepository-1.0";
       glib_net_path = "${glib-networking}/lib/girepository-1.0";
     })
diff --git a/pkgs/desktops/xfce/applications/catfish/default.nix b/pkgs/desktops/xfce/applications/catfish/default.nix
index e76ffa7204a11..072181595a6f9 100644
--- a/pkgs/desktops/xfce/applications/catfish/default.nix
+++ b/pkgs/desktops/xfce/applications/catfish/default.nix
@@ -9,7 +9,7 @@ python3Packages.buildPythonApplication rec {
 
   src = fetchurl {
     url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0fg89946z6n8njxn4mv29jksw8yavg8vypsljn9031pjwl3fmh2q";
+    sha256 = "sha256-WMDqBuXyhgGSlVRfv9HbyiOup0xiV2K7tMiab0hK6Dk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/applications/gigolo/default.nix b/pkgs/desktops/xfce/applications/gigolo/default.nix
index 4b7c258ca593e..84fec43b3c2a0 100644
--- a/pkgs/desktops/xfce/applications/gigolo/default.nix
+++ b/pkgs/desktops/xfce/applications/gigolo/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "0.5.2";
   odd-unstable = false;
 
-  sha256 = "8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
+  sha256 = "sha256-8UDb4H3zxRKx2y+MRsozQoR3es0fs5ooR/5wBIE11bY=";
 
   buildInputs = [ gtk3 glib ];
 
diff --git a/pkgs/desktops/xfce/applications/mousepad/default.nix b/pkgs/desktops/xfce/applications/mousepad/default.nix
index 33666c53bb802..11ef1c6841d29 100644
--- a/pkgs/desktops/xfce/applications/mousepad/default.nix
+++ b/pkgs/desktops/xfce/applications/mousepad/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "0.5.5";
   odd-unstable = false;
 
-  sha256 = "1c985xb3395bn1024qhqqdnlkbn02zldsnybxsw49xqh55pa4a2n";
+  sha256 = "sha256-ViiibikQ90S47stb3egXwK5JbcMYYiJAsKukMVYvKLE=";
 
   nativeBuildInputs = [ gobject-introspection ];
 
diff --git a/pkgs/desktops/xfce/applications/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix
index 45500450723b0..f2747c9c62a5e 100644
--- a/pkgs/desktops/xfce/applications/orage/default.nix
+++ b/pkgs/desktops/xfce/applications/orage/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://archive.xfce.org/src/apps/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0qlhvnl2m33vfxqlbkic2nmfpwyd4mq230jzhs48cg78392amy9w";
+    sha256 = "sha256-PPmqRBroPIaIhl+CIXAlzfPrqhUszkVxd3uMKqjdkGI=";
   };
 
   nativeBuildInputs = [ pkg-config intltool wrapGAppsHook ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     (fetchpatch {
       name = "fix-libical3.patch";
       url = "https://aur.archlinux.org/cgit/aur.git/plain/libical3.patch?h=orage-4.10";
-      sha256 = "1l8s106mcidmbx2p8c2pi8v9ngbv2x3fsgv36j8qk8wyd4qd1jbf";
+      sha256 = "sha256-bsnQMGmeo4mRNGM/7UYXez2bNopXMHRFX7VFVg0IGtE=";
     })
   ];
 
diff --git a/pkgs/desktops/xfce/applications/parole/default.nix b/pkgs/desktops/xfce/applications/parole/default.nix
index 5c55a22ea74c8..8ea2180dea289 100644
--- a/pkgs/desktops/xfce/applications/parole/default.nix
+++ b/pkgs/desktops/xfce/applications/parole/default.nix
@@ -9,7 +9,7 @@ mkXfceDerivation {
   pname = "parole";
   version = "4.16.0";
 
-  sha256 = "07hcnbcd56lq7z3gq1cnk71ppy98hwdvlfp5z3zlc55cqrry26zm";
+  sha256 = "sha256-9Rvhc8asFEb/+OU6uhuHKPl7w5mWBfzGP5ia0tiyDB4=";
 
   postPatch = ''
     substituteInPlace src/plugins/mpris2/Makefile.am \
diff --git a/pkgs/desktops/xfce/applications/ristretto/default.nix b/pkgs/desktops/xfce/applications/ristretto/default.nix
index e80497e21f2e2..d938dc8a5282a 100644
--- a/pkgs/desktops/xfce/applications/ristretto/default.nix
+++ b/pkgs/desktops/xfce/applications/ristretto/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "ristretto";
   version = "0.11.0";
 
-  sha256 = "07np4n6kg6lpd7acrb4aga3l6502c8lhjzf867b38n90cx1nh5gf";
+  sha256 = "sha256-7hVoQ2cgWTTWMch9CSliAhRDh3qKrMzUaZeaN40l1x4=";
 
   buildInputs = [ glib gtk3 libexif libxfce4ui libxfce4util xfconf ];
 
diff --git a/pkgs/desktops/xfce/applications/xfburn/default.nix b/pkgs/desktops/xfce/applications/xfburn/default.nix
index 8aff25df49436..f44769ddd69ab 100644
--- a/pkgs/desktops/xfce/applications/xfburn/default.nix
+++ b/pkgs/desktops/xfce/applications/xfburn/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfburn";
   version = "0.6.2";
 
-  sha256 = "02axhsbbsvd31jb0xs1d2qxr614qb29pajv0sm2p1n1c2cv2fjh1";
+  sha256 = "sha256-AUonNhMs2HBF1WBLdZNYmASTOxYt6A6WDKNtvZaGXQk=";
 
   nativeBuildInputs = [ libxslt docbook_xsl ];
   buildInputs = [ exo gtk3 libburn libisofs libxfce4ui ];
diff --git a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
index 6761d2ed5cd91..94f6f7c5dd5b6 100644
--- a/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-dict/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-dict";
   version = "0.8.4";
 
-  sha256 = "0gm5gwqxhnv3qz9ggf8dj1sq5s72xcliidkyip9l91msx03hfjah";
+  sha256 = "sha256-UEkHB+i6hkTTjX62GCnr4uiCdZANuffSx2Nb2DF/pT4=";
 
   patches = [ ./configure-gio.patch ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index 64ab34d2b6fe9..e28c169b26e40 100644
--- a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "xfce4-notifyd";
   version = "0.6.2";
 
-  sha256 = "1q8n7dffyqbfyy6vpqlmnsfpavlc7iz6hhv1h27fkwzswy2rx28s";
+  sha256 = "sha256-Gomehef68+mOgGFDaH48jG51nbaV4ruN925h71w7FuE=";
 
   buildInputs = [ exo gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
index d2d17f5afe847..f381b2d618175 100644
--- a/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-screenshooter/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "1.9.9";
   odd-unstable = false;
 
-  sha256 = "1myzm9sk968bcl9yqh6zyaa3ck42rw01hbcqn8z4sipiwsbhkrj0";
+  sha256 = "sha256-QOYJl+bxRk0+spgtGADPgkw2lPLfQOwTZQuZNHWq39c=";
 
   buildInputs = [ exo gtk3 libsoup libxfce4ui libxfce4util xfce4-panel glib-networking ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
index 5a1510eaa8c5b..0c277f3a8439e 100644
--- a/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-taskmanager/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-taskmanager";
   version = "1.4.2";
 
-  sha256 = "1l7k00y3d9j38g4hxjrcrh1y4s6s77sq4sjcadsbpzs6zdf05hld";
+  sha256 = "sha256-jcICXPtG/7t0U0xqgvU52mjiA8wsyw7JQ0OmNjwA89A=";
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ gtk3 libwnck3 libXmu ];
diff --git a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
index 19d98f84e3ae6..ce0c2d1f3cd35 100644
--- a/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-terminal/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-terminal";
   version = "0.8.10";
 
-  sha256 = "0v58qcrdpqpd2nbwlc4ra7j9nkvfzfhb1zcp1kggbn627q86i0ql";
+  sha256 = "sha256-FINoED7C2PXeDJf9sKD7bk+b5FGZMMqXFe3i2zLDqGw=";
 
   nativeBuildInputs = [ libxslt docbook_xml_dtd_45 docbook_xsl ];
 
diff --git a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
index 413c04a84cc1a..fc9328e0e2f07 100644
--- a/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-volumed-pulse/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-volumed-pulse";
   version = "0.2.3";
 
-  sha256 = "1rsjng9qmq7vzrx5bfxq76h63y501cfl1mksrxkf1x39by9r628j";
+  sha256 = "sha256-EgmTk19p9OBmz3rWQB0LoPhhoDm4u1V6/vvgitOzUuc=";
 
   buildInputs = [ gtk3 libnotify libpulseaudio keybinder3 xfconf ];
 
diff --git a/pkgs/desktops/xfce/applications/xfdashboard/default.nix b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
index bef18e3e505dd..80e3b7ed791a9 100644
--- a/pkgs/desktops/xfce/applications/xfdashboard/default.nix
+++ b/pkgs/desktops/xfce/applications/xfdashboard/default.nix
@@ -21,7 +21,7 @@ mkXfceDerivation {
   rev-prefix = "";
   odd-unstable = false;
 
-  sha256 = "06pvzhhkr2mimsrzlkpsrzf5fxag4fhabyb3cpmgpyp5hcbgvaj3";
+  sha256 = "sha256-Q6r9FoPl+vvqZWP5paAjT3VX3M/6TvqzrrGKPCH8+xo=";
 
   buildInputs = [
     clutter
diff --git a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
index a2339d5856803..6ece5d68c5fb3 100644
--- a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
+++ b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l";
+    sha256 = "sha256-1HhmktVrilY/ZqXyYPHxOt4R6Gx4y8slqfml/EfPZvo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
index 31623598d316e..5548be8f4abe2 100644
--- a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
+++ b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0xfmdykav4rf6gdxbd6fhmrfrvbdc1yjihz7r7lba0wp1vqda51j";
+    sha256 = "sha256-MhTV8A6XA7XoyefDKH1gbe3scoXOtNXbMy6TraZv1XU=";
   };
 
   passthru.updateScript = xfce.updateScript {
diff --git a/pkgs/desktops/xfce/core/exo/default.nix b/pkgs/desktops/xfce/core/exo/default.nix
index 962170a1765ff..3ab53444a41af 100644
--- a/pkgs/desktops/xfce/core/exo/default.nix
+++ b/pkgs/desktops/xfce/core/exo/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "exo";
   version = "4.16.2";
 
-  sha256 = "0rsp92j4hkr5jrkrj8anzw9fwd96xbxzpzqzqiyjjwdiq7b29l1v";
+  sha256 = "sha256-O9Ak1sGxcSl9xB//+/vqJjXuEv9WIZlnliVPSKRIV2c=";
 
   nativeBuildInputs = [
     libxslt
diff --git a/pkgs/desktops/xfce/core/garcon/default.nix b/pkgs/desktops/xfce/core/garcon/default.nix
index 56ce6ac8aa290..a3ff8e0afd1ff 100644
--- a/pkgs/desktops/xfce/core/garcon/default.nix
+++ b/pkgs/desktops/xfce/core/garcon/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "garcon";
   version = "4.16.1";
 
-  sha256 = "134nm1754i12axl4si60fdwkbk2v6z108nrj9c0lb5in1zmqwa9a";
+  sha256 = "sha256-KimO6w82lkUBSzJbBMI3W8w1eXPARE1oVyJEUk6olow=";
 
   nativeBuildInputs = [ gobject-introspection ];
 
diff --git a/pkgs/desktops/xfce/core/libxfce4ui/default.nix b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
index e17880f1b1b06..99cb0e7cc6263 100644
--- a/pkgs/desktops/xfce/core/libxfce4ui/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4ui/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "libxfce4ui";
   version = "4.16.0";
 
-  sha256 = "0a9wfdpsv83giwv6kcidvpd6c665aa7sv6f2l1q6qcq214vb0rk2";
+  sha256 = "sha256-YmawNgkCM2xwoMKZrY9SxRhm2t0tsmk2j2+grW9zPCk=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
   buildInputs =  [ gtk3 libstartup_notification libgtop epoxy xfconf ];
diff --git a/pkgs/desktops/xfce/core/libxfce4util/default.nix b/pkgs/desktops/xfce/core/libxfce4util/default.nix
index 69c3921285038..638c3a3158ddd 100644
--- a/pkgs/desktops/xfce/core/libxfce4util/default.nix
+++ b/pkgs/desktops/xfce/core/libxfce4util/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "libxfce4util";
   version = "4.16.0";
 
-  sha256 = "1p0snipc81dhaq5glv7c1zfq5pcvgq7nikl4ikhfm2af9picfsxb";
+  sha256 = "sha256-q2vH4k1OiergjITOaA9+m92C3Q/sbPoKVrAFxG60Gtw=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
 
diff --git a/pkgs/desktops/xfce/core/thunar-volman/default.nix b/pkgs/desktops/xfce/core/thunar-volman/default.nix
index 6ceca34b1bddf..31d25f97d37d1 100644
--- a/pkgs/desktops/xfce/core/thunar-volman/default.nix
+++ b/pkgs/desktops/xfce/core/thunar-volman/default.nix
@@ -7,7 +7,7 @@ mkXfceDerivation {
 
   buildInputs = [ exo gtk3 libgudev libxfce4ui libxfce4util xfconf ];
 
-  sha256 = "002nkxsvcq384dgpj7lv3bmb21ks64hsq13l67z1dcjbj51hzl03";
+  sha256 = "sha256-A9APQ5FLshb+MXQErCExegax6hqbHnlfI2hgtnWfVgA=";
 
   odd-unstable = false;
 
diff --git a/pkgs/desktops/xfce/core/thunar/default.nix b/pkgs/desktops/xfce/core/thunar/default.nix
index 68027bf50185a..7efc64e942dee 100644
--- a/pkgs/desktops/xfce/core/thunar/default.nix
+++ b/pkgs/desktops/xfce/core/thunar/default.nix
@@ -23,7 +23,7 @@ let unwrapped = mkXfceDerivation {
   pname = "thunar";
   version = "4.16.8";
 
-  sha256 = "1r7qkd6l0mgf97m1xnnizm7fkvl4a52r3hsds5z68y6myvb78p18";
+  sha256 = "sha256-KFx01vbVeGR+0U3DkUVRhO7pTv3R2h7qSe5VQE2b+OQ=";
 
   nativeBuildInputs = [
     docbook_xsl
diff --git a/pkgs/desktops/xfce/core/tumbler/default.nix b/pkgs/desktops/xfce/core/tumbler/default.nix
index 510d30ae63fb3..a9642b3b52c6f 100644
--- a/pkgs/desktops/xfce/core/tumbler/default.nix
+++ b/pkgs/desktops/xfce/core/tumbler/default.nix
@@ -15,7 +15,7 @@ mkXfceDerivation {
   pname = "tumbler";
   version = "4.16.0";
 
-  sha256 = "1z4q858afj3yksim4lc96wylgvymv4cv6iw41qdxl5xd6ii2ddr4";
+  sha256 = "sha256-JLcmYjStF9obDoRHsxnZ1e9HPTeJUVKjnn5Ip1BBmPw=";
 
   buildInputs = [
     ffmpegthumbnailer
diff --git a/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
index 01cc70e3b9afc..4d0f61863e7de 100644
--- a/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-appfinder/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-appfinder";
   version = "4.16.1";
 
-  sha256 = "1r7sjdavqadrpgxqclrznds7a1c2i7mlvghx5mi6qqnh42425gsy";
+  sha256 = "sha256-Xr8iiCDQYmxiLR2+TeuJggV1dLM/U4b7u7kpvFWT+uQ=";
 
   nativeBuildInputs = [ exo ];
   buildInputs = [ garcon gtk3 libxfce4ui libxfce4util xfconf ];
diff --git a/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
index 9b3f443ba38ad..fc8263abb4fc0 100644
--- a/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-dev-tools/default.nix
@@ -15,7 +15,7 @@ mkXfceDerivation {
   pname = "xfce4-dev-tools";
   version = "4.16.0";
 
-  sha256 = "0w47npi1np9vb7lhzjr680aa1xb8ch6kcbg0l0bqnpm0y0jmvgz6";
+  sha256 = "sha256-5r9dJfCgXosXoOAtNg1kaPWgFEAmyw/pWTtdG+K1h3A=";
 
   nativeBuildInputs = [
     autoreconfHook
diff --git a/pkgs/desktops/xfce/core/xfce4-panel/default.nix b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
index d0b1862c3f7c2..86c1789a1b0e7 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel/default.nix
@@ -18,7 +18,7 @@ mkXfceDerivation {
   pname = "xfce4-panel";
   version = "4.16.3";
 
-  sha256 = "085hxllsf792sgi8nn0qjfj5vclbrw2dgrgzl6gy55lxcbhkml9x";
+  sha256 = "sha256-PdE64WKdluKfof/l1wTPi7JdpJMYWIvi0yIdpyntsCA=";
 
   nativeBuildInputs = [
     gobject-introspection
diff --git a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
index 709b6a2a0cbf0..76672b660a177 100644
--- a/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-power-manager/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   pname = "xfce4-power-manager";
   version = "4.16.0";
 
-  sha256 = "1rfw07xbv83rfb0mz3ayanlcvnaq7xpl2znsyya0hspysvavwks2";
+  sha256 = "sha256-Qk++1db+agiU99p+QW8/WNnNqFVejV/BcnmgvfoB3OU=";
 
   nativeBuildInputs = [ automakeAddFlags exo ];
   buildInputs = [ gtk3 libnotify libxfce4ui libxfce4util upower xfconf ];
diff --git a/pkgs/desktops/xfce/core/xfce4-session/default.nix b/pkgs/desktops/xfce/core/xfce4-session/default.nix
index 0d4c0615898c6..d47dbc9340a0d 100644
--- a/pkgs/desktops/xfce/core/xfce4-session/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-session/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfce4-session";
   version = "4.16.0";
 
-  sha256 = "0b8vkcqn2arjp6qdwmzr0f84n8fjgy2kbf9h4gq03400ar1l111c";
+  sha256 = "sha256-LIRAQ1YAkAHwIzC5NYV/0iFLkAP5V96wuTIrYTGbGy0=";
 
   buildInputs = [ exo gtk3 glib libxfce4ui libxfce4util libwnck3 xfconf polkit iceauth ];
 
diff --git a/pkgs/desktops/xfce/core/xfce4-settings/default.nix b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
index 4f6f291f134a4..61382ba8c5098 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings/default.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings/default.nix
@@ -7,7 +7,7 @@ mkXfceDerivation {
   pname = "xfce4-settings";
   version = "4.16.2";
 
-  sha256 = "09npyqxsbrvz60bkbardqrizd5rvray5hkp84qgjzc10z4qrnk0f";
+  sha256 = "sha256-DkybMfkgsC8fJuhOWLzKO5f2Y8YtqzUXMH/npTv21yY=";
 
   postPatch = ''
     for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do
diff --git a/pkgs/desktops/xfce/core/xfconf/default.nix b/pkgs/desktops/xfce/core/xfconf/default.nix
index 41af53c9cc21b..f255c5e5e58b1 100644
--- a/pkgs/desktops/xfce/core/xfconf/default.nix
+++ b/pkgs/desktops/xfce/core/xfconf/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfconf";
   version = "4.16.0";
 
-  sha256 = "00cp2cm1w5a6k7g0fjvqx7d2iwaqw196vii9jkx1aa7mb0f2gk63";
+  sha256 = "sha256-w8wnHFj1KBX6lCnGbVLgWPEo2ul4SwfemUYVHioTlwE=";
 
   nativeBuildInputs = [ gobject-introspection vala ];
 
diff --git a/pkgs/desktops/xfce/core/xfdesktop/default.nix b/pkgs/desktops/xfce/core/xfdesktop/default.nix
index a9e461a4e646e..d47d4769a5666 100644
--- a/pkgs/desktops/xfce/core/xfdesktop/default.nix
+++ b/pkgs/desktops/xfce/core/xfdesktop/default.nix
@@ -5,7 +5,7 @@ mkXfceDerivation {
   pname = "xfdesktop";
   version = "4.16.0";
 
-  sha256 = "1znbccr25wvizmzzgdcf719y3qc9gqdi1g4rasgrmi95427lvwn3";
+  sha256 = "sha256-w/JNjyAlxZqfVpm8EBt+ieHhUziOtfd//XHzIjJjy/4=";
 
   buildInputs = [
     exo
diff --git a/pkgs/desktops/xfce/core/xfwm4/default.nix b/pkgs/desktops/xfce/core/xfwm4/default.nix
index f8cfc551545c2..179da89a52128 100644
--- a/pkgs/desktops/xfce/core/xfwm4/default.nix
+++ b/pkgs/desktops/xfce/core/xfwm4/default.nix
@@ -7,7 +7,7 @@ mkXfceDerivation {
   pname = "xfwm4";
   version = "4.16.1";
 
-  sha256 = "1lhxm9ifkrnvn1vq3aak3kd695i1ishpryjnw617ifzawy9lj10b";
+  sha256 = "sha256-CwRJk+fqu3iC4Vb6fKGOIZZk2hxTqYF3sNvm6WKqHdI=";
 
   nativeBuildInputs = [ exo librsvg ];
 
diff --git a/pkgs/desktops/xfce/mkXfceDerivation.nix b/pkgs/desktops/xfce/mkXfceDerivation.nix
index 7858450b08160..8ff0d83cae387 100644
--- a/pkgs/desktops/xfce/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce/mkXfceDerivation.nix
@@ -57,3 +57,4 @@ let
 in
 
 stdenv.mkDerivation (recursiveUpdate template publicArgs // concatAttrLists [ template args ])
+# TODO [ AndersonTorres ]: verify if it allows using hash attribute as an option to sha256
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
index 0d047447e0c2b..ffb0118edee82 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-battery-plugin/default.nix
@@ -3,10 +3,10 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-battery-plugin";
-  version = "1.1.3";
-  rev-prefix = "";
+  version = "1.1.4";
+  rev-prefix = "xfce4-battery-plugin-";
   odd-unstable = false;
-  sha256 = "0ligdiasrfc3170kd7sif2ml6lvlpp11lbxz3xdvklqkv7p3323y";
+  sha256 = "sha256-LwwlyWhtVM+OHR9KtE4DPyU5V/dMOjcgSjsI3o7qfk8=";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
index d4492948ac6da..7f18009c51d21 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-clipman-plugin/default.nix
@@ -4,7 +4,7 @@ mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-clipman-plugin";
   version = "1.6.2";
-  sha256 = "0pm4pzq3imc0m09mg0zk6kwcn5yzdgiqgdbpws01q3xz58jmb4a6";
+  sha256 = "sha256-RpFVJSq/DxyA5ne1h+Nr3xfL+DTzg1cTqIDVOPC/pF4=";
 
   buildInputs = [ libXtst libxfce4ui xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index f776e6c1693ae..358d2b64e446e 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
@@ -4,7 +4,7 @@ mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-cpufreq-plugin";
   version = "1.2.5";
-  sha256 = "1isqlfhz1ijl1h3hfvi0n4misdjsrhd7pc9h5rkaqm4vh543ggxg";
+  sha256 = "sha256-r783SIGbVKxmLjCxexrMWjYdK7EgbgcHDFTG8KGjWMc=";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
index 991da9928ff40..1a8842f5c86ef 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "13302psv0fzg2dsgadr8j6mb06k1bsa4zw6hxmb644vqlvcwq37v";
+    sha256 = "sha256-+wzM2aZ4E2JW7dDwT5ReYRqwqpEoN/V0E+87sPUVYIw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
index 44d255c5fa64a..2626ea749971b 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-datetime-plugin/default.nix
@@ -12,7 +12,7 @@ mkXfceDerivation {
   version = "0.8.1";
 
   rev-prefix = "xfce4-datetime-plugin-";
-  sha256 = "06h13bmh2sni4qbr3kfnqaa5dq5f48h4xkywrm9pa6h2nyvn4rma";
+  sha256 = "sha256-qmZit7cCGnVTzdzPTiAiruBWlMLWzZEXJtFqAesaARo=";
 
   nativeBuildInputs = [
     gettext
@@ -26,6 +26,6 @@ mkXfceDerivation {
 
   meta = with lib; {
     description = "Shows the date and time in the panel, and a calendar appears when you left-click on it";
-    maintainers = [ maintainers.AndersonTorres ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
index 9224a22e53ba0..41f71ec2f907e 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-dockbarx-plugin/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     owner = "xuzhen";
     repo = "xfce4-dockbarx-plugin";
     rev = rev;
-    sha256 = "0s8bljn4ga2hj480j0jwkc0npp8szbmirmcsys791gk32iq4dasn";
+    sha256 = "sha256-VqtGcBRjvpCO9prVHOv6Gt1rAZtcAgkQkVCoR6ykC2k=";
   };
 
   pythonPath = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
index 7c48e4a2a9f87..00738ccbc6297 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0a72kqsjjh45swimqlpyrahdnplp0383v0i4phr4n6g8c1ixyry7";
+    sha256 = "sha256-x2ffY2DoGUsyvCSCPdAAl17boMr+Ulwj14VAKTWe4ig=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
index d19f0051d432b..4bc0399404894 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1iaszzkagl1mb0cdafrvlfjnjklhhs9y90517par34sjiqbq1dsd";
+    sha256 = "sha256-TbeAF45Sk5HVPaGA5JOGkE5ppaM7O9UYWDXQp+b/WsU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
index 36cca7b739549..1e98a5a621216 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "Z9jmohmnEXxZaTrbxZw5puujHj8YpUmRie9O8otVQQU=";
+    sha256 = "sha256-Z9jmohmnEXxZaTrbxZw5puujHj8YpUmRie9O8otVQQU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
index 8289be3331002..e190df90b83ba 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "shGf0P8Z+ik7l+yXsN6OJBeZ4IuGIYUVFnxWi9m1ATU=";
+    sha256 = "sha256-shGf0P8Z+ik7l+yXsN6OJBeZ4IuGIYUVFnxWi9m1ATU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
index 3a01e8063874f..8ff68c21d61be 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-hardware-monitor-plugin/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://git.xfce.org/archive/${pname}/snapshot/${pname}-${version}.tar.gz";
-    sha256 = "11k7m41jxkaqmpp5njkixw60q517xnw923mz34dnm1llx9ilvfk8";
+    sha256 = "sha256-aLpNY+qUhmobGb8OkbjtJxQMDO9xSlvurVjNLgOpZ4Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
index b9f4481be32c2..56d9a15aaada9 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0bmykjhd3gs1737fl3zn5gg6f3vlncak2xqz89zv5018znz1xy90";
+    sha256 = "sha256-IPkevv0ogLJ/Qh93MRWzdA9n3iv2D+rOOEG/0aCcvi4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
index 37f64021c72a4..8012b14b13893 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0q3pysdp85b3c7g3b59y3c69g4nw6bvbf518lnri4lxrnsvpizpf";
+    sha256 = "sha256-7v54t7a5UxKzpSgUt/Yy3JKXDBs+lTXeYWMVdJv2d2A=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
index ec57a7260f6db..a44e923d3563f 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "HugLifeTiZ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l70f6mzkscsj4wr43wp5c0l2qnf85vj24cv02bjrh3bzz6wkak8";
+    sha256 = "sha256-aKrJzf9rwCyXAJsRIXdBzmJBASuXD5I5kZrp+atx4FA=";
   };
 
   nativeBuildInputs = [ pkg-config vala_0_46 wafHook python3 ];
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
index 4ee50a07a34b4..dc39001b8089d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-netload-plugin/default.nix
@@ -3,10 +3,10 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-netload-plugin";
-  version = "1.3.2";
-  rev-prefix = "version-";
+  version = "1.4.0";
+  rev-prefix = "xfce4-netload-plugin-";
   odd-unstable = false;
-  sha256 = "1py1l4z5ah4nlq8l2912k47ffsa5z7p1gbvlk7nw6b9r1x4ykdfl";
+  sha256 = "sha256-HasaMymMCPidYkaAUK4gvD+Ka7NJdFOTeq43gJ1G3jo=";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
index 79519b858760d..6e84c83eafcc0 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "E/kJyUi2Oflt5kz3k+t0yxd5WJIB05M+/yFO6PNasIg=";
+    sha256 = "sha256-E/kJyUi2Oflt5kz3k+t0yxd5WJIB05M+/yFO6PNasIg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
index 10850974bb7d3..ab3983721611c 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-pulseaudio-plugin/default.nix
@@ -18,7 +18,7 @@ mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-pulseaudio-plugin";
   version = "0.4.3";
-  sha256 = "1rfw2w8gl95iawiy57qlvz958dqjc8bmxnc3dma4rqzm6g46jkgq";
+  sha256 = "sha256-+E1pyDP140xUbYPZXhdiEjdU0t8Un+IjV7Ek+hAX3OU=";
 
   nativeBuildInputs = [
     automakeAddFlags
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
index dbefda4e5ee20..2e275f2b35d9e 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0v44qwrwb95jrlsni1gdlc0zhymlm62w42zs3jbr5mcdc7j4mil3";
+    sha256 = "sha256-g8ZK5GGN1ZKXHPoLwoWptHr4AaPthWg1zbKkxTPHhGw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
index 3c35297897b75..092985f5acd2c 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "0lknh5l30qs5c69wwjcblbyhczvdbxs59fqkb8mpqbfm05w01lan";
+    sha256 = "sha256-VtEAeAHVLXwrWhO7VHRfbX8G/aKLSc6TYUVjMGiBdlI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
index 3731d3937bd91..a31824ab771a9 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1qr4m3n2l3rvsizsr3h7fyfajszfalqm7rhvjx2yjj8r3f8x4ljb";
+    sha256 = "sha256-S1LSkRsZSelFlxvmUzFV7mupnHcHjqx/1DsPKuyoJOM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
index 209e25bc9e3f4..838dba46c8808 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-verve-plugin/default.nix
@@ -12,7 +12,7 @@ mkXfceDerivation {
   pname = "xfce4-verve-plugin";
   version = "2.0.1";
   rev-prefix = "";
-  sha256 = "YwUOSTZMoHsWWmi/ajQv/fX8a0IJoc3re3laVEmnX/M=";
+  sha256 = "sha256-YwUOSTZMoHsWWmi/ajQv/fX8a0IJoc3re3laVEmnX/M=";
 
   buildInputs = [ gtk3 libxfce4ui pcre libxfce4util xfce4-panel ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
index 5992bf343edc2..d300329d2876c 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "1z2k24d599mxf5gqa35i3xmc3gk2yvqs80hxxpyw06yma6ljw973";
+    sha256 = "sha256-4yQuqVHVG8D97R0CpPH2Yr7Bah+xDIVfcb2mVBoRU/w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
index 123376b0f2ba5..b9d6f5b23eb5d 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-whiskermenu-plugin/default.nix
@@ -6,7 +6,7 @@ mkXfceDerivation {
   version = "2.5.3";
   rev-prefix = "v";
   odd-unstable = false;
-  sha256 = "15kcph35pji3l1y81snrmpqzhhpdc9h4nk6cjsjyla51a1s2y3hz";
+  sha256 = "sha256-Hw4vdFChKOqllsxMS2Bi7UL48a3Z6oB8oCPKWwa8bJY=";
 
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
index 281003db92a08..bcd43d328e339 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "invidian";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l066a174v2c7ly125v9x1fgbg5bnpwdwnjh69v9kp4plp791q4n";
+    sha256 = "sha256-luCQzqWX3Jl2MlBa3vi1q7z1XOhpFxE8PUxscoIyBlA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
index 35bc5ea8284e8..f24a38c82a3a7 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-xkb-plugin/default.nix
@@ -16,7 +16,7 @@ mkXfceDerivation {
   pname = "xfce4-xkb-plugin";
   version = "0.8.2";
   rev-prefix = "";
-  sha256 = "xmCoNMxykeaThYEJo6BcbraFo9CruFZL6YPjovzb6hg=";
+  sha256 = "sha256-xmCoNMxykeaThYEJo6BcbraFo9CruFZL6YPjovzb6hg=";
 
   buildInputs = [
     garcon
diff --git a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
index c46b5a0fd1b7d..53d18b4d9b367 100644
--- a/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/archive/default.nix
@@ -13,7 +13,7 @@ mkXfceDerivation {
   pname  = "thunar-archive-plugin";
   version = "0.4.0";
 
-  sha256 = "1793zicm00fail4iknliwy2b668j239ndxhc9hy6jarvdyp08h38";
+  sha256 = "sha256-aEAErm87K2k8TAz2ZtMQEhmzhOeR2hkJjcoBUFn8I50=";
 
   nativeBuildInputs = [
     intltool
diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index d43c56c72888c..3e8004d3d5389 100644
--- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "Jeinzi";
     repo = "thunar-dropbox";
     rev = version;
-    sha256 = "1fshjvh542ffa8npfxv3cassgn6jclb2ix9ir997y4k0abzp1fxb";
+    sha256 = "sha256-q7tw/1JgEn9SyjH1KBZl0tintWJjd3ctUs4JUuCWULs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/gleam/default.nix b/pkgs/development/compilers/gleam/default.nix
index 7bce45c455f2f..5c88be00ba8f0 100644
--- a/pkgs/development/compilers/gleam/default.nix
+++ b/pkgs/development/compilers/gleam/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gleam";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "gleam-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vBxVGIgg2BpVvEYjmX99YSf1zy9aWOHr6ftaYxJWkzY=";
+    sha256 = "sha256-QcJudP4zhtY1CxV3XLkiC06hrKOqlLdb+X6lHvqc7ZA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++
     lib.optionals stdenv.isDarwin [ Security libiconv ];
 
-  cargoSha256 = "sha256-2zHc7xk5MuEUO9YGifSWbgRTi51ZUk84QLro94LsBtQ=";
+  cargoSha256 = "sha256-een2aI6gDVx450mQcwF1uRG/tn9FzahTMWpPdvUBumE=";
 
   meta = with lib; {
     description = "A statically typed language for the Erlang VM";
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 0fb58bfeda4f9..a2021c836fec1 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -37,8 +37,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://kotlinlang.org/";
     license = lib.licenses.asl20;
-    maintainers = with lib.maintainers;
-      [ ];
+    maintainers = with lib.maintainers; [ SubhrajyotiSen ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/development/compilers/scryer-prolog/cargo.patch b/pkgs/development/compilers/scryer-prolog/cargo.patch
new file mode 100644
index 0000000000000..61a36c9ad1c96
--- /dev/null
+++ b/pkgs/development/compilers/scryer-prolog/cargo.patch
@@ -0,0 +1,101 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index ef25833..d9de212 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -41,9 +41,9 @@ checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
+ 
+ [[package]]
+ name = "az"
+-version = "0.3.1"
++version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "41a6b78289a33e09b00818ca8c90ab17c5dabb6e74f4b29a6de679c0e0886ade"
++checksum = "e9bcd47d94aa4eb8c076b50fc61a75020789394ffb9bd74a180b3379130f6569"
+ 
+ [[package]]
+ name = "base64"
+@@ -384,9 +384,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "gmp-mpfr-sys"
+-version = "1.2.2"
++version = "1.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "63d7f805cf9df081683d463f62864bda8b8e3ce7162a8e11cd0c49f27b8ce89b"
++checksum = "ad4e8e85ec9fb902b4564deeb17b1a263d3ba1334bef56154418aa045b159508"
+ dependencies = [
+  "libc",
+  "winapi 0.3.8",
+@@ -766,15 +766,6 @@ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+ 
+-[[package]]
+-name = "openssl-src"
+-version = "111.9.0+1.1.1g"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a2dbe10ddd1eb335aba3780eb2eaa13e1b7b441d2562fd962398740927f39ec4"
+-dependencies = [
+- "cc",
+-]
+-
+ [[package]]
+ name = "openssl-sys"
+ version = "0.9.58"
+@@ -784,7 +775,6 @@ dependencies = [
+  "autocfg 1.0.0",
+  "cc",
+  "libc",
+- "openssl-src",
+  "pkg-config",
+  "vcpkg",
+ ]
+@@ -1159,9 +1149,9 @@ dependencies = [
+ 
+ [[package]]
+ name = "rug"
+-version = "1.8.0"
++version = "1.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "72315b6d9cb7d886fb99724330c47ceb29e923df657c31da3849fe88c0ded710"
++checksum = "e538d00da450a8e48aac7e6322e67b2dc86ec71a1feeac0e3954c4f07f01bc45"
+ dependencies = [
+  "az",
+  "gmp-mpfr-sys",
+@@ -1232,7 +1222,7 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+ 
+ [[package]]
+ name = "scryer-prolog"
+-version = "0.8.126"
++version = "0.8.127"
+ dependencies = [
+  "base64 0.12.3",
+  "blake2",
+@@ -1243,6 +1233,7 @@ dependencies = [
+  "divrem",
+  "downcast",
+  "git-version",
++ "gmp-mpfr-sys",
+  "hostname",
+  "indexmap",
+  "lazy_static",
+diff --git a/Cargo.toml b/Cargo.toml
+index c359e1b..75c4325 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -41,10 +41,14 @@ ring = "0.16.13"
+ ripemd160 = "0.8.0"
+ sha3 = "0.8.2"
+ blake2 = "0.8.1"
+-openssl = { version = "0.10.29", features = ["vendored"] }
++openssl = { version = "0.10.29" }
+ native-tls = "0.2.4"
+ chrono = "0.4.11"
+ select = "0.4.3"
+ roxmltree = "0.11.0"
+ base64 = "0.12.3"
+ sodiumoxide = "0.2.6"
++
++[dependencies.gmp-mpfr-sys]
++version = "1.4"
++features = ["use-system-libs"]
diff --git a/pkgs/development/compilers/scryer-prolog/default.nix b/pkgs/development/compilers/scryer-prolog/default.nix
new file mode 100644
index 0000000000000..534379bcacfc2
--- /dev/null
+++ b/pkgs/development/compilers/scryer-prolog/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, gmp
+, libmpc
+, mpfr
+, openssl
+, pkg-config
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "scryer-prolog";
+  version = "0.8.127";
+
+  src = fetchFromGitHub {
+    owner = "mthom";
+    repo = "scryer-prolog";
+    rev = "v${version}";
+    sha256 = "0307yclslkdx6f0h0101a3da47rhz6qizf4i8q8rjh4id8wpdsn8";
+  };
+
+  # Use system openssl, gmp, mpc and mpfr.
+  cargoPatches = [ ./cargo.patch ];
+
+  cargoSha256 = "0gb0l2wwf8079jwggn9zxk8pz8pxg3b7pin1d7dsbd4ij52lzyi2";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ openssl gmp libmpc mpfr ];
+
+  meta = with lib; {
+    description = "A modern Prolog implementation written mostly in Rust.";
+    homepage = "https://github.com/mthom/scryer-prolog";
+    license = with licenses; [ bsd3 ];
+    maintainers = with maintainers; [ malbarbo ];
+  };
+}
diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix
index bd50ea9caaafd..ac1851a683bf5 100644
--- a/pkgs/development/compilers/terra/default.nix
+++ b/pkgs/development/compilers/terra/default.nix
@@ -1,27 +1,53 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub
-, llvmPackages, ncurses, lua
-}:
+{ lib, stdenv, fetchFromGitHub, llvmPackages, ncurses, cmake, libxml2
+, symlinkJoin, breakpointHook, cudaPackages, enableCUDA ? false }:
 
 let
-  luajitArchive = "LuaJIT-2.0.5.tar.gz";
-  luajitSrc = fetchurl {
-    url    = "http://luajit.org/download/${luajitArchive}";
-    sha256 = "0yg9q4q6v028bgh85317ykc9whgxgysp76qzaqgq55y6jy11yjw7";
+  luajitRev = "9143e86498436892cb4316550be4d45b68a61224";
+  luajitBase = "LuaJIT-${luajitRev}";
+  luajitArchive = "${luajitBase}.tar.gz";
+  luajitSrc = fetchFromGitHub {
+    owner = "LuaJIT";
+    repo = "LuaJIT";
+    rev = luajitRev;
+    sha256 = "1zw1yr0375d6jr5x20zvkvk76hkaqamjynbswpl604w6r6id070b";
   };
-in
-stdenv.mkDerivation rec {
+
+  llvmMerged = symlinkJoin {
+    name = "llvmClangMerged";
+    paths = with llvmPackages; [
+      llvm.out
+      llvm.dev
+      llvm.lib
+      clang-unwrapped.out
+      clang-unwrapped.dev
+      clang-unwrapped.lib
+    ];
+  };
+
+  cuda = cudaPackages.cudatoolkit_11;
+
+  clangVersion = llvmPackages.clang-unwrapped.version;
+
+in stdenv.mkDerivation rec {
   pname = "terra";
-  version = "1.0.0pre1175_${builtins.substring 0 7 src.rev}";
+  version = "1.0.0-beta3_${builtins.substring 0 7 src.rev}";
 
   src = fetchFromGitHub {
-    owner  = "zdevito";
-    repo   = "terra";
-    rev    = "ef6a75ffee15a30f3c74f4e6943851cfbc0fec3d";
-    sha256 = "0aky17vbv3d9zng34hp17p9zb00dbzwhvzsdjzrrqvk9lmyvix0s";
+    owner = "terralang";
+    repo = "terra";
+    rev = "99ff93f8c60c89bbe2dc7c63eab9bfe2f4c4833e";
+    sha256 = "0ww54xjvv6p8jwsh6hml3v527zgnv2gj58gpb818bbg4k1jwa5fl";
   };
 
-  nativeBuildInputs = [ lua ];
-  buildInputs = with llvmPackages; [ llvm clang-unwrapped ncurses ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ llvmMerged ncurses libxml2 ] ++ lib.optional enableCUDA cuda;
+
+  cmakeFlags = [
+    "-DHAS_TERRA_VERSION=0"
+    "-DTERRA_VERSION=${version}"
+    "-DTERRA_LUA=luajit"
+    "-DCLANG_RESOURCE_DIR=${llvmMerged}/lib/clang/${clangVersion}"
+  ] ++ lib.optional enableCUDA "-DTERRA_ENABLE_CUDA=ON";
 
   doCheck = true;
   enableParallelBuilding = true;
@@ -29,40 +55,36 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" "static" ];
 
   patches = [ ./nix-cflags.patch ];
+
   postPatch = ''
-    substituteInPlace Makefile \
-      --replace '-lcurses' '-lncurses'
+    sed -i '/file(DOWNLOAD "''${LUAJIT_URL}" "''${LUAJIT_TAR}")/d' \
+      cmake/Modules/GetLuaJIT.cmake
 
     substituteInPlace src/terralib.lua \
       --subst-var-by NIX_LIBC_INCLUDE ${lib.getDev stdenv.cc.libc}/include
   '';
 
-  preBuild = ''
-    cat >Makefile.inc<<EOF
-    CLANG = ${lib.getBin llvmPackages.clang-unwrapped}/bin/clang
-    LLVM_CONFIG = ${lib.getBin llvmPackages.llvm}/bin/llvm-config
-    EOF
-
+  preConfigure = ''
     mkdir -p build
-    cp ${luajitSrc} build/${luajitArchive}
+    ln -s ${luajitSrc} build/${luajitBase}
+    tar --mode="a+rwX" -chzf build/${luajitArchive} -C build ${luajitBase}
+    rm build/${luajitBase}
   '';
 
-  checkPhase = "(cd tests && ../terra run)";
-
   installPhase = ''
-    install -Dm755 -t $bin/bin release/bin/terra
-    install -Dm755 -t $out/lib release/lib/terra${stdenv.hostPlatform.extensions.sharedLibrary}
-    install -Dm644 -t $static/lib release/lib/libterra.a
+    install -Dm755 -t $bin/bin bin/terra
+    install -Dm755 -t $out/lib lib/terra${stdenv.hostPlatform.extensions.sharedLibrary}
+    install -Dm644 -t $static/lib lib/libterra_s.a
 
     mkdir -pv $dev/include
-    cp -rv release/include/terra $dev/include
+    cp -rv include/terra $dev/include
   '';
 
   meta = with lib; {
     description = "A low-level counterpart to Lua";
-    homepage    = "http://terralang.org/";
-    platforms   = platforms.x86_64;
-    maintainers = with maintainers; [ jb55 thoughtpolice ];
-    license     = licenses.mit;
+    homepage = "http://terralang.org/";
+    platforms = platforms.x86_64;
+    maintainers = with maintainers; [ jb55 seylerius thoughtpolice ];
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/compilers/terra/nix-cflags.patch b/pkgs/development/compilers/terra/nix-cflags.patch
index 339ae23cef65d..90ba7e63f1d0d 100644
--- a/pkgs/development/compilers/terra/nix-cflags.patch
+++ b/pkgs/development/compilers/terra/nix-cflags.patch
@@ -1,12 +1,11 @@
 diff --git a/src/terralib.lua b/src/terralib.lua
-index 351238d..e638c90 100644
+index 532ed18..2c265dc 100644
 --- a/src/terralib.lua
 +++ b/src/terralib.lua
-@@ -3395,6 +3395,17 @@ function terra.includecstring(code,cargs,target)
+@@ -3426,6 +3426,16 @@ function terra.includecstring(code,cargs,target)
      	args:insert("-internal-isystem")
      	args:insert(path)
      end
-+
 +    -- NOTE(aseipp): include relevant Nix header files
 +    args:insert("-isystem")
 +    args:insert("@NIX_LIBC_INCLUDE@")
@@ -17,6 +16,6 @@ index 351238d..e638c90 100644
 +          args:insert(w)
 +        end
 +    end
-     
-     if cargs then
-         args:insertall(cargs)
+     -- Obey the SDKROOT variable on macOS to match Clang behavior.
+     local sdkroot = os.getenv("SDKROOT")
+     if sdkroot then
diff --git a/pkgs/development/coq-modules/VST/default.nix b/pkgs/development/coq-modules/VST/default.nix
index c3bd33ce4bfd9..5ee1df774185a 100644
--- a/pkgs/development/coq-modules/VST/default.nix
+++ b/pkgs/development/coq-modules/VST/default.nix
@@ -8,9 +8,9 @@ with lib; mkCoqDerivation {
   repo = "VST";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.12" "8.13"; out = "2.7.1"; }
+    { case = range "8.12" "8.13"; out = "2.8"; }
   ] null;
-  release."2.7.1".sha256 = "1674j7bkvihiv19vizm99dp6gj3lryb00zx6a87jz214f3ydcvnj";
+  release."2.8".sha256 = "sha256-cyK88uzorRfjapNQ6XgQEmlbWnDsiyLve5po1VG52q0=";
   releaseRev = v: "v${v}";
   propagatedBuildInputs = [ compcert ];
 
diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix
index 978cea5b09e4d..3b94a8087d3f7 100644
--- a/pkgs/development/coq-modules/compcert/default.nix
+++ b/pkgs/development/coq-modules/compcert/default.nix
@@ -15,7 +15,8 @@ let compcert = mkCoqDerivation rec {
   releaseRev = v: "v${v}";
 
   defaultVersion =  with versions; switch coq.version [
-      { case = range "8.8" "8.13"; out = "3.8"; }
+      { case = range "8.8" "8.11"; out = "3.8"; }
+      { case = range "8.12" "8.13"; out = "3.9"; }
     ] null;
 
   release = {
diff --git a/pkgs/development/guile-modules/guile-gcrypt/default.nix b/pkgs/development/guile-modules/guile-gcrypt/default.nix
new file mode 100644
index 0000000000000..0a9e1de612654
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-gcrypt/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, fetchFromGitea
+, guile
+, libgcrypt
+, autoreconfHook
+, pkg-config
+, texinfo
+}:
+
+stdenv.mkDerivation rec {
+  pname = "guile-gcrypt";
+  version = "0.2.1";
+
+  src = fetchFromGitea {
+    domain = "notabug.org";
+    owner = "cwebber";
+    repo = "guile-gcrypt";
+    rev = "v${version}";
+    sha256 = "LKXIwO8v/T/h1JKARWD5ta57sgRcVu7hcYYwr3wUQ1g=";
+  };
+
+  postConfigure = ''
+    sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile;
+    sed -i '/godir\s*=/s%=.*%=''${out}/share/guile/ccache%' Makefile;
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook pkg-config texinfo
+  ];
+  buildInputs = [
+    guile
+  ];
+  propagatedBuildInputs = [
+    libgcrypt
+  ];
+
+  meta = with lib; {
+    description = "Bindings to Libgcrypt for GNU Guile";
+    homepage = "https://notabug.org/cwebber/guile-gcrypt";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ethancedwards8 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/guile-modules/guile-json/default.nix b/pkgs/development/guile-modules/guile-json/default.nix
new file mode 100644
index 0000000000000..1d84bf37ce58d
--- /dev/null
+++ b/pkgs/development/guile-modules/guile-json/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchurl
+, guile
+, texinfo
+, pkg-config
+}:
+
+stdenv.mkDerivation rec {
+  pname = "guile-json";
+  version = "4.4.1";
+
+  src = fetchurl {
+    url = "mirror://savannah/guile-json/${pname}-${version}.tar.gz";
+    sha256 = "sha256-UqZt3pqXQzeHpzEiMvOMKSh1gK/K2KaJ70jMllNxBPc=";
+  };
+
+  postConfigure = ''
+    sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile;
+    sed -i '/objdir\s*=/s%=.*%=''${out}/share/guile/ccache%' Makefile;
+    sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site/json%' json/Makefile;
+    sed -i '/objdir\s*=/s%=.*%=''${out}/share/guile/ccache/json%' json/Makefile;
+  '';
+
+  nativeBuildInputs = [
+    pkg-config texinfo
+  ];
+  buildInputs = [
+    guile
+  ];
+
+  meta = with lib; {
+    description = "JSON Bindings for GNU Guile";
+    homepage = "https://savannah.nongnu.org/projects/guile-json";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ethancedwards8 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/haskell-modules/HACKING.md b/pkgs/development/haskell-modules/HACKING.md
index 7c46e1560fd39..1161bd828f2ae 100644
--- a/pkgs/development/haskell-modules/HACKING.md
+++ b/pkgs/development/haskell-modules/HACKING.md
@@ -1,5 +1,5 @@
 
-## Maintainer Workflow
+# Maintainer Workflow
 
 The goal of the [@NixOS/haskell](https://github.com/orgs/NixOS/teams/haskell)
 team is to keep the Haskell packages in Nixpkgs up-to-date, while making sure
@@ -20,7 +20,7 @@ The workflow generally proceeds in three main steps:
 
 Each of these steps is described in a separate section.
 
-### Initial `haskell-updates` PR
+## Initial `haskell-updates` PR
 
 In this section we create the PR for merging `haskell-updates` into `master`.
 
@@ -44,11 +44,13 @@ In this section we create the PR for merging `haskell-updates` into `master`.
     $ ./maintainers/scripts/haskell/regenerate-hackage-packages.sh --do-commit
     ```
 
-1.  Push these commits to the Nixpkgs repository.
+1.  Push these commits to the `haskell-updates` branch of the NixOS/nixpkgs repository.
 
 1.  Open a PR on Nixpkgs merging `haskell-updates` into `master`.
 
-Use the following message body:
+
+
+Use the title `haskellPackages: update stackage and hackage` and the following message body:
 
 ```markdown
 ### This Merge
@@ -68,8 +70,8 @@ The short version is this:
 * We regularly update the Stackage and Hackage pins on `haskell-updates` (normally at the beginning of a merge window).
 * The community fixes builds of Haskell packages on that branch.
 * We aim at at least one merge of `haskell-updates` into `master` every two weeks.
-* We only do the merge if the `mergeable` job is succeeding on hydra.
-* If a maintained package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)
+* We only do the merge if the [`mergeable`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/mergeable) job is succeeding on hydra.
+* If a [`maintained`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/maintained) package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)
 
 ---
 
@@ -78,14 +80,14 @@ This is the follow-up to #TODO.
 
 Make sure to replace all TODO with the actual values.
 
-### Notify Maintainers and Fix Broken Packages
+## Notify Maintainers and Fix Broken Packages
 
 After you've done the previous steps, Hydra will start building the new and
 updated Haskell packages.  You can see the progress Hydra is making at
 https://hydra.nixos.org/jobset/nixpkgs/haskell-updates.  This Hydra jobset is
 defined in the file [release-haskell.nix](../../top-level/release-haskell.nix).
 
-#### Notify Maintainers
+### Notify Maintainers
 
 When Hydra finishes building all the updated packages for the `haskell-updates`
 jobset, you should generate a build report to notify maintainers of their
@@ -112,10 +114,12 @@ Maintainers should be given at least 7 days to fix up their packages when they
 break.  If maintainers don't fix up their packages with 7 days, then they
 may be marked broken before merging `haskell-updates` into `master`.
 
-#### Fix Broken Packages
+### Fix Broken Packages
 
 After getting the build report, you can see which packages and Hydra jobs are
-failing to build.  The most important jobs are the `maintained` and `mergeable`
+failing to build.  The most important jobs are the
+[`maintained`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/maintained) and
+[`mergeable`](https://hydra.nixos.org/job/nixpkgs/haskell-updates/mergeable)
 jobs. These are both defined in
 [`release-haskell.nix`](../../top-level/release-haskell.nix).
 
@@ -131,7 +135,7 @@ Steps to fix Haskell packages that are failing to build is out of scope for
 this document, but it usually requires fixing up dependencies that are now
 out-of-bounds.
 
-#### Mark Broken Packages
+### Mark Broken Packages
 
 Packages that do not get fixed can be marked broken with the following
 commands.  First check which packages are broken:
@@ -176,7 +180,7 @@ following will happen:
 
 -   All updated files will be committed.
 
-#### Merge `master` into `haskell-updates`
+### Merge `master` into `haskell-updates`
 
 You should occasionally merge the `master` branch into the `haskell-updates`
 branch.
@@ -194,7 +198,7 @@ This is especially important after `staging-next` is merged into `master`,
 since there is a high chance that this will cause all the Haskell packages to
 rebuild.
 
-### Merge `haskell-updates` into `master`
+## Merge `haskell-updates` into `master`
 
 Now it is time to merge the `haskell-updates` PR you opened above.
 
@@ -213,15 +217,35 @@ Before doing this, make sure of the following:
     for Hydra to evaluate the new `haskell-updates` jobset.  Make sure you only
     merge `haskell-updates` into `master` when there are no evaluation errors.
 
+-   Due to Hydra having only a small number of Darwin build machines, the
+    `haskell-updates` jobset on Hydra often has many queued Darwin jobs.
+    In order to not have these queued Darwin jobs prevent the `haskell-updates`
+    branch from being merged to `master` in a timely manner, we have special
+    rules for Darwin jobs.
+
+    -   It is alright to merge the `haskell-updates` branch to `master` if
+        there are remaining queued Darwin jobs on Hydra.
+
+    -   We would like to keep GHC and the `mergeable` job building on Darwin.
+        Do not merge the `haskell-updates` branch to `master` if GHC is failing
+        to build, or the `mergeable` job has failing Darwin constituent jobs.
+
+        If GHC and the `mergeable` job are not failing, but merely queued,
+        it is alright to merge the `haskell-updates` branch to `master`.
+
+    -   We do not need to keep the `maintained` job building on Darwin.
+        If `maintained` packages are failing on Darwin, it is helpful to
+        mark them as broken on that platform.
+
 When you've double-checked these points, go ahead and merge the `haskell-updates` PR.
 After merging, **make sure not to delete the `haskell-updates` branch**, since it
 causes all currently open Haskell-related pull-requests to be automatically closed on GitHub.
 
-### Additional Info
+## Additional Info
 
 Here are some additional tips that didn't fit in above.
 
--   Hydra tries to evalute the `haskell-updates` branch (in the
+-   Hydra tries to evaluate the `haskell-updates` branch (in the
     [`nixpkgs:haskell-updates`](https://hydra.nixos.org/jobset/nixpkgs/haskell-updates)
     jobset) every 4 hours.  It is possible to force a new Hydra evaluation without
     waiting 4 hours by the following steps:
@@ -263,8 +287,3 @@ Here are some additional tips that didn't fit in above.
 
 -   The Haskell team members generally hang out in the Matrix room
     [#haskell:nixos.org](https://matrix.to/#/#haskell:nixos.org).
-
-## Contributor Workflow
-
-(TODO: this section is to describe the type of workflow for non-committers to
-contribute to `haskell-updates`)
diff --git a/pkgs/development/haskell-modules/configuration-arm.nix b/pkgs/development/haskell-modules/configuration-arm.nix
index a8054c5861e04..b9f868b04ca5f 100644
--- a/pkgs/development/haskell-modules/configuration-arm.nix
+++ b/pkgs/development/haskell-modules/configuration-arm.nix
@@ -37,10 +37,6 @@ self: super: {
   # Similar to https://ghc.haskell.org/trac/ghc/ticket/13062
   happy = dontCheck super.happy;
 
-  # Disable GClosure based signals implementation on aarch64 as it causes linker issues
-  # https://github.com/gtk2hs/gtk2hs/issues/305
-  gtk2hs-buildtools = appendConfigureFlag super.gtk2hs-buildtools "-f-ClosureSignals";
-
 } // lib.optionalAttrs pkgs.stdenv.hostPlatform.isAarch64 {
   # AARCH64-SPECIFIC OVERRIDES
 
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index d119f0a0d3313..0d9d65af01c1f 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -698,6 +698,10 @@ self: super: {
   uuid-types = doJailbreak super.uuid-types;
   uuid = doJailbreak super.uuid;
 
+  # Bypass version check for random < 1.2 (1.2 works fine).
+  # https://github.com/yeyan/xmonad-wallpaper/issues/2
+  xmonad-wallpaper = doJailbreak super.xmonad-wallpaper;
+
   # The tests spuriously fail
   libmpd = dontCheck super.libmpd;
 
@@ -1928,9 +1932,7 @@ EOT
   # Disable flaky tests
   # https://github.com/DavidEichmann/alpaca-netcode/issues/2
   alpaca-netcode = overrideCabal super.alpaca-netcode {
-    # use testTarget to also pass some flags to the test suite.
-    # TODO: We should add proper support for this to the builder.
-    testTarget = "test --test-options='-p \"!/[NOCI]/\"'";
+    testFlags = [ "--pattern" "!/[NOCI]/" ];
   };
 
   # Tests require to run a binary which isn't built
@@ -1941,18 +1943,30 @@ EOT
   # this, run tests with only a single job.
   # https://github.com/vmchale/libarchive/issues/20
   libarchive = overrideCabal super.libarchive {
-    # TODO: We should add proper support for this to the builder.
-    testTarget = "libarchive-test --test-options='-j1'";
+    testFlags = [ "-j1" ];
   };
 
   # unrestrict bounds for hashable and semigroups
   # https://github.com/HeinrichApfelmus/reactive-banana/issues/215
   reactive-banana = doJailbreak super.reactive-banana;
 
-  # Too strict version bounds on QuickCheck and semirings
-  # https://github.com/erikd/wide-word/issues/57
-  wide-word = doJailbreak super.wide-word;
-
   hackage-db_2_1_0 = doDistribute super.hackage-db_2_1_0;
 
+  # Too strict bounds on QuickCheck
+  # https://github.com/muesli4/table-layout/issues/16
+  table-layout = doJailbreak super.table-layout;
+
+  # Bounds on profunctors are too strict
+  # https://github.com/ConferOpenSource/composite/issues/50
+  composite-base = doJailbreak super.composite-base;
+  composite-aeson = doJailbreak super.composite-aeson;
+
+  # Too strict bounds on profunctors
+  # https://github.com/google/proto-lens/issues/413
+  proto-lens = doJailbreak super.proto-lens;
+
+  # Too strict bounds on profunctors
+  # https://github.com/jcranch/tophat/issues/1
+  tophat = doJailbreak super.tophat;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-darwin.nix b/pkgs/development/haskell-modules/configuration-darwin.nix
index 7e02a6653c773..4a62ab5867d17 100644
--- a/pkgs/development/haskell-modules/configuration-darwin.nix
+++ b/pkgs/development/haskell-modules/configuration-darwin.nix
@@ -170,5 +170,6 @@ self: super: {
 
   # 2021-05-25: Tests fail and I have no way to debug them.
   hls-class-plugin = dontCheck super.hls-class-plugin;
+  hls-brittany-plugin = dontCheck super.hls-brittany-plugin;
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index 640cdec1cea33..cfef0f14ea814 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -95,9 +95,6 @@ self: super: {
   # The test suite seems pretty broken.
   base64-bytestring = dontCheck super.base64-bytestring;
 
-  # 5.6 introduced support for GHC 9.0.x, but hasn't landed in stackage yet
-  profunctors = super.profunctors_5_6_2;
-
   # 5 introduced support for GHC 9.0.x, but hasn't landed in stackage yet
   lens = super.lens_5_0_1;
 
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index b7561d38392a4..0f895e1f782e8 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -118,6 +118,7 @@ broken-packages:
   - alto
   - alure
   - amazon-emailer
+  - amazonka-s3-streaming
   - amazon-products
   - amby
   - AMI
@@ -834,6 +835,7 @@ broken-packages:
   - criu-rpc-types
   - crjdt-haskell
   - crocodile
+  - cronus
   - cruncher-types
   - crunghc
   - crypto-cipher-benchmarks
@@ -1217,7 +1219,6 @@ broken-packages:
   - erlang
   - erlang-ffi
   - eros
-  - errata
   - error-context
   - error-continuations
   - error-list
@@ -2365,6 +2366,7 @@ broken-packages:
   - hweblib
   - hwhile
   - hw-json-simd
+  - hw-mquery
   - hworker
   - hw-simd
   - hwsl2
@@ -2609,6 +2611,7 @@ broken-packages:
   - ktx
   - ktx-codec
   - kuifje
+  - kure
   - kure-your-boilerplate
   - KyotoCabinet
   - labeled-graph
@@ -2765,6 +2768,7 @@ broken-packages:
   - list-remote-forwards
   - ListT
   - list-t-http-client
+  - list-tries
   - list-t-text
   - list-zip-def
   - list-zipper
@@ -2987,6 +2991,7 @@ broken-packages:
   - mmtf
   - mmtl
   - Mobile-Legends-Hack-Cheats
+  - mock-time
   - modelicaparser
   - modular-prelude
   - module-management
@@ -3305,6 +3310,7 @@ broken-packages:
   - open-adt
   - OpenAFP
   - openai-hs
+  - openai-servant
   - openapi3-code-generator
   - openapi-petstore
   - openapi-typed
@@ -3435,6 +3441,7 @@ broken-packages:
   - parsers-megaparsec
   - parsimony
   - parsley
+  - parsley-core
   - parsnip
   - partage
   - partial-records
@@ -3731,7 +3738,6 @@ broken-packages:
   - proxy-mapping
   - pseudo-trie
   - PTQ
-  - ptr-poker
   - publicsuffixlistcreate
   - publish
   - pubnub
@@ -4019,9 +4025,6 @@ broken-packages:
   - SableCC2Hs
   - safe-buffer-monad
   - safe-coerce
-  - safe-coloured-text-gen
-  - safe-coloured-text-layout
-  - safe-coloured-text-terminfo
   - safecopy-migrate
   - safecopy-store
   - safe-freeze
@@ -4578,7 +4581,6 @@ broken-packages:
   - t3-server
   - table
   - tableaux
-  - table-layout
   - tables
   - Tables
   - tablestorage
@@ -4621,6 +4623,7 @@ broken-packages:
   - teeth
   - telegram
   - telegram-api
+  - telegram-bot-simple
   - teleport
   - teleshell
   - tellbot
@@ -5208,7 +5211,6 @@ broken-packages:
   - xmonad-dbus
   - xmonad-eval
   - xmonad-vanessa
-  - xmonad-wallpaper
   - xmonad-windownames
   - xor
   - Xorshift128Plus
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 6b07b67256bb2..56bd4ac4ab8ee 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -93,9 +93,9 @@ default-package-overrides:
   - futhark < 0.19.5
   # 2021-06-05: remove once pandoc 2.14 is in stackage
   - pandoc-crossref < 0.3.11.0
-  # 2021-06-07: stackage still has dhall < 1.39
-  - dhall-nix < 1.1.21
-  - dhall-openapi < 1.0.1
+  # 2021-06-14: hnix still needs old versions https://github.com/haskell-nix/hnix/issues/952
+  - hnix-store-core < 0.5
+  - hnix-store-remote < 0.5
 
 extra-packages:
   - base16-bytestring < 1               # required for cabal-install etc.
@@ -105,6 +105,7 @@ extra-packages:
   - dependent-map == 0.2.4.0            # required by Hasura 1.3.1, 2020-08-20
   - dependent-sum == 0.4                # required by Hasura 1.3.1, 2020-08-20
   - dhall == 1.29.0                     # required for ats-pkg
+  - dhall == 1.38.1                     # required for spago
   - Diff < 0.4                          # required by liquidhaskell-0.8.10.2: https://github.com/ucsd-progsys/liquidhaskell/issues/1729
   - ghc-tcplugins-extra ==0.3.2         # required for polysemy-plugin 0.2.5.0
   - haddock == 2.23.*                   # required on GHC < 8.10.x
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index bfe0b93b3e41c..2ebd11bd006c2 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage Nightly 2021-06-01
+# Stackage Nightly 2021-06-10
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -11,8 +11,8 @@ default-package-overrides:
   - ad ==4.4.1
   - adjunctions ==4.4
   - adler32 ==0.1.2.0
-  - aern2-mp ==0.2.6.0
-  - aern2-real ==0.2.6.0
+  - aern2-mp ==0.2.7.0
+  - aern2-real ==0.2.7.0
   - aeson ==1.5.6.0
   - aeson-attoparsec ==0.0.0
   - aeson-better-errors ==0.9.1.0
@@ -34,7 +34,7 @@ default-package-overrides:
   - aeson-yak ==0.1.1.3
   - aeson-yaml ==1.1.0.0
   - Agda ==2.6.1.3
-  - agda2lagda ==0.2020.11.1
+  - agda2lagda ==0.2021.6.1
   - al ==0.1.4.2
   - alarmclock ==0.7.0.5
   - alerts ==0.1.2.0
@@ -159,7 +159,7 @@ default-package-overrides:
   - approximate-equality ==1.1.0.2
   - app-settings ==0.2.0.12
   - arbor-lru-cache ==0.1.1.1
-  - arithmoi ==0.11.0.1
+  - arithmoi ==0.12.0.0
   - array-memoize ==0.6.0
   - arrow-extras ==0.1.0.1
   - arrows ==0.4.4.2
@@ -202,7 +202,7 @@ default-package-overrides:
   - auto-update ==0.1.6
   - avers ==0.0.17.1
   - avro ==0.5.2.0
-  - aws-cloudfront-signed-cookies ==0.2.0.6
+  - aws-cloudfront-signed-cookies ==0.2.0.8
   - aws-xray-client ==0.1.0.0
   - aws-xray-client-wai ==0.1.0.0
   - backprop ==0.2.6.4
@@ -336,7 +336,7 @@ default-package-overrides:
   - cabal-file ==0.1.1
   - cabal-flatpak ==0.1.0.2
   - cabal-plan ==0.7.2.0
-  - cabal-rpm ==2.0.8
+  - cabal-rpm ==2.0.9
   - cache ==0.1.3.0
   - cacophony ==0.10.1
   - calendar-recycling ==0.0.0.1
@@ -360,7 +360,7 @@ default-package-overrides:
   - cayley-client ==0.4.15
   - cborg ==0.2.5.0
   - cborg-json ==0.2.2.0
-  - cdar-mBound ==0.1.0.2
+  - cdar-mBound ==0.1.0.4
   - c-enum ==0.1.0.1
   - cereal ==0.5.8.1
   - cereal-conduit ==0.8.0
@@ -418,7 +418,7 @@ default-package-overrides:
   - collect-errors ==0.1.5.0
   - co-log-concurrent ==0.5.0.0
   - co-log-core ==0.2.1.1
-  - Color ==0.3.1
+  - Color ==0.3.2
   - colorful-monoids ==0.2.1.3
   - colorize-haskell ==1.0.1
   - colour ==2.3.5
@@ -437,16 +437,6 @@ default-package-overrides:
   - compiler-warnings ==0.1.0
   - composable-associations ==0.1.0.0
   - composable-associations-aeson ==0.1.0.1
-  - composite-aeson ==0.7.5.0
-  - composite-aeson-path ==0.7.5.0
-  - composite-aeson-refined ==0.7.5.0
-  - composite-aeson-throw ==0.1.0.0
-  - composite-base ==0.7.5.0
-  - composite-binary ==0.7.5.0
-  - composite-ekg ==0.7.5.0
-  - composite-hashable ==0.7.5.0
-  - composite-tuple ==0.1.2.0
-  - composite-xstep ==0.1.0.0
   - composition ==1.0.2.2
   - composition-extra ==2.0.0
   - concise ==0.1.0.1
@@ -599,14 +589,14 @@ default-package-overrides:
   - deque ==0.4.3
   - deriveJsonNoPrefix ==0.1.0.1
   - derive-topdown ==0.0.2.2
-  - deriving-aeson ==0.2.6.1
+  - deriving-aeson ==0.2.7
   - deriving-compat ==0.5.10
   - derulo ==1.0.10
-  - dhall ==1.38.1
-  - dhall-bash ==1.0.36
-  - dhall-json ==1.7.6
-  - dhall-lsp-server ==1.0.14
-  - dhall-yaml ==1.2.6
+  - dhall ==1.39.0
+  - dhall-bash ==1.0.37
+  - dhall-json ==1.7.7
+  - dhall-lsp-server ==1.0.15
+  - dhall-yaml ==1.2.7
   - diagrams-solve ==0.1.3
   - dialogflow-fulfillment ==0.1.1.4
   - di-core ==1.0.4
@@ -625,7 +615,7 @@ default-package-overrides:
   - distribution-opensuse ==1.1.1
   - distributive ==0.6.2.1
   - dl-fedora ==0.9
-  - dlist ==0.8.0.8
+  - dlist ==1.0
   - dlist-instances ==0.1.1.1
   - dlist-nonempty ==0.1.1
   - dns ==4.0.1
@@ -740,7 +730,7 @@ default-package-overrides:
   - expiring-cache-map ==0.0.6.1
   - explicit-exception ==0.1.10
   - exp-pairs ==0.2.1.0
-  - express ==0.1.12
+  - express ==0.1.14
   - extended-reals ==0.2.4.0
   - extensible-effects ==5.0.0.1
   - extensible-exceptions ==0.1.1.4
@@ -781,7 +771,7 @@ default-package-overrides:
   - finite-typelits ==0.1.4.2
   - first-class-families ==0.8.0.1
   - first-class-patterns ==0.3.2.5
-  - fitspec ==0.4.8
+  - fitspec ==0.4.10
   - fixed ==0.3
   - fixed-length ==0.2.2.1
   - fixed-vector ==1.2.0.0
@@ -817,7 +807,7 @@ default-package-overrides:
   - formatting ==6.3.7
   - foundation ==0.0.26.1
   - fourmolu ==0.3.0.0
-  - free ==5.1.5
+  - free ==5.1.7
   - free-categories ==0.2.0.2
   - freenect ==1.2.1
   - freer-simple ==1.2.1.1
@@ -834,7 +824,7 @@ default-package-overrides:
   - function-builder ==0.3.0.1
   - functor-classes-compat ==1.0.1
   - functor-combinators ==0.3.6.0
-  - fusion-plugin ==0.2.2
+  - fusion-plugin ==0.2.3
   - fusion-plugin-types ==0.1.0
   - fuzzcheck ==0.1.1
   - fuzzy ==0.1.0.0
@@ -901,9 +891,9 @@ default-package-overrides:
   - ghcid ==0.8.7
   - ghci-hexcalc ==0.1.1.0
   - ghcjs-codemirror ==0.0.0.2
-  - ghc-lib ==8.10.4.20210206
-  - ghc-lib-parser ==8.10.4.20210206
-  - ghc-lib-parser-ex ==8.10.0.19
+  - ghc-lib ==8.10.5.20210606
+  - ghc-lib-parser ==8.10.5.20210606
+  - ghc-lib-parser-ex ==8.10.0.21
   - ghc-parser ==0.2.3.0
   - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.8
@@ -935,7 +925,7 @@ default-package-overrides:
   - ginger ==0.10.1.0
   - gingersnap ==0.3.1.0
   - gi-pango ==1.0.23
-  - githash ==0.1.5.0
+  - githash ==0.1.6.0
   - github-release ==1.3.7
   - github-rest ==1.0.3
   - github-types ==0.2.1
@@ -986,7 +976,7 @@ default-package-overrides:
   - hall-symbols ==0.1.0.6
   - hamtsolo ==1.0.3
   - HandsomeSoup ==0.4.2
-  - hapistrano ==0.4.1.3
+  - hapistrano ==0.4.1.4
   - happstack-server ==7.7.1
   - happy ==1.20.0
   - happy-meta ==0.2.0.11
@@ -1147,7 +1137,7 @@ default-package-overrides:
   - html-entities ==1.1.4.5
   - html-entity-map ==0.1.0.0
   - htoml ==1.0.0.3
-  - http2 ==3.0.1
+  - http2 ==3.0.2
   - HTTP ==4000.3.16
   - http-api-data ==0.4.2
   - http-client ==0.6.4.1
@@ -1187,12 +1177,10 @@ default-package-overrides:
   - hw-hspec-hedgehog ==0.1.1.0
   - hw-int ==0.0.2.0
   - hw-ip ==2.4.2.0
-  - hw-json ==1.3.2.2
   - hw-json-simd ==0.1.1.0
   - hw-json-simple-cursor ==0.1.1.0
   - hw-json-standard-cursor ==0.2.3.1
   - hw-kafka-client ==4.0.3
-  - hw-mquery ==0.2.1.0
   - hw-packed-vector ==0.2.1.0
   - hw-parser ==0.1.1.0
   - hw-prim ==0.6.3.0
@@ -1305,12 +1293,13 @@ default-package-overrides:
   - js-flot ==0.8.3
   - js-jquery ==3.3.1
   - json-feed ==1.0.13
+  - jsonifier ==0.1.1
   - jsonpath ==0.2.0.0
   - json-rpc ==1.0.3
   - json-rpc-generic ==0.2.1.5
   - JuicyPixels ==3.3.5
   - JuicyPixels-blurhash ==0.1.0.3
-  - JuicyPixels-extra ==0.5.0
+  - JuicyPixels-extra ==0.5.1
   - JuicyPixels-scale-dct ==0.1.2
   - junit-xml ==0.1.0.2
   - justified-containers ==0.3.0.0
@@ -1363,7 +1352,7 @@ default-package-overrides:
   - lazyio ==0.1.0.4
   - lazysmallcheck ==0.6
   - lca ==0.4
-  - leancheck ==0.9.6
+  - leancheck ==0.9.10
   - leancheck-instances ==0.0.4
   - leapseconds-announced ==2017.1.0.1
   - learn-physics ==0.6.5
@@ -1410,7 +1399,7 @@ default-package-overrides:
   - list-t ==1.0.4
   - list-transformer ==1.0.7
   - ListTree ==0.2.3
-  - literatex ==0.1.0.0
+  - literatex ==0.1.0.2
   - little-rio ==0.2.2
   - llvm-hs ==9.0.1
   - llvm-hs-pure ==9.0.0
@@ -1452,7 +1441,7 @@ default-package-overrides:
   - markdown ==0.1.17.4
   - markdown-unlit ==0.5.1
   - markov-chain ==0.0.3.4
-  - massiv ==0.6.0.0
+  - massiv ==0.6.1.0
   - massiv-io ==0.4.1.0
   - massiv-persist ==0.1.0.0
   - massiv-serialise ==0.1.0.0
@@ -1510,7 +1499,7 @@ default-package-overrides:
   - min-max-pqueue ==0.1.0.2
   - mintty ==0.1.2
   - missing-foreign ==0.1.1
-  - mixed-types-num ==0.5.7.0
+  - mixed-types-num ==0.5.8.0
   - mltool ==0.2.0.1
   - mmap ==0.5.9
   - mmark ==0.0.7.2
@@ -1648,14 +1637,15 @@ default-package-overrides:
   - nqe ==0.6.3
   - nri-env-parser ==0.1.0.7
   - nri-observability ==0.1.0.2
-  - nri-prelude ==0.6.0.0
+  - nri-prelude ==0.6.0.1
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
+  - numeric-limits ==0.1.0.0
   - numeric-prelude ==0.4.3.3
   - numhask ==0.7.1.0
   - NumInstances ==1.4
-  - numtype-dk ==0.5.0.2
+  - numtype-dk ==0.5.0.3
   - nuxeo ==0.3.2
   - nvim-hs ==2.1.0.4
   - nvim-hs-contrib ==2.0.0.0
@@ -1683,10 +1673,10 @@ default-package-overrides:
   - openpgp-asciiarmor ==0.1.2
   - opensource ==0.1.1.0
   - openssl-streams ==1.2.3.0
-  - opentelemetry ==0.6.1
-  - opentelemetry-extra ==0.6.1
-  - opentelemetry-lightstep ==0.6.1
-  - opentelemetry-wai ==0.6.1
+  - opentelemetry ==0.7.0
+  - opentelemetry-extra ==0.7.0
+  - opentelemetry-lightstep ==0.7.0
+  - opentelemetry-wai ==0.7.0
   - operational ==0.2.3.5
   - operational-class ==0.3.0.0
   - optics ==0.3
@@ -1710,10 +1700,10 @@ default-package-overrides:
   - pagure-cli ==0.2
   - pandoc ==2.13
   - pandoc-dhall-decoder ==0.1.0.1
-  - pandoc-plot ==1.2.2
+  - pandoc-plot ==1.2.3
   - pandoc-throw ==0.1.0.0
   - pandoc-types ==1.22
-  - pantry ==0.5.2.1
+  - pantry ==0.5.2.2
   - parallel ==3.2.2.0
   - parameterized ==0.5.0.0
   - paripari ==0.7.0.0
@@ -1735,10 +1725,10 @@ default-package-overrides:
   - path-binary-instance ==0.1.0.1
   - path-extensions ==0.1.1.0
   - path-extra ==0.2.0
-  - path-io ==1.6.2
+  - path-io ==1.6.3
   - path-like ==0.2.0.2
   - path-pieces ==0.2.1
-  - path-text-utf8 ==0.0.1.6
+  - path-text-utf8 ==0.0.1.8
   - pathtype ==0.8.1.1
   - pathwalk ==0.3.1.2
   - pattern-arrows ==0.0.2
@@ -1759,10 +1749,10 @@ default-package-overrides:
   - persistable-record ==0.6.0.5
   - persistable-types-HDBC-pg ==0.0.3.5
   - persistent ==2.13.0.2
-  - persistent-mtl ==0.2.1.0
+  - persistent-mtl ==0.2.2.0
   - persistent-mysql ==2.13.0.1
   - persistent-pagination ==0.1.1.2
-  - persistent-postgresql ==2.13.0.1
+  - persistent-postgresql ==2.13.0.2
   - persistent-qq ==2.12.0.1
   - persistent-sqlite ==2.13.0.3
   - persistent-template ==2.12.0.0
@@ -1855,11 +1845,12 @@ default-package-overrides:
   - product-isomorphic ==0.0.3.3
   - product-profunctors ==0.11.0.2
   - profiterole ==0.1
-  - profunctors ==5.5.2
+  - profunctors ==5.6.2
   - projectroot ==0.2.0.1
   - project-template ==0.2.1.0
   - prometheus ==2.2.2
   - prometheus-client ==1.0.1
+  - prometheus-metrics-ghc ==1.0.1.1
   - prometheus-wai-middleware ==1.0.1.0
   - promises ==0.3
   - prompt ==0.1.1.2
@@ -1871,14 +1862,10 @@ default-package-overrides:
   - protocol-buffers-descriptor ==2.4.17
   - protocol-radius ==0.0.1.1
   - protocol-radius-test ==0.1.0.1
-  - proto-lens ==0.7.0.0
-  - proto-lens-protobuf-types ==0.7.0.0
-  - proto-lens-protoc ==0.7.0.0
-  - proto-lens-runtime ==0.7.0.0
-  - proto-lens-setup ==0.4.0.4
   - protolude ==0.3.0
   - proxied ==0.3.1
   - psqueues ==0.2.7.2
+  - ptr-poker ==0.1.1.4
   - publicsuffix ==0.20200526
   - pulse-simple ==0.1.14
   - pureMD5 ==2.1.3
@@ -1945,7 +1932,7 @@ default-package-overrides:
   - readable ==0.3.1
   - read-editor ==0.1.0.2
   - read-env-var ==1.0.0.0
-  - rebase ==1.6.1
+  - rebase ==1.13.0.1
   - record-dot-preprocessor ==0.2.11
   - record-hasfield ==1.0
   - records-sop ==0.1.1.0
@@ -1971,7 +1958,7 @@ default-package-overrides:
   - regex-pcre ==0.95.0.0
   - regex-pcre-builtin ==0.95.2.3.8.43
   - regex-posix ==0.96.0.0
-  - regex-tdfa ==1.3.1.0
+  - regex-tdfa ==1.3.1.1
   - regex-with-pcre ==1.1.0.0
   - registry ==0.2.0.3
   - reinterpret-cast ==0.1.0
@@ -1988,7 +1975,7 @@ default-package-overrides:
   - repline ==0.4.0.0
   - req ==3.9.0
   - req-conduit ==1.0.0
-  - rerebase ==1.6.1
+  - rerebase ==1.13.0.1
   - rescue ==0.4.2.1
   - resistor-cube ==0.0.1.2
   - resolv ==0.1.2.0
@@ -2016,14 +2003,15 @@ default-package-overrides:
   - rosezipper ==0.2
   - rot13 ==0.2.0.1
   - rpmbuild-order ==0.4.5
-  - rp-tree ==0.3.6
+  - rp-tree ==0.4
   - RSA ==2.4.1
   - runmemo ==1.0.0.1
   - rvar ==0.2.0.6
   - safe ==0.3.19
-  - safe-coloured-text ==0.0.0.0
+  - safe-coloured-text ==0.1.0.0
+  - safe-coloured-text-terminfo ==0.0.0.0
   - safecopy ==0.10.4.2
-  - safe-decimal ==0.2.0.0
+  - safe-decimal ==0.2.1.0
   - safe-exceptions ==0.1.7.1
   - safe-foldable ==0.1.0.0
   - safeio ==0.0.5.0
@@ -2031,17 +2019,15 @@ default-package-overrides:
   - safe-money ==0.9
   - SafeSemaphore ==0.10.1
   - safe-tensor ==0.2.1.1
-  - salak ==0.3.6
-  - salak-yaml ==0.3.5.3
   - saltine ==0.1.1.1
   - salve ==1.0.11
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
   - sampling ==0.3.5
-  - sandwich ==0.1.0.6
+  - sandwich ==0.1.0.7
   - sandwich-quickcheck ==0.1.0.5
   - sandwich-slack ==0.1.0.4
-  - sandwich-webdriver ==0.1.0.4
+  - sandwich-webdriver ==0.1.0.5
   - say ==0.1.0.1
   - sbp ==2.6.3
   - sbv ==8.15
@@ -2104,7 +2090,8 @@ default-package-overrides:
   - servant-foreign ==0.15.3
   - servant-http-streams ==0.18.2
   - servant-machines ==0.15.1
-  - servant-multipart ==0.12
+  - servant-multipart ==0.12.1
+  - servant-multipart-api ==0.12.1
   - servant-openapi3 ==2.0.1.2
   - servant-pipes ==0.15.2
   - servant-rawm ==1.0.0.0
@@ -2195,7 +2182,7 @@ default-package-overrides:
   - sparse-tensor ==0.2.1.5
   - spatial-math ==0.5.0.1
   - special-values ==0.1.0.0
-  - speculate ==0.4.6
+  - speculate ==0.4.8
   - speedy-slice ==0.3.2
   - Spintax ==0.3.6
   - splice ==0.6.1.1
@@ -2264,7 +2251,7 @@ default-package-overrides:
   - string-random ==0.1.4.1
   - stringsearch ==0.3.6.6
   - string-transform ==1.1.1
-  - stripe-concepts ==1.0.2.6
+  - stripe-concepts ==1.0.2.8
   - stripe-core ==2.6.2
   - stripe-haskell ==2.6.2
   - stripe-http-client ==2.6.2
@@ -2282,12 +2269,12 @@ default-package-overrides:
   - sweet-egison ==0.1.1.3
   - swish ==0.10.0.4
   - syb ==0.7.2.1
-  - sydtest ==0.1.0.0
+  - sydtest ==0.2.0.0
   - sydtest-discover ==0.0.0.0
-  - sydtest-persistent-sqlite ==0.0.0.0
-  - sydtest-servant ==0.0.0.0
-  - sydtest-wai ==0.0.0.0
-  - sydtest-yesod ==0.0.0.0
+  - sydtest-persistent-sqlite ==0.1.0.0
+  - sydtest-servant ==0.1.0.0
+  - sydtest-wai ==0.1.0.0
+  - sydtest-yesod ==0.1.0.0
   - symbol ==0.2.4
   - symengine ==0.1.2.0
   - symmetry-operations-symbols ==0.0.2.1
@@ -2451,7 +2438,7 @@ default-package-overrides:
   - triplesec ==0.2.2.1
   - trivial-constraint ==0.7.0.0
   - tsv2csv ==0.1.0.2
-  - ttc ==0.4.0.0
+  - ttc ==1.1.0.0
   - ttl-hashtables ==1.4.1.0
   - ttrie ==0.1.2.1
   - tuple ==0.3.0.2
@@ -2517,7 +2504,7 @@ default-package-overrides:
   - unix-bytestring ==0.3.7.3
   - unix-compat ==0.5.3
   - unix-time ==0.4.7
-  - unliftio ==0.2.17
+  - unliftio ==0.2.18
   - unliftio-core ==0.2.0.1
   - unliftio-pool ==0.2.1.1
   - unliftio-streams ==0.1.1.1
@@ -2592,6 +2579,7 @@ default-package-overrides:
   - wai-middleware-auth ==0.2.4.1
   - wai-middleware-caching ==0.1.0.2
   - wai-middleware-clacks ==0.1.0.1
+  - wai-middleware-prometheus ==1.0.0
   - wai-middleware-static ==0.9.0
   - wai-rate-limit ==0.1.0.0
   - wai-rate-limit-redis ==0.1.0.0
@@ -2619,7 +2607,7 @@ default-package-overrides:
   - wide-word ==0.1.1.2
   - wikicfp-scraper ==0.1.0.12
   - wild-bind ==0.1.2.7
-  - wild-bind-x11 ==0.2.0.12
+  - wild-bind-x11 ==0.2.0.13
   - Win32 ==2.6.1.0
   - Win32-notify ==0.3.0.3
   - windns ==0.1.0.1
@@ -2678,7 +2666,7 @@ default-package-overrides:
   - xss-sanitize ==0.3.6
   - xxhash-ffi ==0.2.0.0
   - yaml ==0.11.5.0
-  - yamlparse-applicative ==0.1.0.4
+  - yamlparse-applicative ==0.2.0.0
   - yesod ==1.6.1.1
   - yesod-auth ==1.6.10.3
   - yesod-auth-hashdb ==1.7.1.7
@@ -2710,7 +2698,7 @@ default-package-overrides:
   - zeromq4-patterns ==0.3.1.0
   - zim-parser ==0.2.1.0
   - zio ==0.1.0.2
-  - zip ==1.7.0
+  - zip ==1.7.1
   - zip-archive ==0.4.1
   - zipper-extra ==0.1.3.2
   - zippers ==0.3.1
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 66ab6c5799cd8..59c2630a962ce 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -28,7 +28,6 @@ dont-distribute-packages:
  - Advgame
  - Advise-me
  - aern2-real
- - aern2-real_0_2_7_0
  - AERN-Net
  - AERN-Real
  - AERN-Real-Double
@@ -121,6 +120,7 @@ dont-distribute-packages:
  - atuin
  - audiovisual
  - aura
+ - aura_3_2_5
  - authoring
  - AutoForms
  - autonix-deps-kf5
@@ -1105,6 +1105,7 @@ dont-distribute-packages:
  - happstack-jmacro
  - happstack-plugins
  - happstack-state
+ - happstack-static-routing
  - happstack-yui
  - happs-tutorial
  - happybara-webkit
@@ -1618,7 +1619,6 @@ dont-distribute-packages:
  - JSON-Combinator-Examples
  - json-enumerator
  - JsonGrammar
- - jsonifier
  - json-incremental-decoder
  - json-query
  - jsons-to-schema
@@ -1892,6 +1892,7 @@ dont-distribute-packages:
  - MaybeT-transformers
  - MC-Fold-DP
  - mcmc
+ - mcmc_0_5_0_0
  - mcmc-samplers
  - mDNSResponder-client
  - mealy
@@ -2080,7 +2081,6 @@ dont-distribute-packages:
  - NoSlow
  - notmuch-haskell
  - notmuch-web
- - nri-prelude_0_6_0_1
  - numerical
  - numeric-ode
  - numhask-hedgehog
@@ -2115,7 +2115,6 @@ dont-distribute-packages:
  - openpgp-crypto-api
  - OpenSCAD
  - openssh-github-keys
- - opentelemetry-extra_0_7_0
  - opentracing-jaeger
  - opentracing-zipkin-v1
  - open-union
@@ -2150,6 +2149,7 @@ dont-distribute-packages:
  - parquet-hs
  - parse-help
  - parsestar
+ - parsley-garnish
  - partial-lens
  - passman-cli
  - patch-image
@@ -2513,7 +2513,6 @@ dont-distribute-packages:
  - ruler-core
  - runtime-arbitrary
  - S3
- - safe-coloured-text-layout-gen
  - safer-file-handles
  - safer-file-handles-bytestring
  - safer-file-handles-text
@@ -2614,7 +2613,6 @@ dont-distribute-packages:
  - servant-zeppelin-swagger
  - serv-wai
  - sessiontypes-distributed
- - setdown
  - s-expression
  - SFML-control
  - SFont
@@ -2826,7 +2824,6 @@ dont-distribute-packages:
  - swearjure
  - sweet-egison
  - switch
- - sydtest_0_2_0_0
  - sydtest-persistent-postgresql
  - sylvia
  - symantic-atom
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index b5868586f6654..161712d594b84 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -577,7 +577,12 @@ self: super: builtins.intersectAttrs super {
         sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
       };
 
-      spagoDocs = overrideCabal super.spago (drv: {
+      spagoWithOverrides = super.spago.override {
+        # spago has not yet been updated for the latest dhall.
+        dhall = self.dhall_1_38_1;
+      };
+
+      spagoDocs = overrideCabal spagoWithOverrides (drv: {
         postUnpack = (drv.postUnpack or "") + ''
           # Spago includes the following two files directly into the binary
           # with Template Haskell.  They are fetched at build-time from the
@@ -821,8 +826,21 @@ self: super: builtins.intersectAttrs super {
   random = dontCheck super.random;
 
   # Since this package is primarily used by nixpkgs maintainers and is probably
-  # not used to link against by anyone, we can make it’s closure smaller.
-  cabal2nix-unstable = justStaticExecutables super.cabal2nix-unstable;
+  # not used to link against by anyone, we can make it’s closure smaller and
+  # add its runtime dependencies in `haskellPackages` (as opposed to cabal2nix).
+  cabal2nix-unstable = overrideCabal
+    (justStaticExecutables super.cabal2nix-unstable)
+    (drv: {
+      buildTools = (drv.buildTools or []) ++ [
+        pkgs.makeWrapper
+      ];
+      postInstall = ''
+        wrapProgram $out/bin/cabal2nix \
+          --prefix PATH ":" "${
+            pkgs.lib.makeBinPath [ pkgs.nix pkgs.nix-prefetch-scripts ]
+          }"
+      '';
+    });
 
   # test suite needs local redis daemon
   nri-redis = dontCheck super.nri-redis;
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index b91da16695277..2b2f23e20eafe 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -58,7 +58,7 @@ in
 , pkg-configDepends ? [], libraryPkgconfigDepends ? [], executablePkgconfigDepends ? [], testPkgconfigDepends ? [], benchmarkPkgconfigDepends ? []
 , testDepends ? [], testHaskellDepends ? [], testSystemDepends ? [], testFrameworkDepends ? []
 , benchmarkDepends ? [], benchmarkHaskellDepends ? [], benchmarkSystemDepends ? [], benchmarkFrameworkDepends ? []
-, testTarget ? ""
+, testTarget ? "", testFlags ? []
 , broken ? false
 , preCompileBuildDriver ? null, postCompileBuildDriver ? null
 , preUnpack ? null, postUnpack ? null
@@ -454,9 +454,13 @@ stdenv.mkDerivation ({
 
   inherit doCheck;
 
+  # Run test suite(s) and pass `checkFlags` as well as `checkFlagsArray`.
+  # `testFlags` are added to `checkFlagsArray` each prefixed with
+  # `--test-option`, so Cabal passes it to the underlying test suite binary.
   checkPhase = ''
     runHook preCheck
-    ${setupCommand} test ${testTarget}
+    checkFlagsArray+=(${lib.escapeShellArgs (builtins.map (opt: "--test-option=${opt}") testFlags)})
+    ${setupCommand} test ${testTarget} $checkFlags ''${checkFlagsArray:+"''${checkFlagsArray[@]}"}
     runHook postCheck
   '';
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index ebfdbae6ba666..e0d8cde491ceb 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -3322,25 +3322,6 @@ self: {
      }:
      mkDerivation {
        pname = "Color";
-       version = "0.3.1";
-       sha256 = "1gg15kb6za69w0b3x8pzrqbrh9b8g7g0zwj2a9ajf0wgp8kylp5b";
-       libraryHaskellDepends = [ base data-default-class deepseq vector ];
-       testHaskellDepends = [
-         base colour doctest hspec HUnit JuicyPixels massiv massiv-test
-         QuickCheck random vector
-       ];
-       benchmarkHaskellDepends = [ base colour criterion deepseq random ];
-       description = "Color spaces and conversions between them";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "Color_0_3_2" = callPackage
-    ({ mkDerivation, base, colour, criterion, data-default-class
-     , deepseq, doctest, hspec, HUnit, JuicyPixels, massiv, massiv-test
-     , QuickCheck, random, vector
-     }:
-     mkDerivation {
-       pname = "Color";
        version = "0.3.2";
        sha256 = "1v5x32jas70sfqy90brjqlfsy816ar9mcbr3i1lviqivzq7agshk";
        libraryHaskellDepends = [ base data-default-class deepseq vector ];
@@ -3351,7 +3332,6 @@ self: {
        benchmarkHaskellDepends = [ base colour criterion deepseq random ];
        description = "Color spaces and conversions between them";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "Combinatorrent" = callPackage
@@ -11674,23 +11654,6 @@ self: {
      }:
      mkDerivation {
        pname = "JuicyPixels-extra";
-       version = "0.5.0";
-       sha256 = "1r6rpasakl4s7x53y6wz34rkg4xxjhh8zfm9aqdjnxc7b8ir0nbb";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [ base JuicyPixels ];
-       testHaskellDepends = [ base hspec JuicyPixels ];
-       testToolDepends = [ hspec-discover ];
-       benchmarkHaskellDepends = [ base criterion JuicyPixels ];
-       description = "Efficiently scale, crop, flip images with JuicyPixels";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "JuicyPixels-extra_0_5_1" = callPackage
-    ({ mkDerivation, base, criterion, hspec, hspec-discover
-     , JuicyPixels
-     }:
-     mkDerivation {
-       pname = "JuicyPixels-extra";
        version = "0.5.1";
        sha256 = "1kgb2l6ymhjr7wq93jpdhxy3k4i7jz0rz256phz10ycdpyvdbjpq";
        enableSeparateDataOutput = true;
@@ -11700,7 +11663,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion JuicyPixels ];
        description = "Efficiently scale, crop, flip images with JuicyPixels";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "JuicyPixels-repa" = callPackage
@@ -21911,17 +21873,18 @@ self: {
     ({ mkDerivation, base, bytestring, Cabal, case-insensitive
      , containers, deepseq, ghc-prim, hashable, hspec, hspec-discover
      , HUnit, integer-gmp, primitive, QuickCheck, quickcheck-instances
-     , scientific, tagged, template-haskell, time, unordered-containers
+     , scientific, tagged, template-haskell, time, unicode-collation
+     , unordered-containers
      }:
      mkDerivation {
        pname = "Z-Data";
-       version = "0.8.5.0";
-       sha256 = "1ib9lhhjymr4020yqrc318xqp7swr17iiczpb18d061ngcw8xi90";
+       version = "0.8.7.0";
+       sha256 = "0a68ymcgmack4z4zz9vb20g2jgs41ga00fc4612rq9qjywn26yxd";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring case-insensitive containers deepseq ghc-prim
          hashable integer-gmp primitive QuickCheck scientific tagged
-         template-haskell time unordered-containers
+         template-haskell time unicode-collation unordered-containers
        ];
        testHaskellDepends = [
          base containers hashable hspec HUnit integer-gmp primitive
@@ -21943,8 +21906,8 @@ self: {
      }:
      mkDerivation {
        pname = "Z-IO";
-       version = "0.8.1.0";
-       sha256 = "08nw9jxg2n8yls5p1dhyy976qbcj5kwv468fq1dijn91f7ylhfix";
+       version = "0.8.1.1";
+       sha256 = "05d4dbvzdr2sall0sj9yh8hv09lh1af4bqfhnbss2jlj1jc1y1dr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24264,29 +24227,6 @@ self: {
      }:
      mkDerivation {
        pname = "aern2-mp";
-       version = "0.2.6.0";
-       sha256 = "0vfjgcf2pnspaixgxg8av7k0cqv5cqmy161zkgjr822n118an1ch";
-       libraryHaskellDepends = [
-         base cdar-mBound collect-errors deepseq hspec integer-logarithms
-         mixed-types-num QuickCheck reflection regex-tdfa template-haskell
-       ];
-       testHaskellDepends = [
-         base cdar-mBound collect-errors deepseq hspec integer-logarithms
-         mixed-types-num QuickCheck reflection regex-tdfa template-haskell
-       ];
-       description = "Multi-precision ball (interval) arithmetic";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "aern2-mp_0_2_7_0" = callPackage
-    ({ mkDerivation, base, cdar-mBound, collect-errors, deepseq, hspec
-     , integer-logarithms, mixed-types-num, QuickCheck, reflection
-     , regex-tdfa, template-haskell
-     }:
-     mkDerivation {
-       pname = "aern2-mp";
        version = "0.2.7.0";
        sha256 = "1gsqaggg6mpcpl9s3z566gmbynj4l6n1fhni5b0p8pf5hj8n93gg";
        libraryHaskellDepends = [
@@ -24309,27 +24249,6 @@ self: {
      }:
      mkDerivation {
        pname = "aern2-real";
-       version = "0.2.6.0";
-       sha256 = "182vjrbdzjcpbbhmpsmv6i685jrnw94vda37646d1gph5v3hvfw6";
-       libraryHaskellDepends = [
-         aern2-mp base collect-errors hspec integer-logarithms
-         mixed-types-num QuickCheck
-       ];
-       testHaskellDepends = [
-         aern2-mp base collect-errors hspec integer-logarithms
-         mixed-types-num QuickCheck
-       ];
-       description = "Real numbers as sequences of MPBalls";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "aern2-real_0_2_7_0" = callPackage
-    ({ mkDerivation, aern2-mp, base, collect-errors, hspec
-     , integer-logarithms, mixed-types-num, QuickCheck
-     }:
-     mkDerivation {
-       pname = "aern2-real";
        version = "0.2.7.0";
        sha256 = "0dsph1775rifr9vvx4w7v55bryqmh04fhk6nyk7d91yhn1sf6wc9";
        libraryHaskellDepends = [
@@ -25564,21 +25483,6 @@ self: {
      }) {};
 
   "agda2lagda" = callPackage
-    ({ mkDerivation, base, directory, filepath, optparse-applicative }:
-     mkDerivation {
-       pname = "agda2lagda";
-       version = "0.2020.11.1";
-       sha256 = "0yl44jdczy9306b5ifd8iwchr8izna8sd5v2h2qm9ns909wcs1l8";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         base directory filepath optparse-applicative
-       ];
-       description = "Translate .agda files into .lagda.tex files.";
-       license = lib.licenses.publicDomain;
-     }) {};
-
-  "agda2lagda_0_2021_6_1" = callPackage
     ({ mkDerivation, base, directory, filepath, goldplate
      , optparse-applicative, process
      }:
@@ -25595,7 +25499,6 @@ self: {
        testToolDepends = [ goldplate ];
        description = "Translate .agda files into .lagda.tex files.";
        license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "agentx" = callPackage
@@ -29134,6 +29037,8 @@ self: {
        ];
        description = "Provides conduits to upload data to S3 using the Multipart API";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "amazonka-sagemaker" = callPackage
@@ -32862,15 +32767,15 @@ self: {
 
   "arithmoi" = callPackage
     ({ mkDerivation, array, base, chimera, constraints, containers
-     , deepseq, exact-pi, gauge, integer-gmp, integer-logarithms
-     , integer-roots, mod, QuickCheck, quickcheck-classes, random
-     , semirings, smallcheck, tasty, tasty-hunit, tasty-quickcheck
-     , tasty-rerun, tasty-smallcheck, transformers, vector
+     , deepseq, exact-pi, integer-gmp, integer-logarithms, integer-roots
+     , mod, QuickCheck, quickcheck-classes, random, semirings
+     , smallcheck, tasty, tasty-bench, tasty-hunit, tasty-quickcheck
+     , tasty-rerun, tasty-smallcheck, transformers, vector, vector-sized
      }:
      mkDerivation {
        pname = "arithmoi";
-       version = "0.11.0.1";
-       sha256 = "1dz6gpwnyw02lff8xh5vmf1vsknnvnd3vh3iix0r6f1hkf03xi8y";
+       version = "0.12.0.0";
+       sha256 = "1lghgr4z2vhafj8d8971pdghih6r5qq5xlc0b87jmazyhzz95w3f";
        configureFlags = [ "-f-llvm" ];
        libraryHaskellDepends = [
          array base chimera constraints containers deepseq exact-pi
@@ -32879,12 +32784,13 @@ self: {
        ];
        testHaskellDepends = [
          base containers exact-pi integer-gmp integer-roots mod QuickCheck
-         quickcheck-classes semirings smallcheck tasty tasty-hunit
+         quickcheck-classes random semirings smallcheck tasty tasty-hunit
          tasty-quickcheck tasty-rerun tasty-smallcheck transformers vector
+         vector-sized
        ];
        benchmarkHaskellDepends = [
-         array base constraints containers deepseq gauge integer-logarithms
-         mod random semirings vector
+         array base constraints containers deepseq integer-logarithms mod
+         random semirings tasty-bench vector
        ];
        description = "Efficient basic number-theoretic functions";
        license = lib.licenses.mit;
@@ -35530,6 +35436,41 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "aura_3_2_5" = callPackage
+    ({ mkDerivation, aeson, algebraic-graphs, aur, base, bytestring
+     , containers, filepath, hashable, http-client, http-client-tls
+     , http-types, language-bash, megaparsec, network-uri
+     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
+     , rio, scheduler, stm, tasty, tasty-hunit, text, time, transformers
+     , typed-process, versions
+     }:
+     mkDerivation {
+       pname = "aura";
+       version = "3.2.5";
+       sha256 = "1zrsjcvmhh3y0pahnz2fr944j2xz8sv4dcd9xz08vci4x1lm87hr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson algebraic-graphs aur base bytestring containers filepath
+         hashable http-client http-types language-bash megaparsec
+         network-uri prettyprinter prettyprinter-ansi-terminal rio scheduler
+         stm text time transformers typed-process versions
+       ];
+       executableHaskellDepends = [
+         aeson aur base bytestring containers http-client http-client-tls
+         megaparsec optparse-applicative prettyprinter
+         prettyprinter-ansi-terminal rio scheduler text transformers
+         typed-process versions
+       ];
+       testHaskellDepends = [
+         base bytestring containers megaparsec rio tasty tasty-hunit text
+         versions
+       ];
+       description = "A secure package manager for Arch Linux and the AUR";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "authenticate" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
      , case-insensitive, conduit, containers, html-conduit, http-conduit
@@ -36277,8 +36218,8 @@ self: {
      }:
      mkDerivation {
        pname = "aws-cloudfront-signed-cookies";
-       version = "0.2.0.6";
-       sha256 = "19kzrmjw3vfv3v1s35fqdvixlxha43sdb29d60fwjkzvg7al9scv";
+       version = "0.2.0.8";
+       sha256 = "07640asv46gvqqzv8d050x19b2j6wjasm98gpy6047aqg1a6f3ac";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44218,8 +44159,8 @@ self: {
      }:
      mkDerivation {
        pname = "blucontrol";
-       version = "0.3.2.0";
-       sha256 = "1rg9gsrkwnpabrpgl0xh0z9wa1gkqi5vgxpfg7lfz6jcb72qsas6";
+       version = "0.5.0.0";
+       sha256 = "1xqwhzxgjn7fza46whp8rdpvsglly577hxjxlaqb67174rq29zgi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -49136,8 +49077,8 @@ self: {
      }:
      mkDerivation {
        pname = "cabal-rpm";
-       version = "2.0.8";
-       sha256 = "18ryg2qv1ppxkylgniw4iava9gh410pp6ibm1362ij52128z6rhz";
+       version = "2.0.9";
+       sha256 = "1r6a0dki4wsrmq5xfjb9bkj0dl7cnhwdf46427k71ay90hmc6ncq";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -52331,30 +52272,6 @@ self: {
 
   "cdar-mBound" = callPackage
     ({ mkDerivation, base, containers, criterion, deepseq, integer-gmp
-     , parallel, QuickCheck, smallcheck, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck
-     }:
-     mkDerivation {
-       pname = "cdar-mBound";
-       version = "0.1.0.2";
-       sha256 = "1qzpb9kwswln7vbj0v0qm6fsi6v3v9xx701hyfg12y3f9hz096zf";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [ base containers deepseq integer-gmp ];
-       executableHaskellDepends = [ base containers deepseq integer-gmp ];
-       testHaskellDepends = [
-         base containers deepseq integer-gmp QuickCheck smallcheck tasty
-         tasty-hunit tasty-quickcheck tasty-smallcheck
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq integer-gmp parallel
-       ];
-       description = "Exact real arithmetic using Centred Dyadic Approximations";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "cdar-mBound_0_1_0_4" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq, integer-gmp
      , smallcheck, tasty, tasty-hunit, tasty-quickcheck
      , tasty-smallcheck
      }:
@@ -52372,7 +52289,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Exact real arithmetic using Centred Dyadic Approximations";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "cdeps" = callPackage
@@ -54937,6 +54853,25 @@ self: {
        broken = true;
      }) {};
 
+  "circular_0_4_0_0" = callPackage
+    ({ mkDerivation, aeson, base, criterion, hspec, primitive
+     , QuickCheck, quickcheck-instances, vector
+     }:
+     mkDerivation {
+       pname = "circular";
+       version = "0.4.0.0";
+       sha256 = "1542z19mf0ck3x8n62slw88rbmqy8dgwjlsz145a0i8lb8f79kn1";
+       libraryHaskellDepends = [ aeson base primitive vector ];
+       testHaskellDepends = [
+         aeson base hspec primitive QuickCheck quickcheck-instances vector
+       ];
+       benchmarkHaskellDepends = [ base criterion vector ];
+       description = "Circular fixed-sized mutable vectors";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "cirru-parser" = callPackage
     ({ mkDerivation, aeson, base, text, vector }:
      mkDerivation {
@@ -57652,8 +57587,8 @@ self: {
      }:
      mkDerivation {
        pname = "cobot-io";
-       version = "0.1.3.19";
-       sha256 = "1gs4q04iyzzfwij58bbmhz2app3gf4xj0dnd4x4bhkgwj7gmvf4m";
+       version = "0.1.3.20";
+       sha256 = "075s6rhzyldm5c9g27ljwhs8xyxghk8cpm2742l3h69j9y7v3xnc";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-msgpack
          deepseq http-conduit hyraxAbif lens linear mtl split text vector
@@ -62781,8 +62716,8 @@ self: {
      }:
      mkDerivation {
        pname = "consumers";
-       version = "2.2.0.3";
-       sha256 = "0jvh3mf7jmrv3zjplc5cjmpyj7h15573l6dlyzn3c2jhj61zjwkk";
+       version = "2.2.0.4";
+       sha256 = "0rssm2ygr395djjzkrzcq3vylc83k58flwcpqb4cb3w1id55ph5r";
        libraryHaskellDepends = [
          base containers exceptions extra hpqtypes lifted-base
          lifted-threads log-base monad-control monad-time mtl stm time
@@ -62911,8 +62846,8 @@ self: {
     ({ mkDerivation, base, base-unicode-symbols, containers }:
      mkDerivation {
        pname = "containers-unicode-symbols";
-       version = "0.3.1.2";
-       sha256 = "006znsrwz3sssvg53mail2xd98hq6y4l83140sd2fzyg4df25js7";
+       version = "0.3.1.3";
+       sha256 = "1qz404fjcc00c2zxphzrm1r8i9q3hd8h9lndhd9ddxy3cx3jw8r6";
        libraryHaskellDepends = [ base base-unicode-symbols containers ];
        description = "Unicode alternatives for common functions and operators";
        license = lib.licenses.bsd3;
@@ -64651,8 +64586,8 @@ self: {
     ({ mkDerivation, base, containers, directory, parallel }:
      mkDerivation {
        pname = "cpsa";
-       version = "3.6.6";
-       sha256 = "1mg85yjx4fjsnzfmbz0gh78agis44nqqmnc8rwdqkrp6vka1v9ks";
+       version = "3.6.7";
+       sha256 = "113w03i4a5xxxr9qc9zd2b00sp0m8lbf1mpgwf5zam3jjxzcq4x0";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -65738,6 +65673,8 @@ self: {
        ];
        description = "Another bloated standard library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "cruncher-types" = callPackage
@@ -65932,8 +65869,8 @@ self: {
        pname = "crypto-enigma";
        version = "0.1.1.6";
        sha256 = "07qxrpwg9r2w2l0d2nrvn703vzsfhchznly93bnr2pfpbwj4iv2z";
-       revision = "4";
-       editedCabalFile = "0436kl0gsy0hj7dfrqmwz95q3k31af731q484yx2gj9zcma1h1vp";
+       revision = "6";
+       editedCabalFile = "1zp6mx1d0dbffc046770mzl1zmwvz4h54xznmmqzbijmnmsc0y3c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base containers split text ];
@@ -73132,8 +73069,8 @@ self: {
     ({ mkDerivation, aeson, base, bytestring }:
      mkDerivation {
        pname = "deriving-aeson";
-       version = "0.2.6.1";
-       sha256 = "014f3jsaiwqkz2l0jap8shwq3rdn1hq14ahmq0hm3l4c98vznjra";
+       version = "0.2.7";
+       sha256 = "02mx8z1cgqn9wgwcp94am2g655hhn7sn12sikmm8jhbldnyv3ziz";
        libraryHaskellDepends = [ aeson base ];
        testHaskellDepends = [ aeson base bytestring ];
        description = "Type driven generic aeson instance customisation";
@@ -73668,7 +73605,7 @@ self: {
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
-  "dhall" = callPackage
+  "dhall_1_38_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, cryptonite, data-fix, deepseq, Diff, directory
@@ -73722,10 +73659,11 @@ self: {
        doCheck = false;
        description = "A configuration language guaranteed to terminate";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
-  "dhall_1_39_0" = callPackage
+  "dhall" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, atomic-write
      , base, bytestring, case-insensitive, cborg, cborg-json, containers
      , contravariant, cryptonite, data-fix, deepseq, Diff, directory
@@ -73777,7 +73715,6 @@ self: {
        doCheck = false;
        description = "A configuration language guaranteed to terminate";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -73787,30 +73724,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.36";
-       sha256 = "0hg45xjl1pcla9xbds40qrxcx2h6b4ysw8kbx8hpnaqaazr2jrw0";
-       revision = "1";
-       editedCabalFile = "1jc74gydr3yx01xp1a69a3g9mbfqyzsmv1053xm51bcxxv6p6z9d";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring containers dhall neat-interpolation shell-escape
-         text
-       ];
-       executableHaskellDepends = [
-         base bytestring dhall optparse-generic text
-       ];
-       description = "Compile Dhall to Bash";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "dhall-bash_1_0_37" = callPackage
-    ({ mkDerivation, base, bytestring, containers, dhall
-     , neat-interpolation, optparse-generic, shell-escape, text
-     }:
-     mkDerivation {
-       pname = "dhall-bash";
        version = "1.0.37";
        sha256 = "0gm6zamh8kgrc2d00cjf2ijb49ic3z6rlk0ngmig8hckmsy63w1d";
        isLibrary = true;
@@ -73824,7 +73737,6 @@ self: {
        ];
        description = "Compile Dhall to Bash";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -73921,36 +73833,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.7.6";
-       sha256 = "1fl5ngp1qh77qr27ax5009siy20cas6fm55776zhs82zb96sli0n";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty aeson-yaml base bytestring containers dhall
-         exceptions filepath lens-family-core optparse-applicative
-         prettyprinter scientific text unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         aeson aeson-pretty ansi-terminal base bytestring dhall exceptions
-         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
-       ];
-       testHaskellDepends = [
-         aeson base bytestring dhall tasty tasty-hunit tasty-silver text
-       ];
-       description = "Convert between Dhall and JSON or YAML";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "dhall-json_1_7_7" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-yaml, ansi-terminal
-     , base, bytestring, containers, dhall, exceptions, filepath
-     , lens-family-core, optparse-applicative, prettyprinter
-     , prettyprinter-ansi-terminal, scientific, tasty, tasty-hunit
-     , tasty-silver, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "dhall-json";
        version = "1.7.7";
        sha256 = "163600cr04a5c9gjqg0846wwjp4wl61yhfg80zvsadkaq5zfzlll";
        isLibrary = true;
@@ -73969,7 +73851,6 @@ self: {
        ];
        description = "Convert between Dhall and JSON or YAML";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -73995,38 +73876,6 @@ self: {
   "dhall-lsp-server" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
      , data-default, dhall, dhall-json, directory, doctest, filepath
-     , haskell-lsp, haskell-lsp-types, hslogger, lens, lsp-test
-     , megaparsec, mtl, network-uri, optparse-applicative, prettyprinter
-     , QuickCheck, rope-utf16-splay, tasty, tasty-hspec, text
-     , transformers, unordered-containers, uri-encode
-     }:
-     mkDerivation {
-       pname = "dhall-lsp-server";
-       version = "1.0.14";
-       sha256 = "1jy80w3lr6c0hvn0525h5kn6fh9rj6ir942hdkilrzd9farg6qj9";
-       revision = "1";
-       editedCabalFile = "10947mmbwy5fg52s63cs7lqa6hydrg3w8ka7rfkpdiqn2q9f146r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring containers data-default dhall
-         dhall-json directory filepath haskell-lsp hslogger lens megaparsec
-         mtl network-uri prettyprinter rope-utf16-splay text transformers
-         unordered-containers uri-encode
-       ];
-       executableHaskellDepends = [ base optparse-applicative ];
-       testHaskellDepends = [
-         base directory doctest filepath haskell-lsp-types lsp-test
-         QuickCheck tasty tasty-hspec text
-       ];
-       description = "Language Server Protocol (LSP) server for Dhall";
-       license = lib.licenses.mit;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "dhall-lsp-server_1_0_15" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, containers
-     , data-default, dhall, dhall-json, directory, doctest, filepath
      , haskell-lsp, haskell-lsp-types, hslogger, hspec, lens, lsp-test
      , megaparsec, mtl, network-uri, optparse-applicative, prettyprinter
      , QuickCheck, rope-utf16-splay, tasty, tasty-hspec, text
@@ -74051,7 +73900,6 @@ self: {
        ];
        description = "Language Server Protocol (LSP) server for Dhall";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -74061,30 +73909,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.1.20";
-       sha256 = "14d9icvgmrphnbjjwlskh88p7vgphgb0xqd91p217bf2xhl9k2xd";
-       revision = "2";
-       editedCabalFile = "1w90jrkzmbv5nasafkkv0kyfmnqkngldx2lr891113h2mqbbr3wx";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base containers data-fix dhall hnix lens-family-core
-         neat-interpolation text
-       ];
-       executableHaskellDepends = [
-         base dhall hnix optparse-generic text
-       ];
-       description = "Dhall to Nix compiler";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "dhall-nix_1_1_21" = callPackage
-    ({ mkDerivation, base, containers, data-fix, dhall, hnix
-     , lens-family-core, neat-interpolation, optparse-generic, text
-     }:
-     mkDerivation {
-       pname = "dhall-nix";
        version = "1.1.21";
        sha256 = "0yqqjq8yqswcaiqrrgx37rlwvxgciwhvird34hsaq4fr3kbjgv4h";
        isLibrary = true;
@@ -74098,7 +73922,6 @@ self: {
        ];
        description = "Dhall to Nix compiler";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -74131,31 +73954,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-openapi";
-       version = "1.0.0";
-       sha256 = "1dg1hj8yfm08bzzirzg6cq26vkxv6i86rrf96a73pb1hpz3jjq7j";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base containers dhall prettyprinter scientific sort text
-         vector
-       ];
-       executableHaskellDepends = [
-         aeson base containers dhall directory filepath megaparsec
-         optparse-applicative parser-combinators prettyprinter sort text
-         vector
-       ];
-       description = "Convert an OpenAPI specification to a Dhall package";
-       license = lib.licenses.bsd3;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "dhall-openapi_1_0_1" = callPackage
-    ({ mkDerivation, aeson, base, containers, dhall, directory
-     , filepath, megaparsec, optparse-applicative, parser-combinators
-     , prettyprinter, scientific, sort, text, vector
-     }:
-     mkDerivation {
-       pname = "dhall-openapi";
        version = "1.0.1";
        sha256 = "1n34amb97dqpvz0s3mhqb46gjq1ix1gicsq700z6v6y7xssrgbz2";
        isLibrary = true;
@@ -74171,7 +73969,6 @@ self: {
        ];
        description = "Convert an OpenAPI specification to a Dhall package";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -74250,35 +74047,6 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-yaml";
-       version = "1.2.6";
-       sha256 = "0v6f513hxn382h4l8hyj9gxara3xdfcrldzri0i3yjvir62bkicm";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring dhall dhall-json HsYAML HsYAML-aeson
-         optparse-applicative text vector
-       ];
-       executableHaskellDepends = [
-         aeson ansi-terminal base bytestring dhall dhall-json exceptions
-         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
-       ];
-       testHaskellDepends = [
-         base bytestring dhall dhall-json tasty tasty-expected-failure
-         tasty-hunit text
-       ];
-       description = "Convert between Dhall and YAML";
-       license = lib.licenses.gpl3Only;
-       maintainers = with lib.maintainers; [ Gabriel439 ];
-     }) {};
-
-  "dhall-yaml_1_2_7" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, dhall
-     , dhall-json, exceptions, HsYAML, HsYAML-aeson
-     , optparse-applicative, prettyprinter, prettyprinter-ansi-terminal
-     , tasty, tasty-expected-failure, tasty-hunit, text, vector
-     }:
-     mkDerivation {
-       pname = "dhall-yaml";
        version = "1.2.7";
        sha256 = "17fpxjlhmjnra92l8iv4k40bxbx1plmhkijf6axxkjyhfh0ax303";
        isLibrary = true;
@@ -74297,7 +74065,6 @@ self: {
        ];
        description = "Convert between Dhall and YAML";
        license = lib.licenses.gpl3Only;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ Gabriel439 ];
      }) {};
 
@@ -74956,6 +74723,8 @@ self: {
        pname = "diagrams-rasterific";
        version = "1.4.2.1";
        sha256 = "09a1jnpc4kplg1yhv5kxhi0ph22m5xyr0vmnjv2c5wlz72c72z2z";
+       revision = "1";
+       editedCabalFile = "1nc12hm4qbj2lmbpk3a77cd46n5bcf20vwd075qj2vglbca2yl9b";
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
          diagrams-lib file-embed filepath FontyFruity hashable JuicyPixels
@@ -75025,8 +74794,8 @@ self: {
        pname = "diagrams-svg";
        version = "1.4.3";
        sha256 = "1ysv6cz0fngrndl4wjmw4hrdj2rik5fxa1dkxzwnlgf1xwpvxgk8";
-       revision = "2";
-       editedCabalFile = "07149rnzc8787mwh0aac5hfg9f41dxgs5wc9yv60fmgk9h5qnw1n";
+       revision = "3";
+       editedCabalFile = "19n3g9wvp2fj4dlz3ssyjqx1b6ihskg5s595x9z2c99bpbzyykkv";
        libraryHaskellDepends = [
          base base64-bytestring bytestring colour containers diagrams-core
          diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
@@ -77663,18 +77432,6 @@ self: {
      }) {};
 
   "dlist" = callPackage
-    ({ mkDerivation, base, Cabal, deepseq, QuickCheck }:
-     mkDerivation {
-       pname = "dlist";
-       version = "0.8.0.8";
-       sha256 = "0va9xk8g2iag24x042q3w6z77xdqd91112kh0piq8cwd0qccyabi";
-       libraryHaskellDepends = [ base deepseq ];
-       testHaskellDepends = [ base Cabal QuickCheck ];
-       description = "Difference lists";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "dlist_1_0" = callPackage
     ({ mkDerivation, base, deepseq, QuickCheck }:
      mkDerivation {
        pname = "dlist";
@@ -77684,7 +77441,6 @@ self: {
        testHaskellDepends = [ base QuickCheck ];
        description = "Difference lists";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dlist-instances" = callPackage
@@ -78835,8 +78591,8 @@ self: {
      }:
      mkDerivation {
        pname = "domain";
-       version = "0.1.1";
-       sha256 = "0ykf1bxd0xmgdhkvd8rp14p4zccpwp5ywj2yiyh6mpp4sp03qwiw";
+       version = "0.1.1.1";
+       sha256 = "1vy789dv1lpha2bxvr0x1vk2vvgb9z43abkqi1rbj2vvirqsbr1n";
        libraryHaskellDepends = [
          attoparsec base bytestring domain-core foldl hashable
          parser-combinators template-haskell template-haskell-compat-v0208
@@ -78893,8 +78649,8 @@ self: {
      }:
      mkDerivation {
        pname = "domain-optics";
-       version = "0.1";
-       sha256 = "0nivzn3nw30n1wb0i2j9qzxfmqcyknc187z3rkfyz5a5y7iq7x4m";
+       version = "0.1.0.1";
+       sha256 = "1ypsnwy9rv9yldyc2v5w6q2az87dmj9dyalsmg7nnymaip4jm1dm";
        libraryHaskellDepends = [
          base domain-core optics-core template-haskell
          template-haskell-compat-v0208 text th-lego unordered-containers
@@ -82317,8 +82073,8 @@ self: {
     ({ mkDerivation, base, containers, doctest }:
      mkDerivation {
        pname = "either-list-functions";
-       version = "0.0.4.4";
-       sha256 = "1kh10iykk6gqzl78smrwv1zl8dcy0ns2raisx5qchcvrdgshzdiy";
+       version = "0.0.4.5";
+       sha256 = "1q77nq24sxig4xangcxzyg3dzm9yphj5w5l143q84am098hp0vkn";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base doctest ];
        description = "Functions involving lists of Either";
@@ -83353,6 +83109,24 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "elynx_0_5_1_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, elynx-tools
+     , optparse-applicative, slynx, tlynx
+     }:
+     mkDerivation {
+       pname = "elynx";
+       version = "0.5.1.0";
+       sha256 = "05i3g1c7kdnji46y17215nv9vk21w3zi26z1ngqa8dnfswfx1d0i";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base bytestring elynx-tools optparse-applicative slynx tlynx
+       ];
+       description = "Validate and (optionally) redo ELynx analyses";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "elynx-markov" = callPackage
     ({ mkDerivation, async, attoparsec, base, bytestring, containers
      , elynx-seq, elynx-tools, hmatrix, hspec, integration
@@ -83374,6 +83148,28 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "elynx-markov_0_5_1_0" = callPackage
+    ({ mkDerivation, async, attoparsec, base, bytestring, containers
+     , elynx-seq, elynx-tools, hmatrix, hspec, integration
+     , math-functions, mwc-random, primitive, statistics, vector
+     }:
+     mkDerivation {
+       pname = "elynx-markov";
+       version = "0.5.1.0";
+       sha256 = "1wpq62in9zlap01an6swdf9n1x2pall1vfh4hw5r7zpn7vik1mfx";
+       libraryHaskellDepends = [
+         async attoparsec base bytestring containers elynx-seq hmatrix
+         integration math-functions mwc-random primitive statistics vector
+       ];
+       testHaskellDepends = [
+         base containers elynx-tools hmatrix hspec mwc-random vector
+       ];
+       benchmarkHaskellDepends = [ base ];
+       description = "Simulate molecular sequences along trees";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "elynx-nexus" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, hspec }:
      mkDerivation {
@@ -83386,6 +83182,19 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "elynx-nexus_0_5_1_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, hspec }:
+     mkDerivation {
+       pname = "elynx-nexus";
+       version = "0.5.1.0";
+       sha256 = "0inl9bw7793zbji42gasj4vckigzmr1l4yqf66f9ss958pmgh5n9";
+       libraryHaskellDepends = [ attoparsec base bytestring ];
+       testHaskellDepends = [ base hspec ];
+       description = "Import and export Nexus files";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "elynx-seq" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , elynx-tools, hspec, matrices, mwc-random, parallel, primitive
@@ -83406,6 +83215,27 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "elynx-seq_0_5_1_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , elynx-tools, hspec, matrices, mwc-random, parallel, primitive
+     , vector, vector-th-unbox, word8
+     }:
+     mkDerivation {
+       pname = "elynx-seq";
+       version = "0.5.1.0";
+       sha256 = "069fj6ap0yj5bn2r3d5bk85dy02r3fr8prd5hvky6l5gxvpvzcm0";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring containers matrices mwc-random
+         parallel primitive vector vector-th-unbox word8
+       ];
+       testHaskellDepends = [
+         base bytestring elynx-tools hspec matrices vector
+       ];
+       description = "Handle molecular sequences";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "elynx-tools" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
      , bytestring, cryptohash-sha256, deepseq, directory, fast-logger
@@ -83428,6 +83258,29 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "elynx-tools_0_5_1_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , bytestring, cryptohash-sha256, deepseq, directory, hmatrix
+     , monad-control, monad-logger, mwc-random, optparse-applicative
+     , primitive, template-haskell, text, time, transformers
+     , transformers-base, vector, zlib
+     }:
+     mkDerivation {
+       pname = "elynx-tools";
+       version = "0.5.1.0";
+       sha256 = "0djfxqxc5aivvljzi7c8xabi7k23y7gnk5wqmdvw4riqpsc7by0y";
+       libraryHaskellDepends = [
+         aeson attoparsec base base16-bytestring bytestring
+         cryptohash-sha256 deepseq directory hmatrix monad-control
+         monad-logger mwc-random optparse-applicative primitive
+         template-haskell text time transformers transformers-base vector
+         zlib
+       ];
+       description = "Tools for ELynx";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "elynx-tree" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, comonad
      , containers, criterion, deepseq, double-conversion, elynx-nexus
@@ -83453,6 +83306,32 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "elynx-tree_0_5_1_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, comonad
+     , containers, criterion, deepseq, double-conversion, elynx-nexus
+     , elynx-tools, hspec, math-functions, microlens, mwc-random
+     , parallel, primitive, QuickCheck, statistics
+     }:
+     mkDerivation {
+       pname = "elynx-tree";
+       version = "0.5.1.0";
+       sha256 = "117my1fv16yw51qf0aa7mi6311d98jfmpvpsivwxyayhwi55g2q6";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring comonad containers deepseq
+         double-conversion elynx-nexus math-functions mwc-random parallel
+         primitive statistics
+       ];
+       testHaskellDepends = [
+         attoparsec base bytestring containers elynx-tools hspec QuickCheck
+       ];
+       benchmarkHaskellDepends = [
+         base criterion elynx-tools microlens mwc-random parallel
+       ];
+       description = "Handle phylogenetic trees";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ema" = callPackage
     ({ mkDerivation, aeson, async, base, blaze-html, blaze-markup
      , commonmark, commonmark-extensions, commonmark-pandoc, containers
@@ -84118,6 +83997,8 @@ self: {
        pname = "entropy";
        version = "0.4.1.6";
        sha256 = "0qmzz0zgad13zl0kjrxz6cxg8ckn2w8saas2a2j72vbafpzmkixd";
+       revision = "1";
+       editedCabalFile = "0jyyyn1cfi1cjisbgym90nw2vx2082ghvwg54ibnjzbii9aj7fj9";
        setupHaskellDepends = [ base Cabal directory filepath process ];
        libraryHaskellDepends = [ base bytestring unix ];
        description = "A platform independent entropy source";
@@ -85025,8 +84906,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Source code error pretty printing";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "errno" = callPackage
@@ -87813,19 +87692,6 @@ self: {
     ({ mkDerivation, base, leancheck, template-haskell }:
      mkDerivation {
        pname = "express";
-       version = "0.1.12";
-       sha256 = "1055qj5ymlzshva94i1gfr6sfmjgv1rhxpx5h76fdq5ia6hkd68z";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base leancheck ];
-       benchmarkHaskellDepends = [ base leancheck ];
-       description = "Dynamically-typed expressions involving applications and variables";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "express_0_1_14" = callPackage
-    ({ mkDerivation, base, leancheck, template-haskell }:
-     mkDerivation {
-       pname = "express";
        version = "0.1.14";
        sha256 = "19sjh12sjpxhk7wg2b3abga7bpk6ckry19zi58imqmy8xbh6ds39";
        libraryHaskellDepends = [ base template-haskell ];
@@ -87833,7 +87699,6 @@ self: {
        benchmarkHaskellDepends = [ base leancheck ];
        description = "Dynamically-typed expressions involving applications and variables";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "expression-parser" = callPackage
@@ -88791,6 +88656,34 @@ self: {
        broken = true;
      }) {};
 
+  "faktory_1_0_3_1" = callPackage
+    ({ mkDerivation, aeson, aeson-casing, async, base, bytestring
+     , connection, cryptonite, errors, hspec, markdown-unlit, megaparsec
+     , memory, mtl, network, random, safe-exceptions, scanner
+     , semigroups, text, time, unix, unordered-containers
+     }:
+     mkDerivation {
+       pname = "faktory";
+       version = "1.0.3.1";
+       sha256 = "0af9wsx3fl701an3bsp7daxa4hxv7pdj16y7cypj3cvdwav5wdsg";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-casing base bytestring connection cryptonite errors
+         megaparsec memory mtl network random safe-exceptions scanner
+         semigroups text time unix unordered-containers
+       ];
+       executableHaskellDepends = [ aeson base safe-exceptions ];
+       testHaskellDepends = [
+         aeson async base hspec markdown-unlit time
+       ];
+       testToolDepends = [ markdown-unlit ];
+       description = "Faktory Worker for Haskell";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "fallible" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -89920,6 +89813,8 @@ self: {
        pname = "feed";
        version = "1.3.2.0";
        sha256 = "0kv3vx3njqlhwvkmf12m1gmwl8jj97kfa60da2362vwdavhcf4dk";
+       revision = "1";
+       editedCabalFile = "0lg9yphl07hbknzx0nvdxvcw05bpxc5ac9sqb26lv4d9nkb72blg";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base base-compat bytestring old-locale old-time safe text time
@@ -91856,22 +91751,6 @@ self: {
      }:
      mkDerivation {
        pname = "fitspec";
-       version = "0.4.8";
-       sha256 = "01xfchs98xy5436kchzysnvwgm00s2srsn5xyxx3r04pzzb5cbd9";
-       libraryHaskellDepends = [
-         base cmdargs leancheck template-haskell
-       ];
-       testHaskellDepends = [ base leancheck ];
-       benchmarkHaskellDepends = [ base pretty ];
-       description = "refining property sets for testing Haskell programs";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fitspec_0_4_10" = callPackage
-    ({ mkDerivation, base, cmdargs, leancheck, pretty, template-haskell
-     }:
-     mkDerivation {
-       pname = "fitspec";
        version = "0.4.10";
        sha256 = "1jq4brkwq59hj8fpyfq60hywj9hx82qp0yjvyl0bmwy8jpc6j91k";
        libraryHaskellDepends = [
@@ -91881,7 +91760,6 @@ self: {
        benchmarkHaskellDepends = [ base pretty ];
        description = "refining property sets for testing Haskell programs";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fix-imports" = callPackage
@@ -95158,26 +95036,6 @@ self: {
      }:
      mkDerivation {
        pname = "free";
-       version = "5.1.5";
-       sha256 = "0rpnimi3iyr6n9q2ny365mp1l5rjjys15aggcikgnrfn0d656nw6";
-       revision = "1";
-       editedCabalFile = "1ac4f5n3spmxy9ajlikn9ffswg9l59s7kzwpgcpz8vkc2qf959g1";
-       libraryHaskellDepends = [
-         base comonad containers distributive exceptions indexed-traversable
-         mtl profunctors semigroupoids template-haskell th-abstraction
-         transformers transformers-base
-       ];
-       description = "Monads for free";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "free_5_1_7" = callPackage
-    ({ mkDerivation, base, comonad, containers, distributive
-     , exceptions, indexed-traversable, mtl, profunctors, semigroupoids
-     , template-haskell, th-abstraction, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "free";
        version = "5.1.7";
        sha256 = "121b81wxjk30nc27ivwzxjxi1dcwc30y0gy8l6wac3dxwvkx2c5j";
        libraryHaskellDepends = [
@@ -95187,7 +95045,6 @@ self: {
        ];
        description = "Monads for free";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "free-algebras" = callPackage
@@ -97189,8 +97046,8 @@ self: {
      }:
      mkDerivation {
        pname = "fused-effects-exceptions";
-       version = "1.1.0.0";
-       sha256 = "0r5xfv5cknxz21viqcpa8xjd57sbadp2vf7nk7z9j1sd5faprmji";
+       version = "1.1.0.1";
+       sha256 = "1b1qflz64xgw1bd3z794vyvb9906g3x9v72w89z27142a6igy4hr";
        libraryHaskellDepends = [ base fused-effects transformers ];
        testHaskellDepends = [
          base fused-effects tasty tasty-hunit transformers
@@ -97343,22 +97200,6 @@ self: {
      }:
      mkDerivation {
        pname = "fusion-plugin";
-       version = "0.2.2";
-       sha256 = "1d7avmbrqgvp9c4jyrlw344hml29f3vy5m5fgyrsd1z3g4fymakb";
-       libraryHaskellDepends = [
-         base containers directory filepath fusion-plugin-types ghc syb time
-         transformers
-       ];
-       description = "GHC plugin to make stream fusion more predictable";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "fusion-plugin_0_2_3" = callPackage
-    ({ mkDerivation, base, containers, directory, filepath
-     , fusion-plugin-types, ghc, syb, time, transformers
-     }:
-     mkDerivation {
-       pname = "fusion-plugin";
        version = "0.2.3";
        sha256 = "1lklrd3afvm8fwd14yiavx5h8zxjkn2k2vqnxbqwcakcnljxrfyq";
        libraryHaskellDepends = [
@@ -97367,7 +97208,6 @@ self: {
        ];
        description = "GHC plugin to make stream fusion more predictable";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fusion-plugin-types" = callPackage
@@ -97462,6 +97302,27 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "futhark-data" = callPackage
+    ({ mkDerivation, base, binary, bytestring, bytestring-to-vector
+     , containers, megaparsec, mtl, QuickCheck, tasty, tasty-hunit
+     , tasty-quickcheck, text, vector, vector-binary-instances
+     }:
+     mkDerivation {
+       pname = "futhark-data";
+       version = "1.0.0.1";
+       sha256 = "126b7igrk0aldj4kjwkyvvsy3v64g9iv6w9ladbbfnd4qw7svswm";
+       libraryHaskellDepends = [
+         base binary bytestring bytestring-to-vector containers megaparsec
+         mtl text vector vector-binary-instances
+       ];
+       testHaskellDepends = [
+         base binary bytestring megaparsec QuickCheck tasty tasty-hunit
+         tasty-quickcheck text vector
+       ];
+       description = "An implementation of the Futhark data format";
+       license = lib.licenses.isc;
+     }) {};
+
   "futhask" = callPackage
     ({ mkDerivation, base, directory, raw-strings-qq, split }:
      mkDerivation {
@@ -101328,16 +101189,17 @@ self: {
   "ghc-lib" = callPackage
     ({ mkDerivation, alex, array, base, binary, bytestring, containers
      , deepseq, directory, filepath, ghc-lib-parser, ghc-prim, happy
-     , hpc, pretty, process, time, transformers, unix
+     , hpc, pretty, process, rts, time, transformers, unix
      }:
      mkDerivation {
        pname = "ghc-lib";
-       version = "8.10.4.20210206";
-       sha256 = "1zzglnpbnj9ijna6g3rmykqir3iqcg2afmjg9q0ng3imbv40slhs";
+       version = "8.10.5.20210606";
+       sha256 = "0bl2jp44s3pd1a1sg0kslkhi97f4z2423kdkizg65m6cvmk25ijs";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
-         ghc-lib-parser ghc-prim hpc pretty process time transformers unix
+         ghc-lib-parser ghc-prim hpc pretty process rts time transformers
+         unix
        ];
        libraryToolDepends = [ alex happy ];
        description = "The GHC API, decoupled from GHC versions";
@@ -101372,8 +101234,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser";
-       version = "8.10.4.20210206";
-       sha256 = "07j3j67hxz43l1kkdfanghd935wiccvmw7sgk47fjymw6fdx92p2";
+       version = "8.10.5.20210606";
+       sha256 = "0pqsq49kvqwgbi6jw0dycbdzyldi0sannyqkfzavhqjf4mwjzn4a";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
@@ -101412,8 +101274,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-lib-parser-ex";
-       version = "8.10.0.19";
-       sha256 = "0qdkqv7ss9b2mnf39gpbq7i50ypccnl3wdmxiq148zrxbglzfqw9";
+       version = "8.10.0.21";
+       sha256 = "0ynrn7qdmim35fs9qdlbajqwyz559x1l9cqmjhb54vbrs2xnk6vp";
        libraryHaskellDepends = [
          base bytestring containers ghc ghc-boot ghc-boot-th uniplate
        ];
@@ -105224,8 +105086,8 @@ self: {
      }:
      mkDerivation {
        pname = "githash";
-       version = "0.1.5.0";
-       sha256 = "1m2dhmddn9k75j5wyjilbh40n7fkgi7cyic9l0k2s7g9z93yyvql";
+       version = "0.1.6.0";
+       sha256 = "1mcfzgvqiirlz8vc02wlvvfyf6742f3901ks8rphhabl4b4v1djl";
        libraryHaskellDepends = [
          base bytestring directory filepath process template-haskell
        ];
@@ -109747,8 +109609,8 @@ self: {
      }:
      mkDerivation {
        pname = "google-static-maps";
-       version = "0.6.0.1";
-       sha256 = "0hvkxdwfbn352q642v4n8wj4ikfp97sll87cwkgr3vb23qwmlbyy";
+       version = "0.7.0.0";
+       sha256 = "09ir6y13n3sk34g3nnbhv6rz6kibw1gph6fap8f9dlna1g1s1vrb";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytedump bytestring cryptonite
          double-conversion http-client JuicyPixels memory network-uri
@@ -116576,8 +116438,8 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.4.1.3";
-       sha256 = "1sk5z0kf9ybhk17y36zf90ljn51j82pyf8rja0cv64ah9bg5zbgq";
+       version = "0.4.1.4";
+       sha256 = "1ci2q3vkjw51k5hbswmcajk7gl1zpmwx3npbkf3kng3j1kcv0bzw";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -116600,7 +116462,7 @@ self: {
        broken = true;
      }) {};
 
-  "hapistrano_0_4_1_4" = callPackage
+  "hapistrano_0_4_2_0" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, base, directory
      , filepath, formatting, gitrev, hspec, hspec-discover, mtl
      , optparse-applicative, path, path-io, process, QuickCheck
@@ -116608,8 +116470,8 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.4.1.4";
-       sha256 = "1ci2q3vkjw51k5hbswmcajk7gl1zpmwx3npbkf3kng3j1kcv0bzw";
+       version = "0.4.2.0";
+       sha256 = "1f23a0n2pjhacqm275k8njkln3an2x0w48kjgxlrna39mf3fdkwh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -117288,6 +117150,7 @@ self: {
        ];
        description = "Support for static URL routing with overlap detection for Happstack";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "happstack-util" = callPackage
@@ -121495,8 +121358,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-core";
-       version = "0.20.3";
-       sha256 = "0g5d6w6vwkbxf4iqx998q2c5cnhq1bav0ikksdbj98w8b7ga6v0z";
+       version = "0.20.4";
+       sha256 = "0mbq4ixnnjln0qjippmv57qz5p4qx3s0fyr2xj43q5gmis89m4cg";
        libraryHaskellDepends = [
          aeson array base base16 binary bytes bytestring cereal conduit
          containers cryptonite deepseq entropy hashable hspec memory mtl
@@ -121633,8 +121496,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.53.2";
-       sha256 = "04wm92b7687qivwjia69gahd9y2dasirmyxcbv8liqfp5xfmjbmz";
+       version = "0.53.4";
+       sha256 = "04q5a2hf198949z3dlswjq384ymlasq0my1a7n1v3kfr47hr1cjx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -121679,8 +121542,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "0.53.2";
-       sha256 = "1i949izj89g797zp07qxjx16sd2591gsxbpq94v52vzgd6rl9h7n";
+       version = "0.53.4";
+       sha256 = "034yb730i2f2dklqk6fcygg7c1h1l0zpm0xh6zkp4a7wjb77f4jp";
        libraryHaskellDepends = [
          aeson base binary bytes bytestring cereal containers data-default
          deepseq hashable haskoin-core http-client http-types lens mtl
@@ -121827,6 +121690,8 @@ self: {
        pname = "haskore";
        version = "0.2.0.8";
        sha256 = "0aflqgvkabgscpkii7aiqfffb15nc90chp4q8xrl3bp8c3i4bb5l";
+       revision = "2";
+       editedCabalFile = "00rbyw9401m82innh9gjrdqvzn20vy564hicqnjprs1p1j8jn97g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -122928,8 +122793,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasqlator-mysql";
-       version = "0.0.3";
-       sha256 = "1b1nw3l96gvf2laxw7w72w8ya8aazdhv4w7c5ly47n09hx9q77zp";
+       version = "0.0.8";
+       sha256 = "1ns8ckpvib53s4gvdd3pa5c0ypqw2qw2fwvxakkkd1h66xx8as08";
        libraryHaskellDepends = [
          aeson base binary bytestring containers dlist io-streams megaparsec
          mtl mysql-haskell pretty-simple prettyprinter scientific
@@ -127461,19 +127326,20 @@ self: {
      , nonempty-vector, optparse-applicative, primitive, QuickCheck
      , quickcheck-instances, random, reflection, semigroupoids
      , semigroups, tasty-bench, template-haskell, text, vector
-     , vector-algorithms, vector-builder, vector-circular, vinyl, yaml
+     , vector-algorithms, vector-builder, vector-circular, vinyl
+     , witherable, yaml
      }:
      mkDerivation {
        pname = "hgeometry";
-       version = "0.12.0.2";
-       sha256 = "0l14qvsh1aas414zmwwliq7d7cbpjnrs33mfkfpna6svxw5d0phi";
+       version = "0.12.0.4";
+       sha256 = "1by6x3525hzfk2yr2rkwz4c0vq95x32f5c3bc0sr8kl6yrbabghw";
        libraryHaskellDepends = [
          aeson base bifunctors bytestring containers data-clist deepseq
          dlist fingertree fixed-vector hashable hgeometry-combinatorial
          hspec lens linear MonadRandom mtl nonempty-vector primitive
          QuickCheck quickcheck-instances random reflection semigroupoids
          semigroups template-haskell text vector vector-algorithms
-         vector-builder vector-circular vinyl yaml
+         vector-builder vector-circular vinyl witherable yaml
        ];
        testHaskellDepends = [
          base doctest doctest-discover QuickCheck quickcheck-instances
@@ -127496,12 +127362,12 @@ self: {
      , MonadRandom, mtl, nonempty-vector, primitive, QuickCheck
      , quickcheck-instances, random, reflection, semigroupoids
      , semigroups, template-haskell, text, unordered-containers, vector
-     , vector-builder, vector-circular, vinyl, yaml
+     , vector-builder, vector-circular, vinyl, witherable, yaml
      }:
      mkDerivation {
        pname = "hgeometry-combinatorial";
-       version = "0.12.0.2";
-       sha256 = "1ha9v1imwr7584mzxaba8mplsnb0d02j7bhs2knl03q72aaan4jq";
+       version = "0.12.0.3";
+       sha256 = "0sfng68pirghrnqflxnvysg8x3pnpbwrbc70xsj87gc257adfla9";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson array base bifunctors bytestring containers contravariant
@@ -127509,7 +127375,7 @@ self: {
          math-functions MonadRandom mtl nonempty-vector primitive QuickCheck
          quickcheck-instances random reflection semigroupoids semigroups
          template-haskell text unordered-containers vector vector-builder
-         vector-circular vinyl yaml
+         vector-circular vinyl witherable yaml
        ];
        testHaskellDepends = [
          approximate-equality base bytestring containers data-clist deepseq
@@ -127532,8 +127398,8 @@ self: {
      }:
      mkDerivation {
        pname = "hgeometry-ipe";
-       version = "0.11.0.0";
-       sha256 = "0h78rsxc281wxmg27zxzzak0k15mv61i146gzafihrdg9hpbw1lk";
+       version = "0.12.0.0";
+       sha256 = "0hljjl2812i9nicajc0xb53wfkq7q3hsicdqdj5z8kr8zrf09lbh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bifunctors bytestring colour containers data-clist
@@ -128695,8 +128561,8 @@ self: {
      }:
      mkDerivation {
        pname = "hindley-milner-type-check";
-       version = "0.1.0.0";
-       sha256 = "0ym8jchjx6n9i6n76b852s511n0vafz8ixr22zx7lrzqi9ax4ayz";
+       version = "0.1.1.0";
+       sha256 = "1xikcxhv59skwx9gjki5zhbcqgjp0lhn2jmf99sls8fwcznbvqj9";
        libraryHaskellDepends = [
          base containers data-fix deepseq deriving-compat dlist mtl
          prettyprinter text
@@ -131746,6 +131612,39 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "hnix-store-core_0_5_0_0" = callPackage
+    ({ mkDerivation, algebraic-graphs, attoparsec, base
+     , base16-bytestring, base64-bytestring, binary, bytestring, cereal
+     , containers, cryptonite, directory, filepath, hashable, hspec
+     , lifted-base, memory, monad-control, mtl, nix-derivation, process
+     , saltine, tasty, tasty-discover, tasty-golden, tasty-hspec
+     , tasty-hunit, tasty-quickcheck, temporary, text, time, unix
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hnix-store-core";
+       version = "0.5.0.0";
+       sha256 = "1w5qmk7qhasv2qydrhg3g5x9s2pjf5602w084lj1zbman44phzv5";
+       revision = "1";
+       editedCabalFile = "05jm5fv7fzp6gpjaw0f40fw58740k0g4cvfacq1bwcr39qnziavg";
+       libraryHaskellDepends = [
+         algebraic-graphs attoparsec base base16-bytestring
+         base64-bytestring bytestring cereal containers cryptonite directory
+         filepath hashable lifted-base memory monad-control mtl
+         nix-derivation saltine text time unix unordered-containers vector
+       ];
+       testHaskellDepends = [
+         attoparsec base base16-bytestring base64-bytestring binary
+         bytestring containers cryptonite directory filepath hspec process
+         tasty tasty-golden tasty-hspec tasty-hunit tasty-quickcheck
+         temporary text unix
+       ];
+       testToolDepends = [ tasty-discover ];
+       description = "Core effects for interacting with the Nix store";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hnix-store-remote" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, containers
      , hnix-store-core, mtl, network, nix-derivation, text, time
@@ -131763,6 +131662,25 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
+  "hnix-store-remote_0_5_0_0" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, containers
+     , cryptonite, hnix-store-core, mtl, network, nix-derivation, text
+     , time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "hnix-store-remote";
+       version = "0.5.0.0";
+       sha256 = "0xvqi1l84ic249qf566vz3pxv75qwgc5d2cf3grh3rcxchp12kf9";
+       libraryHaskellDepends = [
+         attoparsec base binary bytestring containers cryptonite
+         hnix-store-core mtl network nix-derivation text time
+         unordered-containers
+       ];
+       description = "Remote hnix store";
+       license = lib.licenses.asl20;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hnn" = callPackage
     ({ mkDerivation, base, binary, bytestring, hmatrix, mwc-random
      , random, vector, vector-binary-instances, zlib
@@ -134708,8 +134626,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-aws-lambda";
-       version = "0.1.0.2";
-       sha256 = "078qkvxbjdsqgjmfq4fcpndb8c8cyz4g8s1q0ankpy359dvgxkv8";
+       version = "0.1.0.4";
+       sha256 = "1brykgglhslvgh3jrklr4m3mjcrzp0yq90xxyqh3h0prmswnx9y7";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers deepseq
          http-client http-types safe-exceptions text unliftio
@@ -141419,8 +141337,8 @@ self: {
      }:
      mkDerivation {
        pname = "http2";
-       version = "3.0.1";
-       sha256 = "1c1vhb2x23rlw7ciayz0rx6lpifjwrvpg88nspwa9w5nbjij2258";
+       version = "3.0.2";
+       sha256 = "13c2z35gdimncgpyg5dn5cpjvd83rbrigc8b40crg36678m0k0d1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -143151,6 +143069,8 @@ self: {
        testToolDepends = [ doctest-discover hspec-discover ];
        description = "Monadic query DSL";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hw-packed-vector" = callPackage
@@ -146956,6 +146876,20 @@ self: {
        broken = true;
      }) {};
 
+  "include-env" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "include-env";
+       version = "0.1.1.0";
+       sha256 = "0c65dn8r0rizmz71jv9vjf6l3cny31vi0d69jh9i72xwx14nlr77";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base template-haskell ];
+       executableHaskellDepends = [ base ];
+       description = "Include the value of an environment variable at compile time";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "include-file" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, criterion, random
      , template-haskell
@@ -153670,7 +153604,6 @@ self: {
        ];
        description = "Fast and simple JSON encoding toolkit";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "jsonnet" = callPackage
@@ -156868,6 +156801,8 @@ self: {
        libraryHaskellDepends = [ base dlist transformers ];
        description = "Combinators for Strategic Programming";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "kure-your-boilerplate" = callPackage
@@ -160406,25 +160341,12 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "leancheck";
-       version = "0.9.6";
-       sha256 = "0nw7hm9aawv6xljii3cjy9qbdbb5p05k5rmc9qv4dkajjjyhyna9";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base ];
-       description = "Enumerative property-based testing";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "leancheck_0_9_10" = callPackage
-    ({ mkDerivation, base, template-haskell }:
-     mkDerivation {
-       pname = "leancheck";
        version = "0.9.10";
        sha256 = "0d35w3y309fw3bkaj6fxyl67k4cp32mp003l44m3m2z2fvq08cdn";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base ];
        description = "Enumerative property-based testing";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "leancheck-enum-instances" = callPackage
@@ -164993,6 +164915,8 @@ self: {
        ];
        description = "Tries and Patricia tries: finite sets and maps for list keys";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "list-tuple" = callPackage
@@ -165212,32 +165136,8 @@ self: {
      }:
      mkDerivation {
        pname = "literatex";
-       version = "0.1.0.0";
-       sha256 = "0nfmvblm3a370a59hyd28wv8xnq1wlxcm5xz4n6b3n5cprj4h99z";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring conduit text ttc unliftio
-       ];
-       executableHaskellDepends = [
-         ansi-wl-pprint base optparse-applicative ttc
-       ];
-       testHaskellDepends = [
-         base bytestring filepath tasty tasty-hunit text ttc unliftio
-       ];
-       description = "transform literate source code to Markdown";
-       license = lib.licenses.mit;
-     }) {};
-
-  "literatex_0_1_0_1" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, conduit
-     , filepath, optparse-applicative, tasty, tasty-hunit, text, ttc
-     , unliftio
-     }:
-     mkDerivation {
-       pname = "literatex";
-       version = "0.1.0.1";
-       sha256 = "0nig3k78h86b80hsfqm04g9jc24lsicbw2pc3wnvxfs3nhkmhl0b";
+       version = "0.1.0.2";
+       sha256 = "1axj5a10vj9fkpc89yzb8i7aq23bmygnf3mwvbp63vcvwmfyx49h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165251,7 +165151,6 @@ self: {
        ];
        description = "transform literate source code to Markdown";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "little-earley" = callPackage
@@ -166299,18 +166198,17 @@ self: {
 
   "log-base" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, deepseq
-     , exceptions, mmorph, monad-control, monad-time, mtl, semigroups
-     , stm, text, time, transformers-base, unliftio-core
-     , unordered-containers
+     , exceptions, mmorph, monad-control, mtl, semigroups, stm, text
+     , time, transformers-base, unliftio-core, unordered-containers
      }:
      mkDerivation {
        pname = "log-base";
-       version = "0.9.1.1";
-       sha256 = "0b69q4vhayqg0n8kzqb4lma289av39zm5qbinnam4hh9inqhayfk";
+       version = "0.10.0.0";
+       sha256 = "1rbp34p7a89w960rpwmqwfqrj6nvqybbc5aqiji60zldxigvy3si";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring deepseq exceptions mmorph
-         monad-control monad-time mtl semigroups stm text time
-         transformers-base unliftio-core unordered-containers
+         monad-control mtl semigroups stm text time transformers-base
+         unliftio-core unordered-containers
        ];
        description = "Structured logging solution (base package)";
        license = lib.licenses.bsd3;
@@ -166378,8 +166276,8 @@ self: {
      }:
      mkDerivation {
        pname = "log-elasticsearch";
-       version = "0.11.0.0";
-       sha256 = "1l64mxk3zmlfsqwlhsq62jp8rawj3jbw9izihg7555q51pbqlg5w";
+       version = "0.12.0.0";
+       sha256 = "05cvk93s61k42bmsmj4997hdij4xk74a6jrd1qvdbkq13w20260m";
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring bytestring deepseq
          http-client http-client-tls http-types log-base network-uri
@@ -166398,8 +166296,8 @@ self: {
      }:
      mkDerivation {
        pname = "log-postgres";
-       version = "0.7.1.5";
-       sha256 = "0g89403ijgp2xznd497xhvifh2jlgph4raz4l5fh5ajxvcf33hvn";
+       version = "0.8.0.0";
+       sha256 = "0vc3n53rpn3qwysp8y5i19ajaag386izsrf9h9k7c2g907k1skw6";
        libraryHaskellDepends = [
          aeson aeson-pretty base base64-bytestring bytestring deepseq
          hpqtypes http-client lifted-base log-base mtl semigroups split text
@@ -166549,6 +166447,21 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "logfmt" = callPackage
+    ({ mkDerivation, ansi-terminal, base, bytestring, fast-logger
+     , profunctors, time
+     }:
+     mkDerivation {
+       pname = "logfmt";
+       version = "0.0.1";
+       sha256 = "1phnyhh7pmv8mvh7lxbkswdr2j3vid8rb3n8iy34qn301bprnlb4";
+       libraryHaskellDepends = [
+         ansi-terminal base bytestring fast-logger profunctors time
+       ];
+       description = "Formatting";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "logger" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, containers, lens, mtl
      , template-haskell, time, time-locale-compat, transformers
@@ -168640,8 +168553,8 @@ self: {
      }:
      mkDerivation {
        pname = "lzma-static";
-       version = "5.2.5.2";
-       sha256 = "12na1ycwrd7p50g19kgnb6kdgswnkwgzynaf0lyrv30qicpd8a5z";
+       version = "5.2.5.4";
+       sha256 = "0ql96kb7hg50d1flk36999p5p05bqs7rp7a59ys4q02423mq1z7b";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring HUnit QuickCheck tasty tasty-hunit tasty-quickcheck
@@ -170856,27 +170769,6 @@ self: {
      }:
      mkDerivation {
        pname = "massiv";
-       version = "0.6.0.0";
-       sha256 = "12p3gcrz3nwry99xhxfrz51aiswm5ira2hyxl4q1g3jfi8vwgcd0";
-       libraryHaskellDepends = [
-         base bytestring deepseq exceptions primitive scheduler
-         unliftio-core vector
-       ];
-       testHaskellDepends = [
-         base doctest mersenne-random-pure64 QuickCheck random splitmix
-         template-haskell
-       ];
-       description = "Massiv (Массив) is an Array Library";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "massiv_0_6_1_0" = callPackage
-    ({ mkDerivation, base, bytestring, deepseq, doctest, exceptions
-     , mersenne-random-pure64, primitive, QuickCheck, random, scheduler
-     , splitmix, template-haskell, unliftio-core, vector
-     }:
-     mkDerivation {
-       pname = "massiv";
        version = "0.6.1.0";
        sha256 = "0j3br93kxxyb1q5mdf440f8l8d2lc0gi9vhc3h3ri94ls4ix099v";
        libraryHaskellDepends = [
@@ -170889,7 +170781,6 @@ self: {
        ];
        description = "Massiv (Массив) is an Array Library";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "massiv-io" = callPackage
@@ -171605,8 +171496,8 @@ self: {
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "50200.12.0";
-       sha256 = "0rsxgc4igcjhddfil01la1sbnglvr08mf7gfi9fr6pf7sb9w6qbq";
+       version = "50200.13.0";
+       sha256 = "1wyhqj7jvk94px3npid3lncyccv2xsc3rmfcw616xrf4xsqwisx2";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -171641,8 +171532,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "50200.10.0";
-       sha256 = "0pbp4f0gwhap8d9chn6c2zf22ic3r32302zir4a5r6cmgg4vscgd";
+       version = "50200.11.0";
+       sha256 = "0knrc00377wx8j4ly8d2nxqswybp3782j7qig6mrzlww6nbd68j7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -171666,8 +171557,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "50200.10.0";
-       sha256 = "0cv7l5g63ar7ii704j8q3y5hsvbmljm8cmgdw6p2shqigv8slzci";
+       version = "50200.11.0";
+       sha256 = "0crz0nc8qbsjyq3fllbj50d01axgwfas76bmr6xnz83sic2s1yw1";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -172029,6 +171920,34 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "mcmc_0_5_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, circular, containers
+     , criterion, data-default, deepseq, directory, dirichlet
+     , double-conversion, hspec, log-domain, microlens, monad-parallel
+     , mwc-random, pretty-show, primitive, statistics, time
+     , transformers, vector, zlib
+     }:
+     mkDerivation {
+       pname = "mcmc";
+       version = "0.5.0.0";
+       sha256 = "0vfbbzk7rwgan0lf1qxr03mbxlxgq1jccbsvffw4hy1k2s65wysi";
+       libraryHaskellDepends = [
+         aeson base bytestring circular containers data-default deepseq
+         directory dirichlet double-conversion log-domain microlens
+         monad-parallel mwc-random pretty-show primitive statistics time
+         transformers vector zlib
+       ];
+       testHaskellDepends = [
+         base hspec log-domain mwc-random statistics
+       ];
+       benchmarkHaskellDepends = [
+         base criterion log-domain microlens mwc-random
+       ];
+       description = "Sample from a posterior using Markov chain Monte Carlo";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "mcmc-samplers" = callPackage
     ({ mkDerivation, base, containers, hakaru, hmatrix, mwc-random
      , primitive, statistics
@@ -175627,25 +175546,6 @@ self: {
      }:
      mkDerivation {
        pname = "mixed-types-num";
-       version = "0.5.7.0";
-       sha256 = "0fnf165ff6c4vbc2hlfrydb7w8csk1hjxd86lvnh4y9w6sc9g6hp";
-       libraryHaskellDepends = [
-         base collect-errors hspec hspec-smallcheck mtl QuickCheck
-         smallcheck template-haskell
-       ];
-       testHaskellDepends = [
-         base collect-errors hspec hspec-smallcheck QuickCheck smallcheck
-       ];
-       description = "Alternative Prelude with numeric and logic expressions typed bottom-up";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "mixed-types-num_0_5_8_0" = callPackage
-    ({ mkDerivation, base, collect-errors, hspec, hspec-smallcheck, mtl
-     , QuickCheck, smallcheck, template-haskell
-     }:
-     mkDerivation {
-       pname = "mixed-types-num";
        version = "0.5.8.0";
        sha256 = "1i40g6kf4my91i7xg54wfi6n2s8ivmx5k08ccqz3iycn6gha8pr7";
        libraryHaskellDepends = [
@@ -175657,7 +175557,6 @@ self: {
        ];
        description = "Alternative Prelude with numeric and logic expressions typed bottom-up";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "mixpanel-client" = callPackage
@@ -176262,6 +176161,8 @@ self: {
        ];
        description = "Mock time in tests";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "mockazo" = callPackage
@@ -179598,8 +179499,8 @@ self: {
      }:
      mkDerivation {
        pname = "mp";
-       version = "1.2.0";
-       sha256 = "0jn987fg2kah3m39rdgnkmqy940ks2c8f2ld8lrj8k2zyjbgls5b";
+       version = "1.3.0";
+       sha256 = "1491q33yc7if2j9akwxidn1xn3c9idxnjhq3n5izbbijbdg5qnmd";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -181980,8 +181881,8 @@ self: {
      }:
      mkDerivation {
        pname = "musicScroll";
-       version = "0.3.2.1";
-       sha256 = "0q6hglv26qpy1prx4is0jbhgb9xsxkpxbknyah9mcfn7c52cx0c0";
+       version = "0.3.3";
+       sha256 = "07c9yxazl8frl06s7jslg28716xi97azyx7i9pc06zmnag9p2k2z";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -188474,32 +188375,6 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, async, auto-update, base
      , bytestring, containers, directory, exceptions, filepath, ghc
      , hedgehog, junit-xml, pretty-diff, pretty-show, safe-coloured-text
-     , safe-exceptions, terminal-size, text, time, vector
-     }:
-     mkDerivation {
-       pname = "nri-prelude";
-       version = "0.6.0.0";
-       sha256 = "02v83n08zxz8521skijgrn407a0mlkjc3fjn5q04gn932wf29g5s";
-       libraryHaskellDepends = [
-         aeson aeson-pretty async auto-update base bytestring containers
-         directory exceptions filepath ghc hedgehog junit-xml pretty-diff
-         pretty-show safe-coloured-text safe-exceptions terminal-size text
-         time vector
-       ];
-       testHaskellDepends = [
-         aeson aeson-pretty async auto-update base bytestring containers
-         directory exceptions filepath ghc hedgehog junit-xml pretty-diff
-         pretty-show safe-coloured-text safe-exceptions terminal-size text
-         time vector
-       ];
-       description = "A Prelude inspired by the Elm programming language";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "nri-prelude_0_6_0_1" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, async, auto-update, base
-     , bytestring, containers, directory, exceptions, filepath, ghc
-     , hedgehog, junit-xml, pretty-diff, pretty-show, safe-coloured-text
      , safe-coloured-text-terminfo, safe-exceptions, terminal-size, text
      , time, vector
      }:
@@ -188521,7 +188396,6 @@ self: {
        ];
        description = "A Prelude inspired by the Elm programming language";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "nri-redis" = callPackage
@@ -189261,10 +189135,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "numtype-dk";
-       version = "0.5.0.2";
-       sha256 = "0avkdbhxijcja9i9g3cqh699mys8nhsxgrrpkknycmqpvp07sy4q";
-       revision = "1";
-       editedCabalFile = "0892xm8vyyvl1glg4vniz8r5ydg1nz3zmbpgk5mxdih6wi6nmpy4";
+       version = "0.5.0.3";
+       sha256 = "17mxqw82l3p0n18bjyyxbbnjvwqny4s3fkyj8vgj0ygw9ma534zl";
        libraryHaskellDepends = [ base ];
        description = "Type-level integers, using TypeNats, Data Kinds, and Closed Type Families";
        license = lib.licenses.bsd3;
@@ -189321,25 +189193,28 @@ self: {
      }) {};
 
   "nvfetcher" = callPackage
-    ({ mkDerivation, aeson, base, binary, bytestring, containers, extra
-     , free, microlens, microlens-th, neat-interpolation
-     , optparse-simple, shake, text, tomland, transformers
-     , validation-selective
+    ({ mkDerivation, aeson, base, binary, binary-instances, bytestring
+     , containers, data-default, extra, free, microlens, microlens-th
+     , neat-interpolation, optparse-simple, parsec, shake, text, tomland
+     , transformers, unordered-containers, validation-selective
      }:
      mkDerivation {
        pname = "nvfetcher";
-       version = "0.2.0.0";
-       sha256 = "04gslnmamy79i563ma7kj2b36mqr2c1wlcivqs70akr7s4my3g7z";
+       version = "0.3.0.0";
+       sha256 = "1b6kb7qlnrg74ymhj74ikqs80hmg013vv4rc7sdkb0pfs3l6f6mh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base binary bytestring containers extra free microlens
-         microlens-th neat-interpolation shake text transformers
+         aeson base binary binary-instances bytestring containers
+         data-default extra free microlens microlens-th neat-interpolation
+         optparse-simple parsec shake text tomland transformers
+         unordered-containers
        ];
        executableHaskellDepends = [
-         aeson base binary bytestring containers extra free microlens
-         microlens-th neat-interpolation optparse-simple shake text tomland
-         transformers validation-selective
+         aeson base binary binary-instances bytestring containers
+         data-default extra free microlens microlens-th neat-interpolation
+         optparse-simple parsec shake text tomland transformers
+         unordered-containers validation-selective
        ];
        description = "Generate nix sources expr for the latest version of packages";
        license = lib.licenses.mit;
@@ -191137,6 +191012,8 @@ self: {
        ];
        description = "Unofficial OpenAI servant types";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "openapi-petstore" = callPackage
@@ -191744,66 +191621,15 @@ self: {
      }:
      mkDerivation {
        pname = "opentelemetry";
-       version = "0.6.1";
-       sha256 = "0i88ciig40gil4gaj95qw28c2racdr2jb6rcpnsf60fzkqc8b3fk";
-       libraryHaskellDepends = [
-         base bytestring exceptions ghc-trace-events hashable
-       ];
-       license = lib.licenses.asl20;
-     }) {};
-
-  "opentelemetry_0_7_0" = callPackage
-    ({ mkDerivation, base, bytestring, exceptions, ghc-trace-events
-     , hashable
-     }:
-     mkDerivation {
-       pname = "opentelemetry";
        version = "0.7.0";
        sha256 = "10k9if33ydjc099mgjvgglp6fcmrz0zxpv6khwkhra6lcz35mylv";
        libraryHaskellDepends = [
          base bytestring exceptions ghc-trace-events hashable
        ];
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "opentelemetry-extra" = callPackage
-    ({ mkDerivation, aeson, async, base, binary, bytestring, clock
-     , containers, directory, exceptions, filepath, gauge
-     , generic-arbitrary, ghc-events, hashable, hashtables, http-client
-     , http-client-tls, http-types, hvega, opentelemetry, process
-     , QuickCheck, quickcheck-instances, random, scientific, splitmix
-     , stm, tasty, tasty-discover, tasty-hunit, tasty-quickcheck, text
-     , text-show, typed-process, unordered-containers
-     }:
-     mkDerivation {
-       pname = "opentelemetry-extra";
-       version = "0.6.1";
-       sha256 = "0ggxkhcrjj8sg6zf9jnp1j05wwlsay6k95c79j9j3dvw8qy2yjbx";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson async base binary bytestring clock containers directory
-         exceptions filepath ghc-events hashable http-client http-client-tls
-         http-types opentelemetry random scientific splitmix stm text
-         text-show unordered-containers
-       ];
-       executableHaskellDepends = [
-         async base bytestring clock containers directory exceptions
-         filepath hashtables http-client http-client-tls hvega opentelemetry
-         process text typed-process
-       ];
-       testHaskellDepends = [
-         base bytestring generic-arbitrary ghc-events hashable opentelemetry
-         QuickCheck quickcheck-instances splitmix tasty tasty-discover
-         tasty-hunit tasty-quickcheck text text-show unordered-containers
-       ];
-       testToolDepends = [ tasty-discover ];
-       benchmarkHaskellDepends = [ base gauge opentelemetry ];
-       license = lib.licenses.asl20;
-     }) {};
-
-  "opentelemetry-extra_0_7_0" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, clock, containers
      , directory, exceptions, filepath, generic-arbitrary, ghc-events
      , hashable, hashtables, http-client, http-client-tls, http-types
@@ -191837,7 +191663,6 @@ self: {
        testToolDepends = [ tasty-discover ];
        benchmarkHaskellDepends = [ base opentelemetry tasty-bench ];
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "opentelemetry-http-client" = callPackage
@@ -191856,32 +191681,6 @@ self: {
      }) {};
 
   "opentelemetry-lightstep" = callPackage
-    ({ mkDerivation, aeson, async, base, bytestring, clock, containers
-     , exceptions, filepath, ghc-events, http-client, http-client-tls
-     , http-types, network, opentelemetry, opentelemetry-extra
-     , scientific, splitmix, stm, text, typed-process
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "opentelemetry-lightstep";
-       version = "0.6.1";
-       sha256 = "1a7rrm5aahqh63j0rr7nvd4y3q64m8qr7is0r0a17fwkkpppmyln";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson async base bytestring exceptions http-client http-client-tls
-         http-types network opentelemetry opentelemetry-extra scientific stm
-         text unordered-containers
-       ];
-       executableHaskellDepends = [
-         async base bytestring clock containers exceptions filepath
-         ghc-events http-client http-types opentelemetry opentelemetry-extra
-         splitmix text typed-process unordered-containers
-       ];
-       license = lib.licenses.asl20;
-     }) {};
-
-  "opentelemetry-lightstep_0_7_0" = callPackage
     ({ mkDerivation, async, base, bytestring, clock, containers
      , exceptions, filepath, ghc-events, http-client, http-client-tls
      , http-types, network, opentelemetry, opentelemetry-extra
@@ -191905,7 +191704,6 @@ self: {
          splitmix text typed-process unordered-containers
        ];
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "opentelemetry-wai" = callPackage
@@ -191914,27 +191712,12 @@ self: {
      }:
      mkDerivation {
        pname = "opentelemetry-wai";
-       version = "0.6.1";
-       sha256 = "0g1a044sphd35z9crc8wbxsk4hfh1gpfi4g8rr1k4f842hznj7nf";
-       libraryHaskellDepends = [
-         base bytestring http-types opentelemetry text wai
-       ];
-       license = lib.licenses.asl20;
-     }) {};
-
-  "opentelemetry-wai_0_7_0" = callPackage
-    ({ mkDerivation, base, bytestring, http-types, opentelemetry, text
-     , wai
-     }:
-     mkDerivation {
-       pname = "opentelemetry-wai";
        version = "0.7.0";
        sha256 = "09mh8kfh49vx2gascwwmzs4s649sm5i90nsifp76kjvg1nvqhd1m";
        libraryHaskellDepends = [
          base bytestring http-types opentelemetry text wai
        ];
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "opentheory" = callPackage
@@ -195070,8 +194853,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-plot";
-       version = "1.2.2";
-       sha256 = "0lj4a1nn78zsv7rms3irk0fy390k2yfd6ck687x9h1xqmsdhd3kd";
+       version = "1.2.3";
+       sha256 = "0r7xymgkk2c3fmdfk4vljdwbl2k3jrk40aa7f7y277fp5nxnqgp8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -195247,8 +195030,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.4.1";
-       sha256 = "0gn47zw0rzvdj1d1gwqy49di6f8lpvy53wfcs2g163nz9vil8xka";
+       version = "0.4.2";
+       sha256 = "1gn3bl9nls9rqn2mdxdiaik740l2g8ji7djn6626j4jnmvwkcwks";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -195413,47 +195196,6 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.5.2.1";
-       sha256 = "0g1v78mgxa6mn0vm6yii3nzfdwpn4hgrlcld1h3mbwaxn6c8116k";
-       libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring Cabal casa-client casa-types
-         conduit conduit-extra containers cryptonite cryptonite-conduit
-         digest filelock generic-deriving hackage-security hpack http-client
-         http-client-tls http-conduit http-download http-types memory mtl
-         network-uri path path-io persistent persistent-sqlite
-         persistent-template primitive resourcet rio rio-orphans
-         rio-prettyprint tar-conduit text text-metrics time transformers
-         unix-compat unliftio unordered-containers vector yaml zip-archive
-       ];
-       testHaskellDepends = [
-         aeson ansi-terminal base bytestring Cabal casa-client casa-types
-         conduit conduit-extra containers cryptonite cryptonite-conduit
-         digest exceptions filelock generic-deriving hackage-security
-         hedgehog hpack hspec http-client http-client-tls http-conduit
-         http-download http-types memory mtl network-uri path path-io
-         persistent persistent-sqlite persistent-template primitive
-         QuickCheck raw-strings-qq resourcet rio rio-orphans rio-prettyprint
-         tar-conduit text text-metrics time transformers unix-compat
-         unliftio unordered-containers vector yaml zip-archive
-       ];
-       description = "Content addressable Haskell package management";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "pantry_0_5_2_2" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
-     , casa-client, casa-types, conduit, conduit-extra, containers
-     , cryptonite, cryptonite-conduit, digest, exceptions, filelock
-     , generic-deriving, hackage-security, hedgehog, hpack, hspec
-     , http-client, http-client-tls, http-conduit, http-download
-     , http-types, memory, mtl, network-uri, path, path-io, persistent
-     , persistent-sqlite, persistent-template, primitive, QuickCheck
-     , raw-strings-qq, resourcet, rio, rio-orphans, rio-prettyprint
-     , tar-conduit, text, text-metrics, time, transformers, unix-compat
-     , unliftio, unordered-containers, vector, yaml, zip-archive
-     }:
-     mkDerivation {
-       pname = "pantry";
        version = "0.5.2.2";
        sha256 = "05ykb6jn19jiakrn6mdcz3gyc6v6hkg3r8drwxncf04syz0l60mm";
        libraryHaskellDepends = [
@@ -195479,7 +195221,6 @@ self: {
        ];
        description = "Content addressable Haskell package management";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "pantry-tmp" = callPackage
@@ -196094,6 +195835,8 @@ self: {
        pname = "parallel-tree-search";
        version = "0.4.2";
        sha256 = "08r8xl3x5zvsy3d3ss9m9l7kb0dyp7hjrwxlnz7g2jl7p5x8rjbd";
+       revision = "1";
+       editedCabalFile = "1d1wm16ydyyd1izm5mvrrxlqix8k98zvmfl418dsj446mfa2ih76";
        libraryHaskellDepends = [ base parallel tree-monad ];
        description = "Parallel Tree Search";
        license = lib.licenses.publicDomain;
@@ -196923,16 +196666,29 @@ self: {
      }) {};
 
   "parsley" = callPackage
+    ({ mkDerivation, base, parsley-core, template-haskell, text }:
+     mkDerivation {
+       pname = "parsley";
+       version = "1.0.0.0";
+       sha256 = "08g89wgynvr58xypcpvd552v7h16cb1rbfggiyr8dj49bmgm0hwx";
+       libraryHaskellDepends = [
+         base parsley-core template-haskell text
+       ];
+       description = "A fast parser combinator library backed by Typed Template Haskell";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "parsley-core" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, cpphs
      , dependent-map, dependent-sum, ghc-prim, hashable, mtl
      , pretty-terminal, template-haskell, text, unordered-containers
      }:
      mkDerivation {
-       pname = "parsley";
-       version = "0.1.0.1";
-       sha256 = "01rslkkisbrgdn2d8hzrag2z6hh9gjilp2bg0j87n8awzm1i2n19";
-       revision = "1";
-       editedCabalFile = "16rpf1l3ph3yil2jnyp9z0j46afb38bii52bwkl4blk2f781k97z";
+       pname = "parsley-core";
+       version = "1.0.0.0";
+       sha256 = "0vcvxnmnml5jsjicx6rhskkb30ggz95wjlfcj1fzxc9si9vlkh4j";
        libraryHaskellDepends = [
          array base bytestring containers dependent-map dependent-sum
          ghc-prim hashable mtl pretty-terminal template-haskell text
@@ -196945,6 +196701,22 @@ self: {
        broken = true;
      }) {};
 
+  "parsley-garnish" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra, parsley-core, syb
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "parsley-garnish";
+       version = "1.0.0.0";
+       sha256 = "1vxl3ibxa923q4vxhvgxhf41p6c9ynmr18mmr7yrjrnc7arn615f";
+       libraryHaskellDepends = [
+         base ghc ghc-tcplugins-extra parsley-core syb template-haskell
+       ];
+       description = "A collection of GHC plugins to work with parsley";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "parsnip" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers
      , data-default, ghc-prim, primitive
@@ -197575,26 +197347,6 @@ self: {
      }:
      mkDerivation {
        pname = "path-io";
-       version = "1.6.2";
-       sha256 = "11mrs0awd343far3rmcphdli65g737haxg7fwx3pl04fgdxfbpdq";
-       libraryHaskellDepends = [
-         base containers directory dlist exceptions filepath path temporary
-         time transformers unix-compat
-       ];
-       testHaskellDepends = [
-         base directory exceptions filepath hspec path transformers
-         unix-compat
-       ];
-       description = "Interface to ‘directory’ package for users of ‘path’";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "path-io_1_6_3" = callPackage
-    ({ mkDerivation, base, containers, directory, dlist, exceptions
-     , filepath, hspec, path, temporary, time, transformers, unix-compat
-     }:
-     mkDerivation {
-       pname = "path-io";
        version = "1.6.3";
        sha256 = "1dnc48hf8x83p0jy05qi8j8gmfmsy50swnql9ssdv74lsryp615n";
        libraryHaskellDepends = [
@@ -197607,7 +197359,6 @@ self: {
        ];
        description = "Interface to ‘directory’ package for users of ‘path’";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "path-like" = callPackage
@@ -197640,19 +197391,6 @@ self: {
     ({ mkDerivation, base, bytestring, path, safe-exceptions, text }:
      mkDerivation {
        pname = "path-text-utf8";
-       version = "0.0.1.6";
-       sha256 = "0zlmmfjzjgnhscy8852gi67hq8xl9j05c53faf599cqa6c71ry11";
-       libraryHaskellDepends = [
-         base bytestring path safe-exceptions text
-       ];
-       description = "Read and write UTF-8 text files";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "path-text-utf8_0_0_1_8" = callPackage
-    ({ mkDerivation, base, bytestring, path, safe-exceptions, text }:
-     mkDerivation {
-       pname = "path-text-utf8";
        version = "0.0.1.8";
        sha256 = "1xi60cw75qzhb03z2a66xfxgr17xz39bdk7wmjc7yprqy0v016jj";
        libraryHaskellDepends = [
@@ -197660,7 +197398,6 @@ self: {
        ];
        description = "Read and write UTF-8 text files";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "path-utils" = callPackage
@@ -199813,31 +199550,6 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mtl";
-       version = "0.2.1.0";
-       sha256 = "1lwzkxb55bb4ldcwxkkfjfly39bnjjdg01yihl6znx8y3c461yrx";
-       libraryHaskellDepends = [
-         base conduit containers mtl persistent resource-pool resourcet text
-         transformers unliftio unliftio-core unliftio-pool
-       ];
-       testHaskellDepends = [
-         base bytestring conduit containers monad-logger persistent
-         persistent-postgresql persistent-sqlite persistent-template
-         resource-pool resourcet tasty tasty-golden tasty-hunit text
-         unliftio
-       ];
-       description = "Monad transformer for the persistent API";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "persistent-mtl_0_2_2_0" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, containers
-     , monad-logger, mtl, persistent, persistent-postgresql
-     , persistent-sqlite, persistent-template, resource-pool, resourcet
-     , tasty, tasty-golden, tasty-hunit, text, transformers, unliftio
-     , unliftio-core, unliftio-pool
-     }:
-     mkDerivation {
-       pname = "persistent-mtl";
        version = "0.2.2.0";
        sha256 = "0z78xs1gi45i3a9q28yr7jpsdsbzfqjahch3m27gygkja9dgm438";
        libraryHaskellDepends = [
@@ -199852,7 +199564,6 @@ self: {
        ];
        description = "Monad transformer for the persistent API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-mysql" = callPackage
@@ -199982,39 +199693,6 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-postgresql";
-       version = "2.13.0.1";
-       sha256 = "186anbb0sgml094pw1nb529pddi4q1af0mcv3xa8bshr1xywpnd8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base blaze-builder bytestring conduit containers
-         monad-logger mtl persistent postgresql-libpq postgresql-simple
-         resource-pool resourcet string-conversions text time transformers
-         unliftio-core
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers fast-logger hspec
-         hspec-expectations hspec-expectations-lifted http-api-data HUnit
-         monad-logger path-pieces persistent persistent-qq persistent-test
-         QuickCheck quickcheck-instances resourcet text time transformers
-         unliftio unliftio-core unordered-containers vector
-       ];
-       description = "Backend for the persistent library using postgresql";
-       license = lib.licenses.mit;
-     }) {};
-
-  "persistent-postgresql_2_13_0_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , conduit, containers, fast-logger, hspec, hspec-expectations
-     , hspec-expectations-lifted, http-api-data, HUnit, monad-logger
-     , mtl, path-pieces, persistent, persistent-qq, persistent-test
-     , postgresql-libpq, postgresql-simple, QuickCheck
-     , quickcheck-instances, resource-pool, resourcet
-     , string-conversions, text, time, transformers, unliftio
-     , unliftio-core, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "persistent-postgresql";
        version = "2.13.0.2";
        sha256 = "1cbrwzk2s3xrdxpas64slk1habn38xspdg09xj2yazszkmr31hrh";
        isLibrary = true;
@@ -200034,7 +199712,6 @@ self: {
        ];
        description = "Backend for the persistent library using postgresql";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-protobuf" = callPackage
@@ -205090,8 +204767,8 @@ self: {
      }:
      mkDerivation {
        pname = "polysemy-RandomFu";
-       version = "0.4.2.0";
-       sha256 = "0rsmdp7p0asmaf13wf5ky0ngrmnqdfbi67y4a0vcwqvknqmlys2y";
+       version = "0.4.2.1";
+       sha256 = "16r167cx87y9l36psa3ffrcfjyhm4ngzbbsmm9c5dh3gvq53vw58";
        libraryHaskellDepends = [
          base polysemy polysemy-plugin polysemy-zoo random-fu random-source
        ];
@@ -210290,24 +209967,6 @@ self: {
      }:
      mkDerivation {
        pname = "profunctors";
-       version = "5.5.2";
-       sha256 = "0z5gk2ip4x2z0jad9lnsnq1q1i8bbgchw3bwgiy3gbmgp2m7j5az";
-       revision = "1";
-       editedCabalFile = "0b73nqyl3yc3q4r0asrciqx7q19y6ygfszb79kn37pndnzj4m0hd";
-       libraryHaskellDepends = [
-         base base-orphans bifunctors comonad contravariant distributive
-         tagged transformers
-       ];
-       description = "Profunctors";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "profunctors_5_6_2" = callPackage
-    ({ mkDerivation, base, base-orphans, bifunctors, comonad
-     , contravariant, distributive, tagged, transformers
-     }:
-     mkDerivation {
-       pname = "profunctors";
        version = "5.6.2";
        sha256 = "0an9v003ivxmjid0s51qznbjhd5fsa1dkcfsrhxllnjja1xmv5b5";
        libraryHaskellDepends = [
@@ -210316,7 +209975,6 @@ self: {
        ];
        description = "Profunctors";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "progress" = callPackage
@@ -211343,6 +211001,8 @@ self: {
        pname = "proto3-suite";
        version = "0.4.2";
        sha256 = "015cg6brf6v0h2h2d36hqqr9i69vr30bhc35av55v0d65ya0sczz";
+       revision = "1";
+       editedCabalFile = "1s9mr6y31kbm0f316i7q0w4qgmi0mas23dhbam6i9pshfa0bav0x";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -211984,8 +211644,6 @@ self: {
        benchmarkHaskellDepends = [ gauge rerebase ];
        description = "Pointer poking action construction and composition toolkit";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "ptrdiff" = callPackage
@@ -212562,18 +212220,17 @@ self: {
      , http-types, HUnit, language-javascript, lifted-async, lifted-base
      , memory, microlens, microlens-platform, monad-control
      , monad-logger, mtl, network, optparse-applicative, parallel
-     , parsec, pattern-arrows, process, protolude, purescript-ast
-     , purescript-cst, regex-base, regex-tdfa, safe, scientific
-     , semialign, semigroups, serialise, sourcemap, split, stm
-     , stringsearch, syb, tasty, tasty-golden, tasty-hspec
-     , tasty-quickcheck, text, these, time, transformers
-     , transformers-base, transformers-compat, unordered-containers
-     , utf8-string, vector, wai, wai-websockets, warp, websockets
+     , parsec, pattern-arrows, process, protolude, purescript-cst
+     , QuickCheck, regex-base, regex-tdfa, safe, scientific, semialign
+     , semigroups, serialise, sourcemap, split, stm, stringsearch, syb
+     , text, these, time, transformers, transformers-base
+     , transformers-compat, unordered-containers, utf8-string, vector
+     , wai, wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "purescript";
-       version = "0.14.1";
-       sha256 = "0cqrasq0my2nsslpvy1mfhc2nqj2bfcilv8acd600bn9f6qgn4yv";
+       version = "0.14.2";
+       sha256 = "12gk4c311v39gh0kp5s97gia2xrglzzkpnhisbpxc4h7nd9dqf5m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212583,11 +212240,11 @@ self: {
          directory dlist edit-distance file-embed filepath fsnotify Glob
          haskeline language-javascript lifted-async lifted-base memory
          microlens microlens-platform monad-control monad-logger mtl
-         parallel parsec pattern-arrows process protolude purescript-ast
-         purescript-cst regex-tdfa safe scientific semialign semigroups
-         serialise sourcemap split stm stringsearch syb text these time
-         transformers transformers-base transformers-compat
-         unordered-containers utf8-string vector
+         parallel parsec pattern-arrows process protolude purescript-cst
+         regex-tdfa safe scientific semialign semigroups serialise sourcemap
+         split stm stringsearch syb text these time transformers
+         transformers-base transformers-compat unordered-containers
+         utf8-string vector
        ];
        libraryToolDepends = [ happy ];
        executableHaskellDepends = [
@@ -212598,12 +212255,11 @@ self: {
          fsnotify gitrev Glob haskeline http-types language-javascript
          lifted-async lifted-base memory microlens microlens-platform
          monad-control monad-logger mtl network optparse-applicative
-         parallel parsec pattern-arrows process protolude purescript-ast
-         purescript-cst regex-tdfa safe scientific semialign semigroups
-         serialise sourcemap split stm stringsearch syb text these time
-         transformers transformers-base transformers-compat
-         unordered-containers utf8-string vector wai wai-websockets warp
-         websockets
+         parallel parsec pattern-arrows process protolude purescript-cst
+         regex-tdfa safe scientific semialign semigroups serialise sourcemap
+         split stm stringsearch syb text these time transformers
+         transformers-base transformers-compat unordered-containers
+         utf8-string vector wai wai-websockets warp websockets
        ];
        executableToolDepends = [ happy ];
        testHaskellDepends = [
@@ -212613,11 +212269,10 @@ self: {
          directory dlist edit-distance file-embed filepath fsnotify Glob
          haskeline hspec HUnit language-javascript lifted-async lifted-base
          memory microlens microlens-platform monad-control monad-logger mtl
-         parallel parsec pattern-arrows process protolude purescript-ast
-         purescript-cst regex-base regex-tdfa safe scientific semialign
-         semigroups serialise sourcemap split stm stringsearch syb tasty
-         tasty-golden tasty-hspec tasty-quickcheck text these time
-         transformers transformers-base transformers-compat
+         parallel parsec pattern-arrows process protolude purescript-cst
+         QuickCheck regex-base regex-tdfa safe scientific semialign
+         semigroups serialise sourcemap split stm stringsearch syb text
+         these time transformers transformers-base transformers-compat
          unordered-containers utf8-string vector
        ];
        testToolDepends = [ happy hspec-discover ];
@@ -212682,25 +212337,20 @@ self: {
      }) {};
 
   "purescript-cst" = callPackage
-    ({ mkDerivation, array, base, base-compat, bytestring, containers
-     , dlist, filepath, happy, purescript-ast, scientific, semigroups
-     , tasty, tasty-golden, tasty-quickcheck, text
+    ({ mkDerivation, aeson, array, base, base-compat, bytestring
+     , containers, deepseq, dlist, filepath, happy, microlens, mtl
+     , protolude, scientific, semigroups, serialise, text, vector
      }:
      mkDerivation {
        pname = "purescript-cst";
-       version = "0.1.1.0";
-       sha256 = "05jqf9c0pakbjvr2zvybaxg9rfi87dadsx4srjlrw294r2sz969r";
+       version = "0.2.0.0";
+       sha256 = "0spsl9aq7hg2pkqawwjirgdr8ypzpb9amf2pznxmn6wm9ppaq73s";
        libraryHaskellDepends = [
-         array base containers dlist purescript-ast scientific semigroups
-         text
+         aeson array base base-compat bytestring containers deepseq dlist
+         filepath microlens mtl protolude scientific semigroups serialise
+         text vector
        ];
        libraryToolDepends = [ happy ];
-       testHaskellDepends = [
-         array base base-compat bytestring containers dlist filepath
-         purescript-ast scientific semigroups tasty tasty-golden
-         tasty-quickcheck text
-       ];
-       testToolDepends = [ happy ];
        description = "PureScript Programming Language Concrete Syntax Tree";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -218054,45 +217704,23 @@ self: {
 
   "rebase" = callPackage
     ({ mkDerivation, base, bifunctors, bytestring, comonad, containers
-     , contravariant, contravariant-extras, deepseq, dlist, either
-     , hashable, mtl, profunctors, scientific, selective, semigroupoids
-     , semigroups, stm, text, time, transformers, unordered-containers
-     , uuid, vector, void
-     }:
-     mkDerivation {
-       pname = "rebase";
-       version = "1.6.1";
-       sha256 = "020aw7wlgx8nqbq6ara13szgxw2q0n0hx3vrsn2lfp53b2jdsvax";
-       libraryHaskellDepends = [
-         base bifunctors bytestring comonad containers contravariant
-         contravariant-extras deepseq dlist either hashable mtl profunctors
-         scientific selective semigroupoids semigroups stm text time
-         transformers unordered-containers uuid vector void
-       ];
-       description = "A more progressive alternative to the \"base\" package";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rebase_1_13" = callPackage
-    ({ mkDerivation, base, bifunctors, bytestring, comonad, containers
      , contravariant, deepseq, dlist, either, hashable, hashable-time
      , mtl, profunctors, scientific, selective, semigroupoids, stm, text
-     , time, transformers, unordered-containers, uuid, vector
+     , time, transformers, unordered-containers, uuid-types, vector
      , vector-instances, void
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.13";
-       sha256 = "0cqpp2cn3yi9d825qzavs52ky77b628fm8p7w51zy9qjx1p7650v";
+       version = "1.13.0.1";
+       sha256 = "0sh1vha10n28c4jb97p99xglghqph8ppydqzbnb2h25a34057927";
        libraryHaskellDepends = [
          base bifunctors bytestring comonad containers contravariant deepseq
          dlist either hashable hashable-time mtl profunctors scientific
          selective semigroupoids stm text time transformers
-         unordered-containers uuid vector vector-instances void
+         unordered-containers uuid-types vector vector-instances void
        ];
        description = "A more progressive alternative to the \"base\" package";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rebindable" = callPackage
@@ -220353,27 +219981,6 @@ self: {
      }:
      mkDerivation {
        pname = "regex-tdfa";
-       version = "1.3.1.0";
-       sha256 = "1h1fliv2zjxwmddl9wnn7ckxxpgy1049hdfg6fcknyrr7mw7dhqm";
-       revision = "2";
-       editedCabalFile = "1hvcqdywwlcpia7qss7ikr9bq0lvkk8z0mjgaylaqpzlgh00z3gb";
-       libraryHaskellDepends = [
-         array base bytestring containers mtl parsec regex-base text
-       ];
-       testHaskellDepends = [
-         array base bytestring containers directory filepath mtl regex-base
-         text utf8-string
-       ];
-       description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "regex-tdfa_1_3_1_1" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, directory
-     , filepath, mtl, parsec, regex-base, text, utf8-string
-     }:
-     mkDerivation {
-       pname = "regex-tdfa";
        version = "1.3.1.1";
        sha256 = "1msrq31k4jmn2lmrdzn87jqarqhw265ca69rfg5jpa5adrzm3gmi";
        libraryHaskellDepends = [
@@ -220385,7 +219992,6 @@ self: {
        ];
        description = "Pure Haskell Tagged DFA Backend for \"Text.Regex\" (regex-base)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "regex-tdfa-pipes" = callPackage
@@ -222444,23 +222050,11 @@ self: {
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.6.1";
-       sha256 = "0lyi925jk6jbi3qc5xmv61ag07ff9d3xxmf9hfjlblqw2y9fsy93";
-       libraryHaskellDepends = [ rebase ];
-       description = "Reexports from \"base\" with a bunch of other standard libraries";
-       license = lib.licenses.mit;
-     }) {};
-
-  "rerebase_1_13" = callPackage
-    ({ mkDerivation, rebase }:
-     mkDerivation {
-       pname = "rerebase";
-       version = "1.13";
-       sha256 = "1ng16dnlrxcy76mpw21mwf2sk70q4i0kmqhxikjhc2h06zdpkqfr";
+       version = "1.13.0.1";
+       sha256 = "0j50l96whwi65ir35nfhn24h6103zy1ilfjsqiax63ajzw169fkv";
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "reroute" = callPackage
@@ -225774,18 +225368,52 @@ self: {
 
   "rp-tree" = callPackage
     ({ mkDerivation, base, benchpress, boxes, bytestring, conduit
-     , containers, deepseq, hspec, QuickCheck, serialise, splitmix
-     , splitmix-distributions, transformers, vector, vector-algorithms
+     , containers, deepseq, hspec, microlens, microlens-th, mtl
+     , psqueues, QuickCheck, serialise, splitmix, splitmix-distributions
+     , text, transformers, vector, vector-algorithms
      }:
      mkDerivation {
        pname = "rp-tree";
-       version = "0.3.6";
-       sha256 = "0dz2xkgmk3lfr0pnc7xzfz756bzdkbmb2m96zdpw7vgyz59h9i64";
+       version = "0.4";
+       sha256 = "1pni4pmvk2cb3x98lma0isbn8vh651pyql0dmjmg4nvr8i471iqf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base boxes bytestring conduit containers deepseq microlens
+         microlens-th mtl psqueues serialise splitmix splitmix-distributions
+         text transformers vector vector-algorithms
+       ];
+       executableHaskellDepends = [
+         base conduit containers splitmix splitmix-distributions
+         transformers vector
+       ];
+       testHaskellDepends = [
+         base conduit hspec QuickCheck splitmix-distributions
+       ];
+       benchmarkHaskellDepends = [
+         base benchpress conduit deepseq splitmix splitmix-distributions
+         transformers vector
+       ];
+       description = "Random projection trees";
+       license = lib.licenses.bsd3;
+     }) {};
+
+  "rp-tree_0_6" = callPackage
+    ({ mkDerivation, base, benchpress, boxes, bytestring, conduit
+     , containers, deepseq, heaps, hspec, mtl, QuickCheck, serialise
+     , splitmix, splitmix-distributions, text, transformers, vector
+     , vector-algorithms
+     }:
+     mkDerivation {
+       pname = "rp-tree";
+       version = "0.6";
+       sha256 = "0ww3ckf1bq24p4d52mip6mxxk0z65p3pq7d4a1xy8yalsjhyyl0h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base boxes bytestring conduit containers deepseq serialise splitmix
-         splitmix-distributions transformers vector vector-algorithms
+         base boxes bytestring conduit containers deepseq heaps mtl
+         serialise splitmix splitmix-distributions text transformers vector
+         vector-algorithms
        ];
        executableHaskellDepends = [
          base conduit containers splitmix splitmix-distributions
@@ -225800,6 +225428,7 @@ self: {
        ];
        description = "Random projection trees";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "rpc" = callPackage
@@ -225874,6 +225503,18 @@ self: {
        broken = true;
      }) {};
 
+  "rpm-nvr" = callPackage
+    ({ mkDerivation, base, extra, hspec }:
+     mkDerivation {
+       pname = "rpm-nvr";
+       version = "0.1.0";
+       sha256 = "11w40vw18wbxhd0lbjh75a1bc4sqwh9xqv2iaa6kd8cd6c7ij26x";
+       libraryHaskellDepends = [ base extra ];
+       testHaskellDepends = [ base hspec ];
+       description = "RPM package name-version-release datatypes";
+       license = lib.licenses.gpl2Only;
+     }) {};
+
   "rpmbuild-order" = callPackage
     ({ mkDerivation, base, case-insensitive, containers, directory
      , extra, fgl, filepath, graphviz, hspec, optparse-applicative
@@ -226667,17 +226308,6 @@ self: {
      }) {};
 
   "safe-coloured-text" = callPackage
-    ({ mkDerivation, base, bytestring, terminfo, text }:
-     mkDerivation {
-       pname = "safe-coloured-text";
-       version = "0.0.0.0";
-       sha256 = "0c07527g35gpxif8ia07x766pmzcf4m1cgjz9lkac973n12iwllx";
-       libraryHaskellDepends = [ base bytestring terminfo text ];
-       description = "Safely output coloured text";
-       license = lib.licenses.mit;
-     }) {};
-
-  "safe-coloured-text_0_1_0_0" = callPackage
     ({ mkDerivation, base, bytestring, text, validity
      , validity-bytestring, validity-text
      }:
@@ -226690,7 +226320,6 @@ self: {
        ];
        description = "Safely output coloured text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "safe-coloured-text-gen" = callPackage
@@ -226711,8 +226340,6 @@ self: {
        ];
        testToolDepends = [ sydtest-discover ];
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "safe-coloured-text-layout" = callPackage
@@ -226730,8 +226357,6 @@ self: {
        testToolDepends = [ sydtest-discover ];
        description = "Safely layout output coloured text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "safe-coloured-text-layout-gen" = callPackage
@@ -226752,7 +226377,6 @@ self: {
        ];
        testToolDepends = [ sydtest-discover ];
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "safe-coloured-text-terminfo" = callPackage
@@ -226764,23 +226388,19 @@ self: {
        libraryHaskellDepends = [ base safe-coloured-text terminfo ];
        description = "Safely output coloured text";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "safe-decimal" = callPackage
-    ({ mkDerivation, base, Cabal, cabal-doctest, deepseq, doctest
-     , exceptions, hspec, hspec-discover, QuickCheck, scientific
-     , template-haskell
+    ({ mkDerivation, base, deepseq, doctest, exceptions, hspec
+     , hspec-discover, QuickCheck, scientific
      }:
      mkDerivation {
        pname = "safe-decimal";
-       version = "0.2.0.0";
-       sha256 = "03id56ib8m7gja2g5a8d6b26cz3h3zf3f3gq2ss7paxvwvn6wfib";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.2.1.0";
+       sha256 = "1q7l8rj5hhkxxhmmibcm0by7psvkw9lj82zd48slyfikmsdm9bdw";
        libraryHaskellDepends = [ base deepseq exceptions scientific ];
        testHaskellDepends = [
-         base deepseq doctest hspec QuickCheck scientific template-haskell
+         base deepseq doctest hspec QuickCheck scientific
        ];
        testToolDepends = [ hspec-discover ];
        description = "Safe and very efficient arithmetic operations on fixed decimal point numbers";
@@ -227399,8 +227019,8 @@ self: {
        pname = "salak";
        version = "0.3.6";
        sha256 = "00qyd09az0ldfidfgcki8z3r9gcpxmss3iyr99as5bky29rlz9n3";
-       revision = "4";
-       editedCabalFile = "07q9a24ry6h6r3m1av0dxz39dzmyjhlcrw1ww5jprqcf3xxjxhdz";
+       revision = "5";
+       editedCabalFile = "1dqanr95rrmjxfw882fa6as7n999883gfsy2765f3rprl7wlmigl";
        libraryHaskellDepends = [
          base bytestring containers data-default directory dlist exceptions
          filepath hashable heaps megaparsec mtl scientific text time
@@ -227832,49 +227452,6 @@ self: {
      }:
      mkDerivation {
        pname = "sandwich";
-       version = "0.1.0.6";
-       sha256 = "18fl6zdz7q5cm9ypnlgxyk5gh9r0yq481k04q0z740j2h1m5vgj8";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal async base brick bytestring colour containers
-         directory exceptions filepath free haskell-src-exts lens
-         lifted-async microlens microlens-th monad-control monad-logger mtl
-         optparse-applicative pretty-show process safe safe-exceptions stm
-         string-interpolate template-haskell text time transformers
-         transformers-base unix unliftio-core vector vty
-       ];
-       executableHaskellDepends = [
-         aeson ansi-terminal async base brick bytestring colour containers
-         directory exceptions filepath free haskell-src-exts lens
-         lifted-async microlens microlens-th monad-control monad-logger mtl
-         optparse-applicative pretty-show process safe safe-exceptions stm
-         string-interpolate template-haskell text time transformers
-         transformers-base unix unliftio-core vector vty
-       ];
-       testHaskellDepends = [
-         aeson ansi-terminal async base brick bytestring colour containers
-         directory exceptions filepath free haskell-src-exts lens
-         lifted-async microlens microlens-th monad-control monad-logger mtl
-         optparse-applicative pretty-show process safe safe-exceptions stm
-         string-interpolate template-haskell text time transformers
-         transformers-base unix unliftio-core vector vty
-       ];
-       description = "Yet another test framework for Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "sandwich_0_1_0_7" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, async, base, brick
-     , bytestring, colour, containers, directory, exceptions, filepath
-     , free, haskell-src-exts, lens, lifted-async, microlens
-     , microlens-th, monad-control, monad-logger, mtl
-     , optparse-applicative, pretty-show, process, safe, safe-exceptions
-     , stm, string-interpolate, template-haskell, text, time
-     , transformers, transformers-base, unix, unliftio-core, vector, vty
-     }:
-     mkDerivation {
-       pname = "sandwich";
        version = "0.1.0.7";
        sha256 = "1ndw054vp2ygxd86whqbsdvrbv49khh1a6ia9zlqzx3gjbhqpxxi";
        isLibrary = true;
@@ -227905,7 +227482,6 @@ self: {
        ];
        description = "Yet another test framework for Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sandwich-quickcheck" = callPackage
@@ -227969,49 +227545,6 @@ self: {
      }:
      mkDerivation {
        pname = "sandwich-webdriver";
-       version = "0.1.0.4";
-       sha256 = "0vmqm2f78vd8kk0adg7ldd6rlb5rw5hks9q705gws9dj6s4nyz9r";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base containers convertible data-default directory exceptions
-         filepath http-client http-client-tls http-conduit lifted-base
-         microlens microlens-aeson monad-control monad-logger mtl network
-         process random retry safe safe-exceptions sandwich
-         string-interpolate temporary text time transformers unix
-         unordered-containers vector webdriver X11
-       ];
-       executableHaskellDepends = [
-         aeson base containers convertible data-default directory exceptions
-         filepath http-client http-client-tls http-conduit lifted-base
-         microlens microlens-aeson monad-control monad-logger mtl network
-         process random retry safe safe-exceptions sandwich
-         string-interpolate temporary text time transformers unix
-         unordered-containers vector webdriver X11
-       ];
-       testHaskellDepends = [
-         aeson base containers convertible data-default directory exceptions
-         filepath http-client http-client-tls http-conduit lifted-base
-         microlens microlens-aeson monad-control monad-logger mtl network
-         process random retry safe safe-exceptions sandwich
-         string-interpolate temporary text time transformers unix
-         unordered-containers vector webdriver X11
-       ];
-       description = "Sandwich integration with Selenium WebDriver";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "sandwich-webdriver_0_1_0_5" = callPackage
-    ({ mkDerivation, aeson, base, containers, convertible, data-default
-     , directory, exceptions, filepath, http-client, http-client-tls
-     , http-conduit, lifted-base, microlens, microlens-aeson
-     , monad-control, monad-logger, mtl, network, process, random, retry
-     , safe, safe-exceptions, sandwich, string-interpolate, temporary
-     , text, time, transformers, unix, unordered-containers, vector
-     , webdriver, X11
-     }:
-     mkDerivation {
-       pname = "sandwich-webdriver";
        version = "0.1.0.5";
        sha256 = "113as1i4f3hghbwrf4ii8lnxxb8nih177ffjbx3shsddnhx0fa8y";
        isLibrary = true;
@@ -228042,7 +227575,6 @@ self: {
        ];
        description = "Sandwich integration with Selenium WebDriver";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "sarasvati" = callPackage
@@ -232199,8 +231731,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-JuicyPixels";
-       version = "0.3.0.5";
-       sha256 = "1lhxb6z8xypx48k8hwzqpp92qww8wxbp3a1ggik4dfrcxkcklmlx";
+       version = "0.3.0.6";
+       sha256 = "16bdlgrz71h03lr2xcd2isclfzgr9h2xdl5lbnbs0v1czaxx7m6h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -233619,38 +233151,6 @@ self: {
      }) {};
 
   "servant-multipart" = callPackage
-    ({ mkDerivation, array, base, bytestring, directory, http-client
-     , http-media, http-types, lens, network, random, resourcet, servant
-     , servant-client, servant-client-core, servant-docs
-     , servant-foreign, servant-server, string-conversions, tasty
-     , tasty-wai, text, transformers, wai, wai-extra, warp
-     }:
-     mkDerivation {
-       pname = "servant-multipart";
-       version = "0.12";
-       sha256 = "1hs1h66zjhknfnz1bdi5c0d2sfb20fc7x9adbc87gq168k8riqvl";
-       revision = "2";
-       editedCabalFile = "019zk4vlm9gv8n85qv6819i6qn0ddiz56birlmabz2n95l715m7y";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array base bytestring directory http-media lens random resourcet
-         servant servant-client-core servant-docs servant-foreign
-         servant-server string-conversions text transformers wai wai-extra
-       ];
-       executableHaskellDepends = [
-         base bytestring http-client network servant servant-client
-         servant-client-core servant-server text transformers wai warp
-       ];
-       testHaskellDepends = [
-         base bytestring http-types servant-server string-conversions tasty
-         tasty-wai text
-       ];
-       description = "multipart/form-data (e.g file upload) support for servant";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "servant-multipart_0_12_1" = callPackage
     ({ mkDerivation, base, bytestring, directory, http-types, lens
      , resourcet, servant, servant-docs, servant-foreign
      , servant-multipart-api, servant-server, string-conversions, tasty
@@ -233671,7 +233171,6 @@ self: {
        ];
        description = "multipart/form-data (e.g file upload) support for servant";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "servant-multipart-api" = callPackage
@@ -235353,7 +234852,6 @@ self: {
        executableToolDepends = [ alex happy ];
        description = "Treating files as sets to perform rapid set manipulation";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "setenv" = callPackage
@@ -238369,8 +237867,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-parser";
-       version = "0.3.0";
-       sha256 = "05a4aakq93nqmm632mijd64vjq07dlpcb1m2a57z6k1mhqinwxc5";
+       version = "0.5.0";
+       sha256 = "0qkgk7gxk69ns4067viz59wbp5hz05j1d26hv0wmbkhixsxa56s3";
        libraryHaskellDepends = [
          base containers list-t mmorph mtl nonempty-containers scientific
          text text-builder
@@ -238656,8 +238154,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-ui";
-       version = "0.2.0";
-       sha256 = "0j0xq5s9l7dckbv0bakw96f3xnqsa2b7pqsji7s1y46k2fcr0r5s";
+       version = "0.3.0";
+       sha256 = "1dn9ma1kvn3gcgdcc09s38nlmcmcfifr7gcdn59ghp7pxxb8dxds";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base data-default-class exceptions lens mtl stm template-haskell
@@ -240433,6 +239931,29 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "slynx_0_5_1_0" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , elynx-markov, elynx-seq, elynx-tools, elynx-tree, hmatrix
+     , monad-logger, mwc-random, optparse-applicative, statistics, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "slynx";
+       version = "0.5.1.0";
+       sha256 = "14wg6ws065wz0h8nid3w0bpspanyfarc2c3gs93225ismmbjk1ng";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers elynx-markov elynx-seq
+         elynx-tools elynx-tree hmatrix monad-logger mwc-random
+         optparse-applicative statistics text transformers vector
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Handle molecular sequences";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "small-bytearray-builder" = callPackage
     ({ mkDerivation, base, bytebuild, byteslice }:
      mkDerivation {
@@ -244347,23 +243868,6 @@ self: {
     ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
      mkDerivation {
        pname = "speculate";
-       version = "0.4.6";
-       sha256 = "0vpc2vxfpziyz0hzapni4j31g1i12m2gnsrq72zf42qbhjwif57g";
-       libraryHaskellDepends = [
-         base cmdargs containers express leancheck
-       ];
-       testHaskellDepends = [ base express leancheck ];
-       benchmarkHaskellDepends = [ base express leancheck ];
-       description = "discovery of properties about Haskell functions";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
-     }) {};
-
-  "speculate_0_4_8" = callPackage
-    ({ mkDerivation, base, cmdargs, containers, express, leancheck }:
-     mkDerivation {
-       pname = "speculate";
        version = "0.4.8";
        sha256 = "1xrrd1r4sbhvahdd3k9xnh8w9mmk4zh738q9blrjnvnd560wybp4";
        libraryHaskellDepends = [
@@ -246023,8 +245527,8 @@ self: {
      }:
      mkDerivation {
        pname = "stack-all";
-       version = "0.2.1";
-       sha256 = "07azc2phnljxwxskxlipmx52vjyavxn54q87k1bakapla469fdr4";
+       version = "0.2.2";
+       sha256 = "0bk22ryqvyc4r058yj3ngq33wv24m7r1alnbvg4c0h08fmwxi4m0";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -250415,23 +249919,11 @@ self: {
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
        pname = "stripe-concepts";
-       version = "1.0.2.6";
-       sha256 = "0vz8kiwg9q27jhr6gfvhqy9gykrl3zgy3m2ldk1np4v7y4fg7906";
-       libraryHaskellDepends = [ base bytestring text ];
-       description = "Types for the Stripe API";
-       license = lib.licenses.mit;
-     }) {};
-
-  "stripe-concepts_1_0_2_8" = callPackage
-    ({ mkDerivation, base, bytestring, text }:
-     mkDerivation {
-       pname = "stripe-concepts";
        version = "1.0.2.8";
        sha256 = "03sqgmbbjqi18wjb96sc3lvc6p3bqk5sgsgbcf9z8k9rbdspribm";
        libraryHaskellDepends = [ base bytestring text ];
        description = "Types for the Stripe API";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "stripe-core" = callPackage
@@ -252500,6 +251992,32 @@ self: {
        license = lib.licenses.lgpl21Only;
      }) {};
 
+  "swish_0_10_0_5" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, hashable
+     , HUnit, intern, mtl, network-uri, old-locale, polyparse
+     , semigroups, test-framework, test-framework-hunit, text, time
+     }:
+     mkDerivation {
+       pname = "swish";
+       version = "0.10.0.5";
+       sha256 = "0cf3aba585hnlaamwfxy9mfp8mjanza0zgp27gi2y66f79hcpq2q";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base containers directory filepath hashable intern mtl network-uri
+         old-locale polyparse text time
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base containers hashable HUnit network-uri old-locale semigroups
+         test-framework test-framework-hunit text time
+       ];
+       description = "A semantic web toolkit";
+       license = lib.licenses.lgpl21Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "swiss-ephemeris" = callPackage
     ({ mkDerivation, base, directory, hspec, hspec-discover, QuickCheck
      }:
@@ -252652,32 +252170,6 @@ self: {
 
   "sydtest" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, Diff, dlist
-     , envparse, MonadRandom, mtl, optparse-applicative, path, path-io
-     , pretty-show, QuickCheck, quickcheck-io, random-shuffle, safe
-     , safe-coloured-text, split, stm, sydtest-discover, text, yaml
-     , yamlparse-applicative
-     }:
-     mkDerivation {
-       pname = "sydtest";
-       version = "0.1.0.0";
-       sha256 = "1r5p9vai0krzcnwxyicw9b00vzdqdm8zpj70y8snn4mdxxvhvyvq";
-       libraryHaskellDepends = [
-         async base bytestring containers Diff dlist envparse MonadRandom
-         mtl optparse-applicative path path-io pretty-show QuickCheck
-         quickcheck-io random-shuffle safe safe-coloured-text split text
-         yaml yamlparse-applicative
-       ];
-       testHaskellDepends = [
-         base bytestring path path-io QuickCheck safe-coloured-text stm text
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A modern testing framework for Haskell with good defaults and advanced testing features";
-       license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "sydtest_0_2_0_0" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, Diff, dlist
      , envparse, filepath, MonadRandom, mtl, optparse-applicative, path
      , path-io, pretty-show, QuickCheck, quickcheck-io, random-shuffle
      , safe, safe-coloured-text, safe-coloured-text-terminfo, split, stm
@@ -252846,27 +252338,6 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-persistent-sqlite";
-       version = "0.0.0.0";
-       sha256 = "0p9xy2pdjnzd61dadvrzrnnxxz04xm0ypn2h1ssmrilfglic80iz";
-       libraryHaskellDepends = [
-         base monad-logger mtl persistent persistent-sqlite
-         persistent-template sydtest
-       ];
-       testHaskellDepends = [
-         base persistent persistent-sqlite persistent-template sydtest
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A persistent-sqlite companion library for sydtest";
-       license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "sydtest-persistent-sqlite_0_1_0_0" = callPackage
-    ({ mkDerivation, base, monad-logger, mtl, persistent
-     , persistent-sqlite, persistent-template, sydtest, sydtest-discover
-     }:
-     mkDerivation {
-       pname = "sydtest-persistent-sqlite";
        version = "0.1.0.0";
        sha256 = "1al80sym9r2h769szky5kpkllbs7gm4lc8gn9nlavj0in663x0ly";
        libraryHaskellDepends = [
@@ -252924,27 +252395,6 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest-servant";
-       version = "0.0.0.0";
-       sha256 = "147v5s10qvpp67aq7c240rsc4f356hvznc5gb538slh03d5vas4j";
-       libraryHaskellDepends = [
-         base http-client servant servant-client servant-server sydtest
-         sydtest-wai
-       ];
-       testHaskellDepends = [
-         base servant servant-client servant-server stm sydtest
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A servant companion library for sydtest";
-       license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "sydtest-servant_0_1_0_0" = callPackage
-    ({ mkDerivation, base, http-client, servant, servant-client
-     , servant-server, stm, sydtest, sydtest-discover, sydtest-wai
-     }:
-     mkDerivation {
-       pname = "sydtest-servant";
        version = "0.1.0.0";
        sha256 = "0mn7fys01qakapnrcrlpji1kwc3cgywblid4wpipmh2kdpy61ndk";
        libraryHaskellDepends = [
@@ -252977,24 +252427,6 @@ self: {
      }) {};
 
   "sydtest-wai" = callPackage
-    ({ mkDerivation, base, http-client, http-types, stm, sydtest
-     , sydtest-discover, wai, warp
-     }:
-     mkDerivation {
-       pname = "sydtest-wai";
-       version = "0.0.0.0";
-       sha256 = "01fqys32zj1rg9ciq04l7d4av3i1ynw3yinkgc84c3ia330i98ws";
-       libraryHaskellDepends = [ base http-client sydtest wai warp ];
-       testHaskellDepends = [
-         base http-client http-types stm sydtest wai
-       ];
-       testToolDepends = [ sydtest-discover ];
-       description = "A wai companion library for sydtest";
-       license = "unknown";
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "sydtest-wai_0_1_0_0" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, http-client
      , http-types, mtl, network, pretty-show, stm, sydtest
      , sydtest-discover, text, time, wai, warp
@@ -253019,18 +252451,18 @@ self: {
   "sydtest-yesod" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, case-insensitive
      , conduit, containers, cookie, exceptions, http-client, http-types
-     , monad-logger, mtl, persistent, persistent-sqlite
+     , monad-logger, mtl, network, persistent, persistent-sqlite
      , persistent-template, pretty-show, QuickCheck, resourcet, sydtest
      , sydtest-discover, sydtest-persistent-sqlite, sydtest-wai, text
      , time, wai, xml-conduit, yesod, yesod-core, yesod-form, yesod-test
      }:
      mkDerivation {
        pname = "sydtest-yesod";
-       version = "0.0.0.0";
-       sha256 = "0mknn114q495f1bh829fi6c9gag58048c0m06yw0bkl0ikz32k67";
+       version = "0.1.0.0";
+       sha256 = "0kdylnhfvg9x314bydic811i21r1r5zs9cm1zpw6d7frsl99g24k";
        libraryHaskellDepends = [
          base blaze-builder bytestring case-insensitive containers cookie
-         exceptions http-client http-types mtl pretty-show sydtest
+         exceptions http-client http-types mtl network pretty-show sydtest
          sydtest-wai text time wai xml-conduit yesod-core yesod-test
        ];
        testHaskellDepends = [
@@ -254621,8 +254053,6 @@ self: {
        ];
        description = "Format tabular data as grid or table";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "table-tennis" = callPackage
@@ -257298,6 +256728,8 @@ self: {
        ];
        description = "Easy to use library for building Telegram bots";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "telegram-raw-api" = callPackage
@@ -260926,8 +260358,8 @@ self: {
        pname = "th-test-utils";
        version = "1.1.0";
        sha256 = "12a8yp9wfl40afa3ps8jg3axcaah018pangjm0fzzga2awr1wzwk";
-       revision = "1";
-       editedCabalFile = "0q3x2gl9n22ww1wzlhgvgj8didnwjyk6frv92cs9i7zirrcfgvcw";
+       revision = "2";
+       editedCabalFile = "1jwx31jqglfcy6ylj4520kqfp918lnv6m13flx2qvhfwbd88xwcv";
        libraryHaskellDepends = [
          base template-haskell th-orphans transformers
        ];
@@ -261925,6 +261357,29 @@ self: {
        license = lib.licenses.gpl3Only;
      }) {};
 
+  "tidal_1_7_5" = callPackage
+    ({ mkDerivation, base, bifunctors, bytestring, clock, colour
+     , containers, criterion, deepseq, hosc, microspec, network, parsec
+     , primitive, random, text, transformers, weigh
+     }:
+     mkDerivation {
+       pname = "tidal";
+       version = "1.7.5";
+       sha256 = "0mcq1sll148qfwkyad6y9k64zrlbkflzba9wqcgqydgfm0jyr7z7";
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base bifunctors bytestring clock colour containers deepseq hosc
+         network parsec primitive random text transformers
+       ];
+       testHaskellDepends = [
+         base containers deepseq hosc microspec parsec
+       ];
+       benchmarkHaskellDepends = [ base criterion weigh ];
+       description = "Pattern language for improvised music";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tidal-midi" = callPackage
     ({ mkDerivation, base, containers, PortMidi, tidal, time
      , transformers
@@ -263613,6 +263068,29 @@ self: {
        license = lib.licenses.gpl3Plus;
      }) {};
 
+  "tlynx_0_5_1_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, comonad
+     , containers, elynx-tools, elynx-tree, gnuplot, lifted-async
+     , monad-logger, mwc-random, optparse-applicative, parallel
+     , statistics, text, transformers, vector
+     }:
+     mkDerivation {
+       pname = "tlynx";
+       version = "0.5.1.0";
+       sha256 = "005382x1xsv6bsjfmjxirvcmh3nfyhigkkc08y2wz16b7dpwvk6k";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring comonad containers elynx-tools
+         elynx-tree gnuplot lifted-async monad-logger mwc-random
+         optparse-applicative parallel statistics text transformers vector
+       ];
+       executableHaskellDepends = [ base ];
+       description = "Handle phylogenetic trees";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "tmapchan" = callPackage
     ({ mkDerivation, base, containers, hashable, stm
      , unordered-containers
@@ -265998,6 +265476,8 @@ self: {
        pname = "tree-monad";
        version = "0.3.1";
        sha256 = "0ny57rygkgwn8i733gz2zb12i5niq5q7lrqvzfwsnjd0b40yighf";
+       revision = "1";
+       editedCabalFile = "0pw6mzr6x3s5w01bv6b5pcrqkx2zbjf4bk4cgrzww9gs81p3v790";
        libraryHaskellDepends = [ base ];
        description = "Non-Determinism Monad for Tree Search";
        license = lib.licenses.bsd3;
@@ -267020,31 +266500,14 @@ self: {
      }:
      mkDerivation {
        pname = "ttc";
-       version = "0.4.0.0";
-       sha256 = "07b5vw7wxgxcsr04h4nx28bmv9a10hkdzhhssvka050hxhiyjmgv";
-       libraryHaskellDepends = [ base bytestring template-haskell text ];
-       testHaskellDepends = [
-         base bytestring tasty tasty-hunit template-haskell text
-       ];
-       description = "Textual Type Classes";
-       license = lib.licenses.mit;
-     }) {};
-
-  "ttc_1_0_0_0" = callPackage
-    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
-     , template-haskell, text
-     }:
-     mkDerivation {
-       pname = "ttc";
-       version = "1.0.0.0";
-       sha256 = "1w9xzgks9vj89mzrnjpgrx1iv67xbp6rn8s1ffc0qam268y8dbzv";
+       version = "1.1.0.0";
+       sha256 = "02b55f0dwgxvpr8x2727ryb6zhvz73l6l001szm4i821q0p4h00g";
        libraryHaskellDepends = [ base bytestring template-haskell text ];
        testHaskellDepends = [
          base bytestring tasty tasty-hunit template-haskell text
        ];
        description = "Textual Type Classes";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ttl-hashtables" = callPackage
@@ -269433,17 +268896,18 @@ self: {
   "typesafe-precure" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, autoexporter, base
      , bytestring, dlist, hspec, monad-skeleton, template-haskell, text
-     , th-data-compat, th-strict-compat, th-utilities
+     , th-data-compat, th-strict-compat
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.7.11.1";
-       sha256 = "1kbxj35dr41rg1s38f9dv2bg2d0rrwj1g2154ggfpx6kwy758jg6";
+       version = "0.8.0.1";
+       sha256 = "05rsyiksmw3gilr944hr1q12alinsy842qwzvc444iwyvc4f0i17";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
-         th-strict-compat th-utilities
+         th-strict-compat
        ];
+       libraryToolDepends = [ autoexporter ];
        testHaskellDepends = [ base hspec ];
        description = "Type-safe transformations and purifications of PreCures (Japanese Battle Heroine)";
        license = lib.licenses.bsd3;
@@ -271090,6 +270554,18 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "union-angle" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "union-angle";
+       version = "0.1.0.1";
+       sha256 = "0scvzln05l2y4pb96cy7908aw433v8ln4nc17fp5x2vlz579w9cl";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Union type that include radian angle and degree angle";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "union-find" = callPackage
     ({ mkDerivation, base, containers, transformers }:
      mkDerivation {
@@ -272019,31 +271495,6 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.17";
-       sha256 = "1z37bqnrzhqhg7dfmsqz31lq8ng3qnkknc9d4pxbjbbmf1g21hfv";
-       libraryHaskellDepends = [
-         async base bytestring deepseq directory filepath process stm time
-         transformers unix unliftio-core
-       ];
-       testHaskellDepends = [
-         async base bytestring containers deepseq directory filepath hspec
-         process QuickCheck stm time transformers unix unliftio-core
-       ];
-       benchmarkHaskellDepends = [
-         async base bytestring deepseq directory filepath gauge process stm
-         time transformers unix unliftio-core
-       ];
-       description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
-       license = lib.licenses.mit;
-     }) {};
-
-  "unliftio_0_2_18" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, deepseq
-     , directory, filepath, gauge, hspec, process, QuickCheck, stm, time
-     , transformers, unix, unliftio-core
-     }:
-     mkDerivation {
-       pname = "unliftio";
        version = "0.2.18";
        sha256 = "0yg5x2v3p4pdw7892l1mkihmdbak14qvmni1vk2a0y2gdmxfvx1y";
        libraryHaskellDepends = [
@@ -272060,7 +271511,6 @@ self: {
        ];
        description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "unliftio-core" = callPackage
@@ -274066,22 +273516,16 @@ self: {
      }) {};
 
   "uusi" = callPackage
-    ({ mkDerivation, base, Cabal, directory, filepath, HUnit, microlens
-     , microlens-th, text
-     }:
+    ({ mkDerivation, base, Cabal, directory, filepath, HUnit, text }:
      mkDerivation {
        pname = "uusi";
-       version = "0.4.0.0";
-       sha256 = "03spazp0lpd2impvg9i6fdd32v3fzycgqr95ry2jwvaxijqhfic9";
+       version = "0.4.1.0";
+       sha256 = "14g56ygqx8n24hvbb9bzi7yy5wjfsvw3m89lad0xy8knf6gnh6y3";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base Cabal microlens microlens-th text ];
-       executableHaskellDepends = [
-         base Cabal directory filepath microlens microlens-th text
-       ];
-       testHaskellDepends = [
-         base Cabal HUnit microlens microlens-th text
-       ];
+       libraryHaskellDepends = [ base Cabal text ];
+       executableHaskellDepends = [ base Cabal directory filepath text ];
+       testHaskellDepends = [ base Cabal HUnit text ];
        description = "Tweak .cabal files";
        license = lib.licenses.mit;
        maintainers = with lib.maintainers; [ berberman ];
@@ -277175,8 +276619,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers, vector, vulkan }:
      mkDerivation {
        pname = "vulkan";
-       version = "3.10.2";
-       sha256 = "0l3afdavqn226vg96cq5di2ra7snl0ygmil5g8zcs46vkamgzcmy";
+       version = "3.10.3";
+       sha256 = "1ksx4klcj9g4s4mrxmcr47ydw3xzglb8vd0zmg7i5xa7hz0ksjw0";
        libraryHaskellDepends = [ base bytestring transformers vector ];
        libraryPkgconfigDepends = [ vulkan ];
        description = "Bindings to the Vulkan graphics API";
@@ -277204,8 +276648,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan-utils";
-       version = "0.5.0";
-       sha256 = "11pcxa7pjhdrfcxl058dn909ar6sv9kn34g73w8jqa60d2savj6q";
+       version = "0.5.0.1";
+       sha256 = "0h904kz61ym7d0qaa59d52a4kw09iaz92q5qdlnmnyn2bdmqp3bl";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring containers dependent-map dependent-sum extra
@@ -281441,8 +280885,8 @@ self: {
        pname = "wide-word";
        version = "0.1.1.2";
        sha256 = "10sj7nca2sba74bkiicnp95xrfq2j1al93ggw3z24982nm9x3j8r";
-       revision = "1";
-       editedCabalFile = "1gqw8d8j3wml0431lq1ygl5a3n36ymp1i77m7qaw0mz3ss982gl2";
+       revision = "2";
+       editedCabalFile = "09nr9ni9vs38ldzrx3vmlm6dr2avmwx6p9wlaml0nhr6sh4lbjsr";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [
          base bytestring ghc-prim hedgehog primitive QuickCheck
@@ -281590,27 +281034,6 @@ self: {
      }:
      mkDerivation {
        pname = "wild-bind-x11";
-       version = "0.2.0.12";
-       sha256 = "1zpb448pj586xvh0l9qp08hvbjw1lphxwzi4srnghmsbnfnkvhh6";
-       libraryHaskellDepends = [
-         base containers fold-debounce mtl semigroups stm text transformers
-         wild-bind X11
-       ];
-       testHaskellDepends = [
-         async base hspec text time transformers wild-bind X11
-       ];
-       testToolDepends = [ hspec-discover ];
-       description = "X11-specific implementation for WildBind";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "wild-bind-x11_0_2_0_13" = callPackage
-    ({ mkDerivation, async, base, containers, fold-debounce, hspec
-     , hspec-discover, mtl, semigroups, stm, text, time, transformers
-     , wild-bind, X11
-     }:
-     mkDerivation {
-       pname = "wild-bind-x11";
        version = "0.2.0.13";
        sha256 = "0fs8k2kfzm6qq9xy35278xprgq7vf0v4qz7q0gz8qv480hffccc5";
        libraryHaskellDepends = [
@@ -281623,7 +281046,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "X11-specific implementation for WildBind";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "willow" = callPackage
@@ -285017,12 +284439,12 @@ self: {
      }) {};
 
   "xml-query" = callPackage
-    ({ mkDerivation, base-prelude, free, text }:
+    ({ mkDerivation, base, free, text }:
      mkDerivation {
        pname = "xml-query";
-       version = "0.9.1";
-       sha256 = "16wszpvz8cp8nx18rmgyjy6mqk9awd3yf9w0is5rw77r73w88nwq";
-       libraryHaskellDepends = [ base-prelude free text ];
+       version = "0.9.1.1";
+       sha256 = "1rrzba94098rw7gmripz62awc5cscrx4lqavzd946h6vpy4ps4ba";
+       libraryHaskellDepends = [ base free text ];
        description = "A parser-agnostic declarative API for querying XML-documents";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -285690,8 +285112,6 @@ self: {
        libraryHaskellDepends = [ base magic mtl random unix xmonad ];
        description = "xmonad wallpaper extension";
        license = lib.licenses.lgpl3Only;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "xmonad-windownames" = callPackage
@@ -286833,25 +286253,6 @@ self: {
      }:
      mkDerivation {
        pname = "yamlparse-applicative";
-       version = "0.1.0.4";
-       sha256 = "19z6bg8pvhaccc4pc89a2hc1f1g9x66ma179gfx36pjgqdkp0fg1";
-       libraryHaskellDepends = [
-         aeson base bytestring containers optparse-applicative path path-io
-         prettyprinter safe-coloured-text scientific text
-         unordered-containers validity validity-text vector yaml
-       ];
-       description = "Declaritive configuration parsing with free docs";
-       license = lib.licenses.mit;
-     }) {};
-
-  "yamlparse-applicative_0_2_0_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers
-     , optparse-applicative, path, path-io, prettyprinter
-     , safe-coloured-text, scientific, text, unordered-containers
-     , validity, validity-text, vector, yaml
-     }:
-     mkDerivation {
-       pname = "yamlparse-applicative";
        version = "0.2.0.0";
        sha256 = "1c287mc7rl6xhwsb3gw51m6sx29dz88a9b6qa0b324hgcmf086sk";
        libraryHaskellDepends = [
@@ -286861,7 +286262,6 @@ self: {
        ];
        description = "Declaritive configuration parsing with free docs";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "yampa-canvas" = callPackage
@@ -291301,34 +290701,6 @@ self: {
      }:
      mkDerivation {
        pname = "zip";
-       version = "1.7.0";
-       sha256 = "11vdxpyxnh7hbsrpk8g90fd9abbk27dxi9g0mhxc1lxc6syjkzgl";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base bytestring bzlib-conduit case-insensitive cereal conduit
-         conduit-extra conduit-zstd containers digest directory dlist
-         exceptions filepath monad-control mtl resourcet text time
-         transformers transformers-base unix
-       ];
-       executableHaskellDepends = [ base filepath ];
-       testHaskellDepends = [
-         base bytestring conduit containers directory dlist exceptions
-         filepath hspec QuickCheck temporary text time transformers
-       ];
-       description = "Operations on zip archives";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "zip_1_7_1" = callPackage
-    ({ mkDerivation, base, bytestring, bzlib-conduit, case-insensitive
-     , cereal, conduit, conduit-extra, conduit-zstd, containers, digest
-     , directory, dlist, exceptions, filepath, hspec, monad-control, mtl
-     , QuickCheck, resourcet, temporary, text, time, transformers
-     , transformers-base, unix
-     }:
-     mkDerivation {
-       pname = "zip";
        version = "1.7.1";
        sha256 = "0impiv9xsirbvnpnv1lh6lhnl8a4fqylpjif7niyjjbcvyxh4zqd";
        isLibrary = true;
@@ -291346,7 +290718,6 @@ self: {
        ];
        description = "Operations on zip archives";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "zip-archive" = callPackage
diff --git a/pkgs/development/haskell-modules/hoogle.nix b/pkgs/development/haskell-modules/hoogle.nix
index cfa06b045de23..d55f37f980d8a 100644
--- a/pkgs/development/haskell-modules/hoogle.nix
+++ b/pkgs/development/haskell-modules/hoogle.nix
@@ -63,10 +63,13 @@ buildPackages.stdenv.mkDerivation {
   passAsFile = ["buildCommand"];
 
   buildCommand = ''
-    ${lib.optionalString (packages != [] -> docPackages == [])
+    ${let # Filter out nulls here to work around https://github.com/NixOS/nixpkgs/issues/82245
+          # If we don't then grabbing `p.name` here will fail.
+          packages' = lib.filter (p: p != null) packages;
+      in lib.optionalString (packages' != [] -> docPackages == [])
        ("echo WARNING: localHoogle package list empty, even though"
        + " the following were specified: "
-       + lib.concatMapStringsSep ", " (p: p.name) packages)}
+       + lib.concatMapStringsSep ", " (p: p.name) packages')}
     mkdir -p $out/share/doc/hoogle
 
     echo importing builtin packages
diff --git a/pkgs/development/haskell-modules/non-hackage-packages.nix b/pkgs/development/haskell-modules/non-hackage-packages.nix
index 1882d68f23437..6bbcabbf5a5ec 100644
--- a/pkgs/development/haskell-modules/non-hackage-packages.nix
+++ b/pkgs/development/haskell-modules/non-hackage-packages.nix
@@ -22,6 +22,8 @@ self: super: {
   # https://github.com/spacchetti/spago/issues/512
   spago = self.callPackage ../tools/purescript/spago/spago.nix { };
 
+  nix-linter = self.callPackage ../../development/tools/analysis/nix-linter { };
+
   nix-output-monitor = self.callPackage ../../tools/nix/nix-output-monitor { };
 
   # cabal2nix --revision <rev> https://github.com/hasura/ci-info-hs.git
diff --git a/pkgs/development/interpreters/erlang/R22.nix b/pkgs/development/interpreters/erlang/R22.nix
index c69c26d4cb015..9236ea428948e 100644
--- a/pkgs/development/interpreters/erlang/R22.nix
+++ b/pkgs/development/interpreters/erlang/R22.nix
@@ -3,6 +3,6 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
 mkDerivation {
-  version = "22.3.4.19";
-  sha256 = "sha256-U3ks7pDIqS8HVJ+yBobhEbKvnd9svEcQd9BsJQwajDs=";
+  version = "22.3.4.20";
+  sha256 = "sha256-EUErOCW16eUb/p5dLpFV7sQ3mXlCF/OgOvGAAyYEvLo=";
 }
diff --git a/pkgs/development/libraries/drogon/default.nix b/pkgs/development/libraries/drogon/default.nix
new file mode 100644
index 0000000000000..8234891046da1
--- /dev/null
+++ b/pkgs/development/libraries/drogon/default.nix
@@ -0,0 +1,50 @@
+{ stdenv, fetchFromGitHub, cmake, jsoncpp, libuuid, zlib, openssl, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "drogon";
+  version = "1.6.0";
+
+  src = fetchFromGitHub {
+    owner = "an-tao";
+    repo = "drogon";
+    rev = "v${version}";
+    sha256 = "0ncdlsi3zhmpdwh83d52npb1b2q982y858yl88zl2nfq4zhcm3wa";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  cmakeFlags = [
+    # examples are used in the test during installCheckPhase, otherwise they are unnecessary
+    "-DBUILD_EXAMPLES=${if doInstallCheck then "ON" else "OFF"}"
+  ];
+
+  propagatedBuildInputs = [
+    jsoncpp
+    libuuid
+    zlib
+    openssl
+  ];
+
+  patches = [
+    # this part of the test fails because it attempts to configure a CMake project that uses find_package on itself
+    # the rest of the test runs fine because it uses executables that are built in buildPhase when BUILD_EXAMPLES is enabled
+    ./no_cmake_test.patch
+  ];
+
+  installCheckPhase = ''
+    cd ..
+    patchShebangs test.sh
+    ./test.sh
+  '';
+
+  doInstallCheck = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/an-tao/drogon";
+    description = "C++14/17 based HTTP web application framework";
+    license = licenses.mit;
+    maintainers = [ maintainers.urlordjames ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/drogon/no_cmake_test.patch b/pkgs/development/libraries/drogon/no_cmake_test.patch
new file mode 100644
index 0000000000000..8d38fbf44b70f
--- /dev/null
+++ b/pkgs/development/libraries/drogon/no_cmake_test.patch
@@ -0,0 +1,42 @@
+diff --git a/test.sh b/test.sh
+index e5da08e..ba620cc 100755
+--- a/test.sh
++++ b/test.sh
+@@ -157,37 +157,6 @@ cd ../views
+ 
+ echo "Hello, world!" >>hello.csp
+ 
+-cd ../build
+-if [ $os = "windows" ]; then
+-  conan install $src_dir -s compiler="Visual Studio" -s compiler.version=16 -sbuild_type=Debug -g cmake_paths
+-  cmake_gen="$cmake_gen -DCMAKE_TOOLCHAIN_FILE=conan_paths.cmake -DCMAKE_INSTALL_PREFIX=$src_dir/install"
+-fi
+-cmake .. $cmake_gen
+-
+-if [ $? -ne 0 ]; then
+-    echo "Error in testing"
+-    exit -1
+-fi
+-
+-cmake --build . -- $make_flags
+-
+-if [ $? -ne 0 ]; then
+-    echo "Error in testing"
+-    exit -1
+-fi
+-
+-if [ $os = "linux" ]; then
+-  if [ ! -f "drogon_test" ]; then
+-      echo "Failed to build drogon_test"
+-      exit -1
+-  fi
+-else
+-  if [ ! -f "Debug\drogon_test.exe" ]; then
+-      echo "Failed to build drogon_test"
+-      exit -1
+-  fi
+-fi
+-
+ cd ../../
+ rm -rf drogon_test
+ 
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 9d29afd692795..2a394f8279b5b 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -1,6 +1,5 @@
 { lib, stdenv
 , fetchFromGitHub
-, fetchpatch
 , zlib
 , expat
 , cmake
@@ -15,7 +14,7 @@
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
-  version = "0.27.3";
+  version = "0.27.4";
 
   outputs = [ "out" "dev" "doc" "man" ];
 
@@ -23,30 +22,9 @@ stdenv.mkDerivation rec {
     owner = "exiv2";
     repo  = "exiv2";
     rev = "v${version}";
-    sha256 = "0d294yhcdw8ziybyd4rp5hzwknzik2sm0cz60ff7fljacv75bjpy";
+    sha256 = "0m1x79q6i5fw3gr9k0dw0bbl7ym27g9vbmxiamks6yw028xqwc5a";
   };
 
-  patches = [
-    # Fix aarch64 build https://github.com/Exiv2/exiv2/pull/1271
-    (fetchpatch {
-      name = "cmake-fix-aarch64.patch";
-      url = "https://github.com/Exiv2/exiv2/commit/bbe0b70840cf28b7dd8c0b7e9bb1b741aeda2efd.patch";
-      sha256 = "13zw1mn0ag0jrz73hqjhdsh1img7jvj5yddip2k2sb5phy04rzfx";
-    })
-
-    # Use correct paths with multiple outputs
-    # https://github.com/Exiv2/exiv2/pull/1275
-    (fetchpatch {
-      url = "https://github.com/Exiv2/exiv2/commit/48f2c9dbbacc0ef84c8ebf4cb1a603327f0b8750.patch";
-      sha256 = "vjB3+Ld4c/2LT7nq6uatYwfHTh+HeU5QFPFXuNLpIPA=";
-    })
-    # https://github.com/Exiv2/exiv2/pull/1294
-    (fetchpatch {
-      url = "https://github.com/Exiv2/exiv2/commit/306c8a6fd4ddd70e76043ab255734720829a57e8.patch";
-      sha256 = "0D/omxYxBPGUu3uSErlf48dc6Ukwc2cEN9/J3e7a9eU=";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     doxygen
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index a6fb316d659f2..9692ac5315174 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -6,17 +6,13 @@ assert x11Support -> libX11 != null && cairo != null;
 
 with lib;
 
-let
-  version = "2.4.1";
-  versmm = versions.major version + "." + versions.minor version;
-  name = "hwloc-${version}";
-
-in stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  pname = "hwloc";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "https://www.open-mpi.org/software/hwloc/v${versmm}/downloads/${name}.tar.bz2";
-    sha256 = "sha256-OSQh5p8mEgyKuV0VH+mJ8rS2nas8dzV0HE4KbX3l3mM=";
+    url = "https://www.open-mpi.org/software/hwloc/v${versions.majorMinor version}/downloads/hwloc-${version}.tar.bz2";
+    sha256 = "1j2j9wn39a8v91r23xncm1rzls6rjkgkvdvqghbdsnq8ps491kx9";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libbencodetools/default.nix b/pkgs/development/libraries/libbencodetools/default.nix
new file mode 100644
index 0000000000000..b8150a90f6838
--- /dev/null
+++ b/pkgs/development/libraries/libbencodetools/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchFromGitLab
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libbencodetools";
+  version = "unstable-2021-04-15";
+
+  src = fetchFromGitLab {
+    owner = "heikkiorsila";
+    repo = "bencodetools";
+    rev = "1ab11f6509a348975e8aec829d7abbf2f8e9b7d1";
+    sha256 = "1i2dgvxxwj844yn45hnfx3785ljbvbkri0nv0jx51z4i08w7cz0h";
+  };
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  configureFlags = [
+    "--without-python"
+  ];
+
+  meta = with lib; {
+    description = "Collection of tools for manipulating bencoded data";
+    homepage = "https://gitlab.com/heikkiorsila/bencodetools";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ OPNA2608 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 9695b221cb97f..ef13fdc9de127 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -1,11 +1,12 @@
 { lib, stdenv
 , fetchurl
 , pkg-config
-, gobject-introspection
 , glib
 , python3
 , systemd
 , libgudev
+, withIntrospection ? stdenv.hostPlatform == stdenv.buildPlatform
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-udev-base-dir=${placeholder "out"}/lib/udev"
-    "--enable-introspection"
+    (lib.enableFeature withIntrospection "introspection")
   ];
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index feb9c7e65147a..a1d99117515dd 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -1,24 +1,24 @@
-{ lib, stdenv, fetchFromGitHub, postgresql, doxygen, xmlto, python2, gnused }:
+{ lib, stdenv, fetchFromGitHub, postgresql, python3, gnused }:
 
 stdenv.mkDerivation rec {
   pname = "libpqxx";
-  version = "6.4.5";
+  version = "7.5.2";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = pname;
     rev = version;
-    sha256 = "0djmjr2b5x5nd2a4idv5j8s6w0kdmvil910iv1kyc7x94dirbrni";
+    sha256 = "15ifd28v6xbbx931icydy8xmkd8030b20xzqjja6vwwvzss2w9fa";
   };
 
-  nativeBuildInputs = [ gnused python2 ];
-  buildInputs = [ postgresql doxygen xmlto ];
+  nativeBuildInputs = [ gnused python3 ];
+  buildInputs = [ postgresql ];
 
   preConfigure = ''
-    patchShebangs .
+    patchShebangs ./tools/splitconfig
   '';
 
-  configureFlags = [ "--enable-shared" ];
+  configureFlags = [ "--enable-shared --disable-documentation" ];
 
   meta = {
     description = "A C++ library to access PostgreSQL databases";
diff --git a/pkgs/development/libraries/libvori/default.nix b/pkgs/development/libraries/libvori/default.nix
new file mode 100644
index 0000000000000..2eb7bffbdf128
--- /dev/null
+++ b/pkgs/development/libraries/libvori/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, lib, fetchurl, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "libvori";
+  version = "210412";
+
+  src = fetchurl {
+    url = "https://brehm-research.de/files/${pname}-${version}.tar.gz";
+    sha256 = "1b4hpwibf3k7gl6n984l3wdi0zyl2fmpz84m9g2di4yhm6p8c61k";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "Library for Voronoi intergration of electron densities";
+    homepage = "https://brehm-research.de/libvori.php";
+    license = with licenses; [ lgpl3Only ];
+    platforms = platforms.unix;
+    maintainers = [ maintainers.sheepforce ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/libtorch/bin.nix b/pkgs/development/libraries/science/math/libtorch/bin.nix
index 87b5835aa9efb..efbd071ecd79b 100644
--- a/pkgs/development/libraries/science/math/libtorch/bin.nix
+++ b/pkgs/development/libraries/science/math/libtorch/bin.nix
@@ -18,7 +18,7 @@ let
   # this derivation. However, we should ensure on version bumps
   # that the CUDA toolkit for `passthru.tests` is still
   # up-to-date.
-  version = "1.8.1";
+  version = "1.9.0";
   device = if cudaSupport then "cuda" else "cpu";
   srcs = import ./binary-hashes.nix version;
   unavailable = throw "libtorch is not available for this platform";
diff --git a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
index ec4522a755925..6ded62fb87c32 100644
--- a/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
+++ b/pkgs/development/libraries/science/math/libtorch/binary-hashes.nix
@@ -1,14 +1,14 @@
 version: {
   x86_64-darwin-cpu = {
     url = "https://download.pytorch.org/libtorch/cpu/libtorch-macos-${version}.zip";
-    hash = "sha256-FYgnd5zlycjCYnP5bZcjpMdGYXrRERwhFFBYo/SJgzs=";
+    hash = "sha256-TOJ+iQpqazta46y4IzIbfEGMjz/fz+pRDV8fKqriB6Q=";
   };
   x86_64-linux-cpu = {
     url = "https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcpu.zip";
-    hash = "sha256-xneCcVrY25Whgbs/kPbwdS1Lc0e6RxsDRpA5lHTZigc=";
+    hash = "sha256-gZMNLCzW3j+eplBqWo6lVvuHS5iRqtMD8NL3MoszsVg=";
   };
   x86_64-linux-cuda = {
     url = "https://download.pytorch.org/libtorch/cu111/libtorch-cxx11-abi-shared-with-deps-${version}%2Bcu111.zip";
-    hash = "sha256-VW+TW00nD49GBztCyxHE4dTyy81aN/kfYE3hKQOIm50=";
+    hash = "sha256-dRu4F8k2SAbtghwrPJNyX0u3tsODCbXfi9EqUdf4xYc=";
   };
 }
diff --git a/pkgs/development/libraries/science/math/tensorflow-lite/default.nix b/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
index f407303d98786..cf2346bad271e 100644
--- a/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
+++ b/pkgs/development/libraries/science/math/tensorflow-lite/default.nix
@@ -83,6 +83,12 @@ stdenv.mkDerivation rec {
       url = "https://github.com/tensorflow/tensorflow/commit/f3c4f4733692150fd6174f2cd16438cfaba2e5ab.patch";
       sha256 = "0zx4hbz679kn79f30159rl1mq74dg45cvaawii0cyv48z472yy4k";
     })
+    # TODO: remove on the next version bump
+    (fetchpatch {
+      name = "cxxstandard-var.patch";
+      url = "https://github.com/tensorflow/tensorflow/commit/9b128ae4200e10b4752f903492d1e7d11957ed5c.patch";
+      sha256 = "1q0izdwdji5fbyqll6k4dmkzfykyvvz5cvc6hysdj285nkn2wy6h";
+    })
   ];
 
   buildInputs = [ zlib flatbuffers ];
@@ -140,7 +146,14 @@ stdenv.mkDerivation rec {
       # tensorflow lite expects to compile abseil into `libtensorflow-lite.a`
       ln -s ${abseil-cpp.src} "$prefix/absl"
 
-      buildFlagsArray+=(INCLUDES="-I $PWD ${includes}" TARGET_TOOLCHAIN_PREFIX="" -j$NIX_BUILD_CORES all)
+      # set CXXSTANDARD=c++17 here because abseil-cpp in nixpkgs is set as
+      # such and would be used in dependents like libedgetpu
+      buildFlagsArray+=(
+        INCLUDES="-I $PWD ${includes}"
+        CXXSTANDARD="-std=c++17"
+        TARGET_TOOLCHAIN_PREFIX=""
+        -j$NIX_BUILD_CORES
+        all)
     '';
 
   installPhase = ''
diff --git a/pkgs/development/ocaml-modules/bz2/default.nix b/pkgs/development/ocaml-modules/bz2/default.nix
index 7de24c1346297..52a92d3a8d40a 100644
--- a/pkgs/development/ocaml-modules/bz2/default.nix
+++ b/pkgs/development/ocaml-modules/bz2/default.nix
@@ -24,6 +24,9 @@ stdenv.mkDerivation rec {
   buildInputs = [
     ocaml
     findlib
+  ];
+
+  propagatedBuildInputs = [
     bzip2
   ];
 
diff --git a/pkgs/development/ocaml-modules/tls/async.nix b/pkgs/development/ocaml-modules/tls/async.nix
new file mode 100644
index 0000000000000..ceac7a7c07495
--- /dev/null
+++ b/pkgs/development/ocaml-modules/tls/async.nix
@@ -0,0 +1,21 @@
+{ lib, buildDunePackage, tls, async, cstruct-async, core, cstruct, mirage-crypto-rng-async }:
+
+buildDunePackage rec {
+  pname = "tls-async";
+
+  inherit (tls) src meta version;
+
+  minimumOCamlVersion = "4.08";
+  useDune2 = true;
+
+  doCheck = true;
+
+  propagatedBuildInputs = [
+    async
+    core
+    cstruct
+    cstruct-async
+    mirage-crypto-rng-async
+    tls
+  ];
+}
diff --git a/pkgs/development/ocaml-modules/tls/default.nix b/pkgs/development/ocaml-modules/tls/default.nix
index dadeb5a98eafb..5a5479c9fe85e 100644
--- a/pkgs/development/ocaml-modules/tls/default.nix
+++ b/pkgs/development/ocaml-modules/tls/default.nix
@@ -1,28 +1,47 @@
-{ lib, fetchurl, buildDunePackage, ppx_sexp_conv, ppx_cstruct, cstruct
-, cstruct-sexp, sexplib, mirage-crypto, mirage-crypto-pk, mirage-crypto-rng
-, x509, domain-name, fmt, cstruct-unix, ounit2, ocaml_lwt, ptime, rresult
-, mirage-crypto-ec, hkdf, logs, alcotest }:
+{ lib, fetchurl, buildDunePackage
+, cstruct, cstruct-sexp, domain-name, fmt, ppx_cstruct, ppx_sexp_conv, logs, hkdf, mirage-crypto, mirage-crypto-ec, mirage-crypto-pk, mirage-crypto-rng, ocaml_lwt, ptime, rresult, sexplib, x509
+, alcotest, cstruct-unix, ounit2, randomconv
+}:
 
 buildDunePackage rec {
-  minimumOCamlVersion = "4.08";
-
-  version = "0.13.1";
   pname = "tls";
+  version = "0.13.2";
 
   src = fetchurl {
     url = "https://github.com/mirleft/ocaml-tls/releases/download/v${version}/tls-v${version}.tbz";
-    sha256 = "ca95fa59a82f7d38b0b495fc0cd1ff54e7728492a292895d0067c1ba9de81b7b";
+    sha256 = "sha256-IE6Fuvem8A3lZ/M8GLNYNwCG+v7BbPQ4QdYS+fKT50c=";
   };
 
+  minimumOCamlVersion = "4.08";
   useDune2 = true;
 
-  doCheck = true;
-  checkInputs = [ cstruct-unix ounit2 alcotest ];
+  propagatedBuildInputs = [
+    cstruct
+    cstruct-sexp
+    domain-name
+    fmt
+    ppx_cstruct
+    ppx_sexp_conv
+    logs
+    hkdf
+    mirage-crypto
+    mirage-crypto-ec
+    mirage-crypto-pk
+    mirage-crypto-rng
+    ocaml_lwt
+    ptime
+    rresult
+    sexplib
+    x509
+  ];
 
-  propagatedBuildInputs = [ ppx_sexp_conv ppx_cstruct cstruct cstruct-sexp
-                            sexplib mirage-crypto mirage-crypto-pk mirage-crypto-rng
-                            x509 domain-name fmt ocaml_lwt ptime mirage-crypto-ec
-                            hkdf logs rresult ];
+  doCheck = true;
+  checkInputs = [
+    alcotest
+    cstruct-unix
+    ounit2
+    randomconv
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/mirleft/ocaml-tls";
diff --git a/pkgs/development/ocaml-modules/tls/mirage.nix b/pkgs/development/ocaml-modules/tls/mirage.nix
index 18d0f08357d44..a0428536b813f 100644
--- a/pkgs/development/ocaml-modules/tls/mirage.nix
+++ b/pkgs/development/ocaml-modules/tls/mirage.nix
@@ -1,25 +1,23 @@
 { buildDunePackage, tls
-, x509, lwt, fmt, mirage-flow, mirage-kv, mirage-clock, ptime
-, mirage-crypto, mirage-crypto-pk, mirage-crypto-ec
+, fmt, lwt, mirage-clock, mirage-crypto, mirage-crypto-ec, mirage-crypto-pk, mirage-flow, mirage-kv, ptime, x509
 }:
 
 buildDunePackage {
   pname = "tls-mirage";
-
-  inherit (tls) version src useDune2 minimumOCamlVersion;
+  inherit (tls) src version minimumOCamlVersion useDune2;
 
   propagatedBuildInputs = [
-    tls
-    x509
-    lwt
     fmt
-    mirage-flow
-    mirage-kv
+    lwt
     mirage-clock
-    ptime
     mirage-crypto
-    mirage-crypto-pk
     mirage-crypto-ec
+    mirage-crypto-pk
+    mirage-flow
+    mirage-kv
+    ptime
+    tls
+    x509
   ];
 
   meta = tls.meta // {
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index 64df2e02759c0..adb72d0cd03b7 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.13.4";
+  version = "3.14.0";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "sha256-e8hliPYLvHR3JjZ4AFgJWjPW1vK10BYuVqUYtF54J5c=";
+    sha256 = "1v33546cflsbm6k8mhmi1r5c8fqjlirvzmf62a604xns8wrxb88h";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/aiosmb/default.nix b/pkgs/development/python-modules/aiosmb/default.nix
index b9c968d63f5b3..5e8482eff7e46 100644
--- a/pkgs/development/python-modules/aiosmb/default.nix
+++ b/pkgs/development/python-modules/aiosmb/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "aiosmb";
-  version = "0.2.44";
+  version = "0.2.48";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-xNdrOO0BqV4sD6U39G2RXihDBBf516x8RLiqNLnZyWk=";
+    sha256 = "1b5bqpl8wbs0nm6025wlz4n5sns6ca1x6kgw9wx227flwf3qjlgm";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/calmjs-parse/default.nix b/pkgs/development/python-modules/calmjs-parse/default.nix
new file mode 100644
index 0000000000000..33cf052a44270
--- /dev/null
+++ b/pkgs/development/python-modules/calmjs-parse/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, ply
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "calmjs-parse";
+  version = "1.2.5";
+
+  src = fetchFromGitHub {
+    owner = "calmjs";
+    repo = "calmjs.parse";
+    rev = version;
+    sha256 = "0ypfbas33k1706p6w1bf9gnrv38z8fa4qci1iaks80dp58g8sv4r";
+  };
+
+  propagatedBuildInputs = [
+    setuptools
+    ply
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    ${python.interpreter} -m unittest calmjs.parse.tests.make_suite
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    "calmjs.parse"
+    "calmjs.parse.asttypes"
+    "calmjs.parse.parsers"
+    "calmjs.parse.rules"
+    "calmjs.parse.sourcemap"
+    "calmjs.parse.unparsers.es5"
+    "calmjs.parse.walkers"
+  ];
+
+  meta = with lib; {
+    description = "Various parsers for ECMA standards";
+    homepage = "https://github.com/calmjs/calmjs.parse";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/doorbirdpy/default.nix b/pkgs/development/python-modules/doorbirdpy/default.nix
new file mode 100644
index 0000000000000..1290aaf057570
--- /dev/null
+++ b/pkgs/development/python-modules/doorbirdpy/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "doorbirdpy";
+  version = "2.1.0";
+
+  src = fetchPypi {
+    pname = "DoorBirdPy";
+    inherit version;
+    sha256 = "ed0e94953cdf96111c7f73c5fcf358f65dc0ff5e47f63fc057bf18ca7512e606";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # no tests on PyPI, no tags on GitLab
+  doCheck = false;
+
+  pythonImportsCheck = [ "doorbirdpy" ];
+
+  meta = with lib; {
+    description = "Python wrapper for the DoorBird LAN API";
+    homepage = "https://gitlab.com/klikini/doorbirdpy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/eebrightbox/default.nix b/pkgs/development/python-modules/eebrightbox/default.nix
new file mode 100644
index 0000000000000..d8050b9bf5e32
--- /dev/null
+++ b/pkgs/development/python-modules/eebrightbox/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pbr
+, calmjs-parse
+, certifi
+, chardet
+, idna
+, ply
+, requests
+, urllib3
+, httpretty
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "eebrightbox";
+  version = "0.0.6";
+
+  src = fetchFromGitHub {
+    owner = "krygal";
+    repo = "eebrightbox";
+    rev = version;
+    sha256 = "1kms240g01871qbvyc5rzf86yxsrlnfvp323jh4k35fpf45z44rr";
+  };
+
+  postPatch = ''
+    substituteInPlace requirements.txt --replace "==" ">="
+  '';
+
+  nativeBuildInputs = [
+    pbr
+  ];
+
+  PBR_VERSION = version;
+
+  propagatedBuildInputs = [
+    calmjs-parse
+    certifi
+    chardet
+    idna
+    ply
+    requests
+    urllib3
+  ];
+
+  checkInputs = [
+    httpretty
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "Connector for EE BrightBox routers";
+    homepage = "https://github.com/krygal/eebrightbox";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/elgato/default.nix b/pkgs/development/python-modules/elgato/default.nix
new file mode 100644
index 0000000000000..6ee0cd019128c
--- /dev/null
+++ b/pkgs/development/python-modules/elgato/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, aiohttp
+, poetry-core
+, yarl
+, aresponses
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "elgato";
+  version = "2.1.1";
+  disabled = pythonOlder "3.8";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "frenck";
+    repo = "python-elgato";
+    rev = "v${version}";
+    sha256 = "19z568jjyww7vi8s44anrb66qjz5l22nz4jqcz49ybhf22warmff";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    # Upstream doesn't set a version for the pyproject.toml
+    substituteInPlace pyproject.toml \
+      --replace "0.0.0" "${version}" \
+      --replace "--cov" ""
+  '';
+
+  pythonImportsCheck = [ "elgato" ];
+
+  meta = with lib; {
+    description = "Python client for Elgato Key Lights";
+    homepage = "https://github.com/frenck/python-elgato";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/emulated-roku/default.nix b/pkgs/development/python-modules/emulated-roku/default.nix
new file mode 100644
index 0000000000000..3a9da2ba8e372
--- /dev/null
+++ b/pkgs/development/python-modules/emulated-roku/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "emulated-roku";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "mindigmarton";
+    repo = "emulated_roku";
+    rev = version;
+    sha256 = "02cbg5wrph19p6x44jlw6cn3jli0kwbgfh6klb3c4k5jfrkhgghw";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "emulated_roku" ];
+
+  meta = with lib; {
+    description = "Library to emulate a roku server to serve as a proxy for remotes such as Harmony";
+    homepage = "https://github.com/mindigmarton/emulated_roku";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/enocean/default.nix b/pkgs/development/python-modules/enocean/default.nix
new file mode 100644
index 0000000000000..365d6c94ef284
--- /dev/null
+++ b/pkgs/development/python-modules/enocean/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, beautifulsoup4
+, enum-compat
+, pyserial
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "enocean";
+  version = "0.60.1";
+
+  src = fetchFromGitHub {
+    owner = "kipe";
+    repo = "enocean";
+    rev = version;
+    sha256 = "0cbcvvy3qaqv8925z608qmkc1l914crzw79krwrz2vpm2fyribab";
+  };
+
+  propagatedBuildInputs = [
+    beautifulsoup4
+    enum-compat
+    pyserial
+  ];
+
+  checkInputs = [
+    nose
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    nosetests
+
+    runHook postCheck
+  '';
+
+  pythonImportsCheck = [
+    "enocean.communicators"
+    "enocean.protocol.packet"
+    "enocean.utils"
+  ];
+
+  meta = with lib; {
+    description = "EnOcean serial protocol implementation";
+    homepage = "https://github.com/kipe/enocean";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/epson-projector/default.nix b/pkgs/development/python-modules/epson-projector/default.nix
new file mode 100644
index 0000000000000..756472222d8e6
--- /dev/null
+++ b/pkgs/development/python-modules/epson-projector/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+, async-timeout
+, pyserial-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "epson-projector";
+  version = "0.4.2";
+
+  src = fetchPypi {
+    pname = "epson_projector";
+    inherit version;
+    sha256 = "4ade1c7a0f7008d23b08bd886c8790c44cf7d60453d1eb5a8077c92aaf790d30";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+    pyserial-asyncio
+  ];
+
+  # tests need real device
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "epson_projector"
+    "epson_projector.const"
+    "epson_projector.projector_http"
+    "epson_projector.projector_serial"
+    "epson_projector.projector_tcp"
+  ];
+
+  meta = with lib; {
+    description = "Epson projector support for Python";
+    homepage = "https://github.com/pszafer/epson_projector";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/gurobipy/linux.nix b/pkgs/development/python-modules/gurobipy/linux.nix
index d572b10fd625a..ebcdc0e73f258 100644
--- a/pkgs/development/python-modules/gurobipy/linux.nix
+++ b/pkgs/development/python-modules/gurobipy/linux.nix
@@ -1,21 +1,28 @@
-{ fetchurl, python }:
-assert python.pkgs.isPy27;
+{ lib, buildPythonPackage, python, gurobi }:
 
-python.pkgs.buildPythonPackage
-  { pname = "gurobipy";
-    version = "7.5.2";
-    src = fetchurl
-      { url = "http://packages.gurobi.com/7.5/gurobi7.5.2_linux64.tar.gz";
-        sha256 = "13i1dl22lnmg7z9mb48zl3hy1qnpwdpr0zl2aizda0qnb7my5rnj";
-      };
-    setSourceRoot = "sourceRoot=$(echo gurobi*/*64)";
-    patches = [ ./no-clever-setup.patch ];
-    postInstall = "mv lib/libaes*.so* lib/libgurobi*.so* $out/lib";
-    postFixup =
-      ''
-        patchelf --set-rpath $out/lib \
-          $out/lib/python2.7/site-packages/gurobipy/gurobipy.so
-        patchelf --add-needed libaes75.so \
-          $out/lib/python2.7/site-packages/gurobipy/gurobipy.so
-      '';
-  }
+buildPythonPackage {
+  pname = "gurobipy";
+  version = "9.1.2";
+
+  src = gurobi.src;
+
+  setSourceRoot = "sourceRoot=$(echo gurobi*/*64)";
+
+  patches = [ ./no-clever-setup.patch ];
+
+  postInstall = ''
+    mv lib/libgurobi*.so* $out/lib
+  '';
+
+  postFixup = ''
+    patchelf --set-rpath $out/lib \
+      $out/lib/${python.libPrefix}/site-packages/gurobipy/gurobipy.so
+  '';
+
+  meta = with lib; {
+    description = "The Gurobi Python interface";
+    homepage = "https://www.gurobi.com";
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/python-modules/gurobipy/no-clever-setup.patch b/pkgs/development/python-modules/gurobipy/no-clever-setup.patch
index c71ac7d68632e..bcb43a4707bfa 100644
--- a/pkgs/development/python-modules/gurobipy/no-clever-setup.patch
+++ b/pkgs/development/python-modules/gurobipy/no-clever-setup.patch
@@ -1,7 +1,7 @@
 diff -Naur a/setup.py b/setup.py
---- a/setup.py	2017-12-22 10:52:43.730264611 -0500
-+++ b/setup.py	2017-12-22 10:53:27.660104199 -0500
-@@ -15,30 +15,6 @@
+--- a/setup.py	2021-04-24 12:53:18.300255006 -0500
++++ b/setup.py	2021-04-24 12:47:51.619052574 -0500
+@@ -15,29 +15,6 @@
  from distutils.command.install import install
  import os,sys,shutil
  
@@ -13,7 +13,6 @@ diff -Naur a/setup.py b/setup.py
 -    def finalize_options(self):
 -        self.cwd = os.path.dirname(os.path.realpath(__file__))
 -    def run(self):
--        assert os.getcwd() == self.cwd, 'Must be run from setup.py directory: %s' % self.cwd
 -        build_dir = os.path.join(os.getcwd(), "build")
 -        if os.path.exists(build_dir):
 -            print('removing %s' % build_dir)
@@ -32,24 +31,11 @@ diff -Naur a/setup.py b/setup.py
  License = """
      This software is covered by the Gurobi End User License Agreement.
      By completing the Gurobi installation process and using the software,
-@@ -79,20 +55,4 @@
+@@ -78,7 +55,5 @@
        packages = ['gurobipy'],
        package_dir={'gurobipy' : srcpath },
        package_data = {'gurobipy' : [srcfile] },
 -      cmdclass={'install' : GurobiInstall, 
 -                'clean'   : GurobiClean }
        )
--
--if os.name == 'posix' and sys.platform == 'darwin': # update Mac paths
--  verstr = sys.version[:3]
--  default = '/Library/Frameworks/Python.framework/Versions/%s/Python' % verstr
--  default = '/System'+default if verstr == '2.7' else default
--  modified = sys.prefix + '/Python'
--  if default != modified:
--    import subprocess
--    from distutils.sysconfig import get_python_lib
--    sitelib = get_python_lib() + '/gurobipy/gurobipy.so'
--    if not os.path.isfile(modified): # Anaconda
--      libver = verstr if verstr == '2.7' else verstr+'m'
--      modified = sys.prefix + '/lib/libpython%s.dylib' % libver # For Anaconda
--    subprocess.call(('install_name_tool', '-change', default, modified, sitelib))
+ 
diff --git a/pkgs/development/python-modules/habitipy/default.nix b/pkgs/development/python-modules/habitipy/default.nix
new file mode 100644
index 0000000000000..d20c89e82e792
--- /dev/null
+++ b/pkgs/development/python-modules/habitipy/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, plumbum
+, requests
+, setuptools
+, hypothesis
+, nose
+, responses
+}:
+
+buildPythonPackage rec {
+  pname = "habitipy";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "ASMfreaK";
+    repo = "habitipy";
+    rev = "v${version}";
+    sha256 = "1vf485z5m4h61p64zr3sgkcil2s3brq7dja4n7m49d1fvzcirylv";
+  };
+
+  propagatedBuildInputs = [
+    plumbum
+    requests
+    setuptools
+  ];
+
+  checkInputs = [
+    hypothesis
+    nose
+    responses
+  ];
+
+  checkPhase = ''
+    HOME=$TMPDIR nosetests
+  '';
+
+  pythonImportsCheck = [ "habitipy" ];
+
+  meta = with lib; {
+    description = "Tools and library for Habitica restful API";
+    homepage = "https://github.com/ASMfreaK/habitipy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/hangups/default.nix b/pkgs/development/python-modules/hangups/default.nix
new file mode 100644
index 0000000000000..9c32bc2dd9512
--- /dev/null
+++ b/pkgs/development/python-modules/hangups/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, configargparse
+, aiohttp
+, async-timeout
+, appdirs
+, readlike
+, requests
+, reparser
+, protobuf
+, urwid
+, mechanicalsoup
+, httpretty
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "hangups";
+  version = "0.4.14";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "tdryer";
+    repo = "hangups";
+    rev = "v${version}";
+    sha256 = "14njagpdp13zlaqnwl2mh7fkpnsaqr6wkr4lwh608v06pkwwcwcm";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "protobuf>=3.1.0,<3.16" "protobuf" \
+      --replace "MechanicalSoup>=0.6.0,<0.13" "MechanicalSoup"
+  '';
+
+  propagatedBuildInputs = [
+    configargparse
+    aiohttp
+    async-timeout
+    appdirs
+    readlike
+    requests
+    reparser
+    protobuf
+    urwid
+    mechanicalsoup
+  ];
+
+  checkInputs = [
+    httpretty
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "hangups"
+    "hangups.client"
+    "hangups.event"
+    "hangups.parsers"
+    "hangups.user"
+  ];
+
+  meta = with lib; {
+    description = "The first third-party instant messaging client for Google Hangouts";
+    homepage = "https://github.com/tdryer/hangups";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/impacket/default.nix b/pkgs/development/python-modules/impacket/default.nix
index 15d148f168f15..43fdfb6a9ceea 100644
--- a/pkgs/development/python-modules/impacket/default.nix
+++ b/pkgs/development/python-modules/impacket/default.nix
@@ -1,15 +1,15 @@
-{ lib, buildPythonPackage, fetchPypi, flask, ldapdomaindump, pycryptodomex, pyasn1, pyopenssl }:
+{ lib, buildPythonPackage, fetchPypi, flask, ldapdomaindump, pycryptodomex, pyasn1, pyopenssl, chardet }:
 
 buildPythonPackage rec {
   pname = "impacket";
-  version = "0.9.22";
+  version = "0.9.23";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4bf7e7b595356585599b4b2773b8a463d7b9765c97012dcd5a44eb6d547f6a1d";
+    sha256 = "113isxb9rd2n761nnh3skg3vqa0v5dalz9kbavyczqyv1jjyh6qw";
   };
 
-  propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl ];
+  propagatedBuildInputs = [ flask ldapdomaindump pycryptodomex pyasn1 pyopenssl chardet ];
 
   # fail with:
   # RecursionError: maximum recursion depth exceeded
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Network protocols Constructors and Dissectors";
-    homepage = "https://github.com/CoreSecurity/impacket";
+    homepage = "https://github.com/SecureAuthCorp/impacket";
     # Modified Apache Software License, Version 1.1
     license = licenses.free;
     maintainers = with maintainers; [ SuperSandro2000 ];
diff --git a/pkgs/development/python-modules/minio/default.nix b/pkgs/development/python-modules/minio/default.nix
index fdbcf09534b27..eb543a63133a0 100644
--- a/pkgs/development/python-modules/minio/default.nix
+++ b/pkgs/development/python-modules/minio/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "minio";
-  version = "7.0.3";
+  version = "7.0.4";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio-py";
     rev = version;
-    sha256 = "14symk7b3i9xzfc2wkcnqmfsvh9j3jx2ijz7dgy1xyrbjwb7yzhc";
+    sha256 = "sha256-4O6WhBoMNpqv1OEewkbA5a8hYH56liF7GrfxkooQ6Fo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pecan/default.nix b/pkgs/development/python-modules/pecan/default.nix
index d19fc1011347f..d610561b3e6fa 100644
--- a/pkgs/development/python-modules/pecan/default.nix
+++ b/pkgs/development/python-modules/pecan/default.nix
@@ -1,5 +1,6 @@
 { lib
 , fetchPypi
+, fetchpatch
 , buildPythonPackage
 , isPy27
 # Python deps
@@ -28,6 +29,14 @@ buildPythonPackage rec {
     sha256 = "4b2acd6802a04b59e306d0a6ccf37701d24376f4dc044bbbafba3afdf9d3389a";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "Support-SQLAlchemy-1.4x.patch";
+      url = "https://github.com/pecan/pecan/commit/a520bd544c0b02a02dbf692b8d6e2f7a503ee6d4.patch";
+      sha256 = "sha256-QCHRjwnpy8ndCvcuyE5Y65BybKYthJXDySUtmpJD8gY=";
+    })
+  ];
+
   propagatedBuildInputs = [
     logutils
     Mako
@@ -51,8 +60,9 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "Pecan";
-    homepage = "http://www.pecanpy.org/";
+    description = "WSGI object-dispatching web framework, designed to be lean and fast";
+    homepage = "https://www.pecanpy.org/";
     changelog = "https://pecan.readthedocs.io/en/latest/changes.html";
+    maintainers = with maintainers; [ applePrincess ];
   };
 }
diff --git a/pkgs/development/python-modules/pmsensor/default.nix b/pkgs/development/python-modules/pmsensor/default.nix
new file mode 100644
index 0000000000000..1d64852f281e3
--- /dev/null
+++ b/pkgs/development/python-modules/pmsensor/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pyserial
+}:
+
+buildPythonPackage rec {
+  pname = "pmsensor";
+  version = "0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7fc03aafb791ca70d847c9ab97cf181bc7d8f7345efb4b0c3f66c07b9c7dee69";
+  };
+
+  propagatedBuildInputs = [
+    pyserial
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "pmsensor.co2sensor"
+    "pmsensor.serial_pm"
+  ];
+
+  meta = with lib; {
+    description = "Library to read data from environment sensors";
+    homepage = "https://github.com/open-homeautomation/pmsensor";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pydaikin/default.nix b/pkgs/development/python-modules/pydaikin/default.nix
index fbb205bb9f784..9b2eda85abe5d 100644
--- a/pkgs/development/python-modules/pydaikin/default.nix
+++ b/pkgs/development/python-modules/pydaikin/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pydaikin";
-  version = "2.4.2";
+  version = "2.4.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromBitbucket {
     owner = "mustang51";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13cslszjhd1x7j0ja0n0wpy62hb2sdmkrmjl3qhwqfggps2w2wy1";
+    sha256 = "0i013ma2fs6an3izak6zbs9lbr4l7b5x54d0xagw6gqf5n8dsclq";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     urllib3
   ];
 
-  # while they have tests, they do not run them in their CI and they fail as of 2.4.2
+  # while they have tests, they do not run them in their CI and they fail as of 2.4.3
   # AttributeError: 'DaikinBRP069' object has no attribute 'last_hour_cool_energy_consumption'
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/pyheos/default.nix b/pkgs/development/python-modules/pyheos/default.nix
new file mode 100644
index 0000000000000..715c609875e64
--- /dev/null
+++ b/pkgs/development/python-modules/pyheos/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyheos";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner = "andrewsayre";
+    repo = "pyheos";
+    rev = version;
+    sha256 = "0rgzg7lnqzzqrjp73c1hj1hq8p0j0msyih3yr4wa2rj81s8ihmby";
+  };
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # accesses network
+    "test_connect_timeout"
+  ];
+
+  pythonImportsCheck = [ "pyheos" ];
+
+  meta = with lib; {
+    description = "Async python library for controlling HEOS devices through the HEOS CLI Protocol";
+    homepage = "https://github.com/andrewsayre/pyheos";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyhiveapi/default.nix b/pkgs/development/python-modules/pyhiveapi/default.nix
new file mode 100644
index 0000000000000..96b361d027188
--- /dev/null
+++ b/pkgs/development/python-modules/pyhiveapi/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, unasync
+, boto3
+, botocore
+, requests
+, aiohttp
+, pyquery
+, loguru
+}:
+
+buildPythonPackage rec {
+  pname = "pyhiveapi";
+  version = "0.4.2";
+
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Pyhass";
+    repo = "Pyhiveapi";
+    rev = "v${version}";
+    sha256 = "0x9cfxfdpccz360azpyfhvn09xxkw7vxy42npgbqhpy2g6mh5sif";
+  };
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "pre-commit" ""
+  '';
+
+  nativeBuildInputs = [
+    unasync
+  ];
+
+  propagatedBuildInputs = [
+    boto3
+    botocore
+    requests
+    aiohttp
+    pyquery
+    loguru
+  ];
+
+  # tests are not functional yet
+  doCheck = false;
+
+  postBuild = ''
+    # pyhiveapi accesses $HOME upon importing
+    export HOME=$TMPDIR
+  '';
+
+  pythonImportsCheck = [ "pyhiveapi" ];
+
+  meta = with lib; {
+    description = "Python library to interface with the Hive API";
+    homepage = "https://github.com/Pyhass/Pyhiveapi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pymfy/default.nix b/pkgs/development/python-modules/pymfy/default.nix
index 2c17c0a085d9d..ab5b21e8881d8 100644
--- a/pkgs/development/python-modules/pymfy/default.nix
+++ b/pkgs/development/python-modules/pymfy/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pymfy";
-  version = "0.10.1";
+  version = "0.11.0";
   format = "pyproject";
   disabled = pythonOlder "3.7";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tetienne";
     repo = "somfy-open-api";
     rev = "v${version}";
-    sha256 = "sha256-xX7vNBQaYPdnsukFcQyEa2G1XIvf9ehADNXbLUUCRoU=";
+    sha256 = "0wpjwjmywfyqgwvfa5kwcjpaljc32qa088kk88nl9nqdvc31mzhv";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pytest-subprocess/default.nix b/pkgs/development/python-modules/pytest-subprocess/default.nix
index aeacd084eec18..83afef9292449 100644
--- a/pkgs/development/python-modules/pytest-subprocess/default.nix
+++ b/pkgs/development/python-modules/pytest-subprocess/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-subprocess";
-  version = "1.1.0";
+  version = "1.1.1";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "aklajnert";
     repo = "pytest-subprocess";
     rev = version;
-    sha256 = "sha256-r6WNDdvZAHMG1kPtLJlCwvhbVG1gC1NEvRfta+Chxnk=";
+    sha256 = "sha256-o8wDZhNHGPV1BQ5Zi2kFNlWq5w0cqebaJUhUUwTK6So=";
   };
 
   buildInputs = [
@@ -31,10 +31,6 @@ buildPythonPackage rec {
     pygments
   ];
 
-  disabledTests = [
-    "test_multiple_wait" # https://github.com/aklajnert/pytest-subprocess/issues/36
-  ];
-
   meta = with lib; {
     description = "A plugin to fake subprocess for pytest";
     homepage = "https://github.com/aklajnert/pytest-subprocess";
diff --git a/pkgs/development/python-modules/python-ecobee-api/default.nix b/pkgs/development/python-modules/python-ecobee-api/default.nix
new file mode 100644
index 0000000000000..dc35c0c022fbf
--- /dev/null
+++ b/pkgs/development/python-modules/python-ecobee-api/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "python-ecobee-api";
+  version = "0.2.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7c39f5aac854a2fb8fb33f41b351769a92ff784bc6112e7a5c1b9e1949a0fefe";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "pyecobee" ];
+
+  meta = with lib; {
+    description = "Python API for talking to Ecobee thermostats";
+    homepage = "https://github.com/nkgilley/python-ecobee-api";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-gitlab/default.nix b/pkgs/development/python-modules/python-gitlab/default.nix
index b3cb9aaff633b..4d7f7a289cb56 100644
--- a/pkgs/development/python-modules/python-gitlab/default.nix
+++ b/pkgs/development/python-modules/python-gitlab/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "python-gitlab";
-  version = "2.7.1";
+  version = "2.8.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0z4amj5xhx5zc3h2m0zrkardm3z5ba9qpjx5n6dczyz77r527yg1";
+    sha256 = "0081jgjgqi4mqpr436ivw2q571hxi3hv2pa8d0z0nfl13s6lldpk";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytorch/bin.nix b/pkgs/development/python-modules/pytorch/bin.nix
index 41af9502c0c9e..288af6f7efca2 100644
--- a/pkgs/development/python-modules/pytorch/bin.nix
+++ b/pkgs/development/python-modules/pytorch/bin.nix
@@ -18,7 +18,7 @@ let
   pyVerNoDot = builtins.replaceStrings [ "." ] [ "" ] python.pythonVersion;
   srcs = import ./binary-hashes.nix version;
   unsupported = throw "Unsupported system";
-  version = "1.8.1";
+  version = "1.9.0";
 in buildPythonPackage {
   inherit version;
 
diff --git a/pkgs/development/python-modules/pytorch/binary-hashes.nix b/pkgs/development/python-modules/pytorch/binary-hashes.nix
index 4855d13571063..d6fbde19f0f31 100644
--- a/pkgs/development/python-modules/pytorch/binary-hashes.nix
+++ b/pkgs/development/python-modules/pytorch/binary-hashes.nix
@@ -2,16 +2,16 @@ version: {
   x86_64-linux-37 = {
     name = "torch-${version}-cp37-cp37m-linux_x86_64.whl";
     url = "https://download.pytorch.org/whl/cu111/torch-${version}%2Bcu111-cp37-cp37m-linux_x86_64.whl";
-    hash = "sha256-lxj066PiB+S88GqQnXKgd9RCiKkMk3mctx/eBieZjAk=";
+    hash = "sha256-GOTC4HpSxd+3V4LNPy3Ig1+IAhm3U+6s/gOkKxD4AJE=";
   };
   x86_64-linux-38 = {
     name = "torch-${version}-cp38-cp38-linux_x86_64.whl";
     url = "https://download.pytorch.org/whl/cu111/torch-${version}%2Bcu111-cp38-cp38-linux_x86_64.whl";
-    hash = "sha256-qvTQMLz4CQPgalzUyYwz6rm+ExyWlIzI+FSMQhxM4eM=";
+    hash = "sha256-29KiXQJWCRRn92+ZddBq3Q+zYIKavUxB5HL3HafO0gc=";
   };
   x86_64-linux-39 = {
     name = "torch-${version}-cp39-cp39-linux_x86_64.whl";
     url = "https://download.pytorch.org/whl/cu111/torch-${version}%2Bcu111-cp39-cp39-linux_x86_64.whl";
-    hash = "sha256-z0pzEiljU+E2x2SuOEAg86dmVY1iFZSDOCfoOAFhLQo=";
+    hash = "sha256-VCLRkELiF8KqlAMLFrP+TaW+m6jupG5+WdQKEQlVli0=";
   };
 }
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index 8fae54c846608..35eb79d8b2d32 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -117,7 +117,7 @@ let
 in buildPythonPackage rec {
   pname = "pytorch";
   # Don't forget to update pytorch-bin to the same version.
-  version = "1.8.1";
+  version = "1.9.0";
 
   disabled = !isPy3k;
 
@@ -132,7 +132,7 @@ in buildPythonPackage rec {
     repo   = "pytorch";
     rev    = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-HERbvmrfhWwH164GFHU/M0KbhVAuhI5sBZSxCZy8mRk=";
+    sha256 = "sha256-gZmEhV1zzfr/5T2uNfS+8knzyJIxnv2COWVyiAzU9jM=";
   };
 
   patches = lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/python-modules/pyyaml-env-tag/default.nix b/pkgs/development/python-modules/pyyaml-env-tag/default.nix
new file mode 100644
index 0000000000000..f81bbbd7acbf1
--- /dev/null
+++ b/pkgs/development/python-modules/pyyaml-env-tag/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pyyaml
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyyaml-env-tag";
+  version = "0.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    pname = "pyyaml_env_tag";
+    inherit version;
+    sha256 = "1nsva88jsmwn0cb9jnrfiz4dvs9xakkpgfii7g1xwkx1pmsjc2bh";
+  };
+
+  propagatedBuildInputs = [
+    pyyaml
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "yaml_env_tag" ];
+
+  meta = with lib; {
+    description = "Custom YAML tag for referencing environment variables";
+    homepage = "https://github.com/waylan/pyyaml-env-tag";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/readlike/default.nix b/pkgs/development/python-modules/readlike/default.nix
new file mode 100644
index 0000000000000..f2e3d11e7edd8
--- /dev/null
+++ b/pkgs/development/python-modules/readlike/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "readlike";
+  version = "0.1.3";
+
+  src = fetchFromGitHub {
+    owner = "jangler";
+    repo = "readlike";
+    rev = version;
+    sha256 = "1mw8j8ads8hqdbz42siwpffi4wi5s33z9g14a5c2i7vxp8m68qc1";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover -s tests
+  '';
+
+  meta = with lib; {
+    description = "GNU Readline-like line editing module";
+    homepage = "https://github.com/jangler/readlike";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/reparser/default.nix b/pkgs/development/python-modules/reparser/default.nix
new file mode 100644
index 0000000000000..90d701a0e4651
--- /dev/null
+++ b/pkgs/development/python-modules/reparser/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, isPy27
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "reparser";
+  version = "1.4.3";
+
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "xmikos";
+    repo = "reparser";
+    rev = "v${version}";
+    sha256 = "04v7h52wny0j2qj37501nk33j0s4amm134kagdicx2is49zylzq1";
+  };
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "reparser" ];
+
+  meta = with lib; {
+    description = "Simple regex-based lexer/parser for inline markup";
+    homepage = "https://github.com/xmikos/reparser";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/restfly/default.nix b/pkgs/development/python-modules/restfly/default.nix
index b572b0a385d14..126ff8f22880a 100644
--- a/pkgs/development/python-modules/restfly/default.nix
+++ b/pkgs/development/python-modules/restfly/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "restfly";
-  version = "1.3.5";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "stevemcgrath";
     repo = pname;
     rev = version;
-    sha256 = "0cq07wj6g3kg7i4qyjp3n3pv13k9p4p43rd6kn139wsn1mh8fr56";
+    sha256 = "0cmx15i57cxqw7naz8nkpqjckd6lpd2vszrkl82hvnajdimcd9wy";
   };
 
   propagatedBuildInputs = [
@@ -32,6 +32,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # Test requires network access
+    "test_session_ssl_error"
+  ];
+
   pythonImportsCheck = [ "restfly" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/sense-energy/default.nix b/pkgs/development/python-modules/sense-energy/default.nix
new file mode 100644
index 0000000000000..a3cd63d485ea5
--- /dev/null
+++ b/pkgs/development/python-modules/sense-energy/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, aiohttp
+, requests
+, websocket-client
+, websockets
+}:
+
+buildPythonPackage rec {
+  pname = "sense-energy";
+  version = "0.9.0";
+
+  src = fetchFromGitHub {
+    owner = "scottbonline";
+    repo = "sense";
+    rev = version;
+    sha256 = "1lbarsa9wpm7hnhgf2g253w0gs80cn989dnj4aqmic57x5isikhz";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    requests
+    websocket-client
+    websockets
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "sense_energy" ];
+
+  meta = with lib; {
+    description = "API for the Sense Energy Monitor";
+    homepage = "https://github.com/scottbonline/sense";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/unasync/default.nix b/pkgs/development/python-modules/unasync/default.nix
new file mode 100644
index 0000000000000..9b37edfb2841e
--- /dev/null
+++ b/pkgs/development/python-modules/unasync/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, setuptools
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "unasync";
+  version = "0.5.0";
+
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "python-trio";
+    repo = "unasync";
+    rev = "v${version}";
+    sha256 = "0h86i09v4909a8nk5lp36jlwz6rsln6vyg3d0i13ykxa6lrx1c2l";
+  };
+
+  propagatedBuildInputs = [
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # mess with $PYTHONPATH
+    "test_build_py_modules"
+    "test_build_py_packages"
+    "test_project_structure_after_build_py_packages"
+    "test_project_structure_after_customized_build_py_packages"
+  ];
+
+  pythonImportsCheck = [ "unasync" ];
+
+  meta = with lib; {
+    description = "Project that can transform your asynchronous code into synchronous code";
+    homepage = "https://github.com/python-trio/unasync";
+    license = with licenses; [ mit /* or */ asl20 ];
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index b5c5f437d2829..0a8da94e52eb8 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.18.5";
+  version = "0.18.7";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "XKNX";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hvLfcrN1NFKM2YezvMLSTNZtwpThEnT7eRUnVzbrK0Q=";
+    sha256 = "17w6a4ci4w6ggxpa99197f84awd116ygzd3fa5cvn1a7221dvdj4";
   };
 
   propagatedBuildInputs = [
@@ -43,5 +43,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/XKNX/xknx";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/xtensor-python/default.nix b/pkgs/development/python-modules/xtensor-python/default.nix
new file mode 100644
index 0000000000000..7d973c0906e9d
--- /dev/null
+++ b/pkgs/development/python-modules/xtensor-python/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cmake
+, gtest
+, xtensor
+, pybind11
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "xtensor-python";
+  version = "0.25.1";
+
+  src = fetchFromGitHub {
+    owner = "xtensor-stack";
+    repo = pname;
+    rev = version;
+    sha256 = "17la76hn4r1jv67dzz8x2pzl608r0mnvz854407mchlzj6rhsxza";
+  };
+
+  nativeBuildInputs = [ cmake pybind11 ];
+
+  propagatedBuildInputs = [ xtensor numpy ];
+
+  dontUseSetuptoolsBuild = true;
+  dontUsePipInstall = true;
+  dontUseSetuptoolsCheck = true;
+
+  checkInputs = [
+    gtest
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/xtensor-stack/xtensor-python";
+    description = "Python bindings for the xtensor C++ multi-dimensional array library";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ lsix ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index ea1aee669c542..df571a1ce433a 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.152.0";
+  version = "0.153.0";
 
   src = fetchFromGitHub {
     owner  = "facebook";
     repo   = "flow";
     rev    = "refs/tags/v${version}";
-    sha256 = "1af9z6xah3rk99pv984nikkpq8jzl5r0fccb1gdhmi7y5a6y6g1m";
+    sha256 = "sha256-KaDgrr1DY7DGxFvSOzbO04Y8Z3LkmvJcPwfFWa/UlMs=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/nix-linter/default.nix b/pkgs/development/tools/analysis/nix-linter/default.nix
index 279a69327fa67..f01886c883bc1 100644
--- a/pkgs/development/tools/analysis/nix-linter/default.nix
+++ b/pkgs/development/tools/analysis/nix-linter/default.nix
@@ -17,18 +17,17 @@
 , containers
 , hnix
 , bytestring
-, fetchpatch
 }:
 
 mkDerivation rec {
   pname = "nix-linter-unstable";
-  version = "2020-09-25";
+  version = "2021-06-16";
 
   src = fetchFromGitHub {
     owner = "Synthetica9";
     repo = "nix-linter";
-    rev = "2516a8cda41f9bb553a1c3eca38e3dd94ebf53de";
-    sha256 = "07mn2c9v67wsm57jlxv9pqac9hahw4618vngmj2sfbgihx8997kb";
+    rev = "74707ed48dcc58dbfa27ae25ee0e044c072cc344";
+    sha256 = "17scghkinpx3pzlw3hw023ybnd8cy7bqfy8b48vwaq8a7bnm2rs3";
   };
 
   isLibrary = false;
@@ -37,14 +36,6 @@ mkDerivation rec {
   executableHaskellDepends = [ streamly mtl path pretty-terminal text base aeson cmdargs containers hnix bytestring path-io ];
   testHaskellDepends = [ tasty tasty-hunit tasty-th ];
 
-  patches = [
-    # Fix compatibility with hnix≥0.13.0 https://github.com/Synthetica9/nix-linter/pull/51
-    (fetchpatch {
-      url = "https://github.com/Synthetica9/nix-linter/commit/f73acacd8623dc25c9a35f8e04e4ff33cc596af8.patch";
-      sha256 = "139fm21hdg3vcw8hv35kxj4awd52bjqbb76mpzx191hzi9plj8qc";
-    })
-  ];
-
   description = "Linter for Nix(pkgs), based on hnix";
   homepage = "https://github.com/Synthetica9/nix-linter";
   license = lib.licenses.bsd3;
diff --git a/pkgs/development/tools/documentation/mkdocs/default.nix b/pkgs/development/tools/documentation/mkdocs/default.nix
index 64d834f1bb295..f7774cc7127eb 100644
--- a/pkgs/development/tools/documentation/mkdocs/default.nix
+++ b/pkgs/development/tools/documentation/mkdocs/default.nix
@@ -1,40 +1,55 @@
-{ lib, python3, fetchFromGitHub }:
+{ lib
+, python3
+, fetchFromGitHub
+}:
 
 with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "mkdocs";
-  version = "1.0.4";
+  version = "1.2.1";
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = "mkdocs";
-    repo = "mkdocs";
+    owner = pname;
+    repo = pname;
     rev = version;
-    sha256 = "1x35vgiskgz4wwrvi4m1mri5wlphf15p90fr3rxsy5bf19v3s9hs";
+    sha256 = "sha256-JF3Zz1ObxeKsIF0pa8duJxqjLgMvmWsWMApHT43Z+EY=";
   };
 
-  checkInputs = [
-    nose nose-exclude mock
+  propagatedBuildInputs = [
+    click
+    jinja2
+    markdown
+    mergedeep
+    pyyaml
+    pyyaml-env-tag
+    ghp-import
+    importlib-metadata
+    watchdog
+    packaging
   ];
 
-  NOSE_EXCLUDE_TESTS = lib.concatStringsSep ";" [
-    "mkdocs.tests.gh_deploy_tests.TestGitHubDeploy"
-    "mkdocs.tests.config.config_tests.ConfigTests"
-    "mkdocs.tests.config.config_options_tests.DirTest"
+  checkInputs = [
+    Babel
+    mock
+    pytestCheckHook
   ];
 
-  checkPhase = "nosetests mkdocs";
+  postPatch = ''
+    # Remove test due to missing requirement
+    rm mkdocs/tests/theme_tests.py
+  '';
 
-  propagatedBuildInputs = [
-    tornado
-    livereload
-    click
-    pyyaml
-    markdown
-    jinja2
-    backports_tempfile
+  pytestFlagsArray = [ "mkdocs/tests/*.py" ];
+
+  disabledTests = [
+    # Don't start a test server
+    "testing_server"
   ];
 
+  pythonImportsCheck = [ "mkdocs" ];
+
   meta = with lib; {
     description = "Project documentation with Markdown / static website generator";
     longDescription = ''
@@ -42,11 +57,11 @@ buildPythonApplication rec {
       geared towards building project documentation. Documentation source files
       are written in Markdown, and configured with a single YAML configuration file.
 
-      MkDocs can also be used to generate general-purpose Websites.
+      MkDocs can also be used to generate general-purpose websites.
     '';
     homepage = "http://mkdocs.org/";
-    license = lib.licenses.bsd2;
+    license = licenses.bsd2;
     platforms = platforms.unix;
-    maintainers = [ maintainers.rkoe ];
+    maintainers = with maintainers; [ rkoe ];
   };
 }
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 894168145aeee..22a6a59cc1bc3 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.7";
+  version = "0.12.9";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-LHM3dlVfwgA1HJPg/77Er/RWEDVmmQuuhrS5KzTAtV0=";
+    sha256 = "sha256-MqwgdhgWIfYE0wO7fWQuC72tEwCVgL7qUbJlJ3APf4E=";
   };
 
   vendorSha256 = "sha256-2ABWPqhK2Cf4ipQH7XvRrd+ZscJhYPc3SV2cGT0apdg=";
diff --git a/pkgs/development/tools/go-toml/default.nix b/pkgs/development/tools/go-toml/default.nix
index fee8d94f754b3..8a41e0a4d133f 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.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "pelletier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-x740f6I+szhq4mEsed4bsXcC8PvzF6PKFJNJ9SKMGIE=";
+    sha256 = "sha256-Vu/PS01JeSeg1KHkpqL12rTjRJFoc9rla48H/ei2HDM=";
   };
 
   goPackagePath = "github.com/pelletier/go-toml";
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 2019c7cb3e22c..f4ff5dd2b946a 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.40.1";
+  version = "1.41.0";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-5OtXfDPpdwVMnI5Pttr+XQPgJXI7YexPtBhIDeS1CXk=";
+    sha256 = "sha256-ogH3L2EG0xdGpCaEfMUYnCWyFTGgx/C/O54mMxcJSBA=";
   };
 
-  vendorSha256 = "sha256-8SPUOQ88RkU0dkyNccf+POKitXHlCRaxrIugV91gDZQ=";
+  vendorSha256 = "sha256-gYulktNetcgXk43Ydk4+WEMZMFCrmx6p5VnsFIJdQhk=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gosec/default.nix b/pkgs/development/tools/gosec/default.nix
index a24ec1050146a..9264ac27fa2ae 100644
--- a/pkgs/development/tools/gosec/default.nix
+++ b/pkgs/development/tools/gosec/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "gosec";
-  version = "2.8.0";
+  version = "2.8.1";
 
   subPackages = [ "cmd/gosec" ];
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = "securego";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AC3NHW7LYbpZGA+iaM9eXFLothhqZuvRJM1ehBByhpk=";
+    sha256 = "sha256-AlADSEekcUH/pCGggKlkBDiIYMe1zsoe9hh6fVUwQVA=";
   };
 
-  vendorSha256 = "sha256-QfbElEjkYdmzYhQ8TOFIb2jfG2xzbW1UL2eLxROsBfw=";
+  vendorSha256 = "sha256-HBwIZfvkL9HSwkD1sZzBM7IJFAjLbCxyc95vqR5TFAg=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 4abe6b6d17fad..61b4a570b8152 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.40.0";
+  version = "0.41.0";
 
   src = fetchurl {
-    url = "https://github.com/shyiko/ktlint/releases/download/${version}/ktlint";
-    sha256 = "17n1xdalz38h9p4ylcpkbbqp22b1np5l8y5l3r58kaf9k8p6cfa7";
+    url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
+    sha256 = "10z1010k25i40iv7v339csmbs83hmwjv1004jikckb78wncd12s3";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     homepage = "https://ktlint.github.io/";
     license = licenses.mit;
     platforms = jre_headless.meta.platforms;
-    maintainers = with maintainers; [ tadfisher ];
+    maintainers = with maintainers; [ tadfisher SubhrajyotiSen ];
   };
 }
diff --git a/pkgs/development/tools/kustomize/kustomize-sops.nix b/pkgs/development/tools/kustomize/kustomize-sops.nix
index 7753556a4ea59..9c71af562137f 100644
--- a/pkgs/development/tools/kustomize/kustomize-sops.nix
+++ b/pkgs/development/tools/kustomize/kustomize-sops.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kustomize-sops";
-  version = "2.5.5";
+  version = "2.5.6";
 
   src = fetchFromGitHub {
     owner = "viaduct-ai";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lNC8TwX462Lnt/uiKWt9hNa81g3tdenvvuNQJNkj7hM=";
+    sha256 = "sha256-UEtWEOuekFbMUJFWYdXfzbCWCz4I7vVdb9UBQbMXF/A=";
   };
 
-  vendorSha256 = "sha256-uStmUhiZuUguxUx2L8ifSNnbMCs7Jk+6tq7qZdACjag=";
+  vendorSha256 = "sha256-kNJkSivSj8LMeXobKazLy9MCTtWzrBn99GmvaH+qIUU=";
 
   installPhase = ''
     mkdir -p $out/lib/viaduct.ai/v1/ksops-exec/
diff --git a/pkgs/development/tools/misc/ccache/default.nix b/pkgs/development/tools/misc/ccache/default.nix
index 94fca742b6d35..909a160c7eeab 100644
--- a/pkgs/development/tools/misc/ccache/default.nix
+++ b/pkgs/development/tools/misc/ccache/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , substituteAll
 , binutils
 , asciidoc
@@ -34,6 +35,11 @@ let ccache = stdenv.mkDerivation rec {
       src = ./force-objdump-on-darwin.patch;
       objdump = "${binutils.bintools}/bin/objdump";
     })
+    # Fix clang C++ modules test (remove in next release)
+    (fetchpatch {
+      url = "https://github.com/ccache/ccache/commit/8b0c783ffc77d29a3e3520345b776a5c496fd892.patch";
+      sha256 = "13qllx0qhfrdila6bdij9lk74fhkm3vdj01zgq1ri6ffrv9lqrla";
+    })
   ];
 
   nativeBuildInputs = [ asciidoc cmake perl ];
diff --git a/pkgs/development/tools/misc/terraform-ls/default.nix b/pkgs/development/tools/misc/terraform-ls/default.nix
index dec2cd3a19a49..e189c563e86e4 100644
--- a/pkgs/development/tools/misc/terraform-ls/default.nix
+++ b/pkgs/development/tools/misc/terraform-ls/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "terraform-ls";
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JctiWJ2HeFtrrOwCe1MCzxTkE2855FsgFocaAgK4fMk=";
+    sha256 = "sha256-68Hs9kwv7GTGnYtoJh61ubaggPKbxFwz7qDwYaJ74c8=";
   };
-  vendorSha256 = "sha256-r4/WTzI1unvmjKOSJsaHVkws2/qWLuRrHLlzwckrm2Q=";
+  vendorSha256 = "sha256-NgOpnCe0uGQVDVKYUIULqPTfvfkDtxIUQiCVwiE7nuc=";
 
   preBuild = ''
     buildFlagsArray+=("-ldflags" "-s -w -X main.version=v${version} -X main.prerelease=")
diff --git a/pkgs/development/tools/misc/texlab/default.nix b/pkgs/development/tools/misc/texlab/default.nix
index 2fcda04cb4348..42a30cce8eb91 100644
--- a/pkgs/development/tools/misc/texlab/default.nix
+++ b/pkgs/development/tools/misc/texlab/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "texlab";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "latex-lsp";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-h08RRcuQG1IjuCA6Xk71+MXKprZ/w5+H2edbG3rtVSY=";
+    hash = "sha256-iXsV7zt190GH0kTMpdmf8xHk4cqtCVwq6LDICmhe5qU=";
   };
 
-  cargoHash = "sha256-78S9Bmq6TIMiAV3HpMC8jK9fH+0Y+jXAW9V1Druyfg8=";
+  cargoHash = "sha256-Yqn6VpAKw93QvkxuwNcYvrQm0C4TfisRDcmFy95/yw8=";
 
   outputs = [ "out" "man" ];
 
diff --git a/pkgs/development/tools/misc/unused/default.nix b/pkgs/development/tools/misc/unused/default.nix
index 58e4ba0bc98ec..ee89df5d83910 100644
--- a/pkgs/development/tools/misc/unused/default.nix
+++ b/pkgs/development/tools/misc/unused/default.nix
@@ -1,18 +1,18 @@
 { lib, fetchFromGitHub, rustPlatform, cmake }:
 rustPlatform.buildRustPackage rec {
   pname = "unused";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "unused-code";
     repo = pname;
     rev = version;
-    sha256 = "06r6m7k570rdm9szghnp3g4r6ij0vp8apfanqzzxv2hd7gf8v62b";
+    sha256 = "0igpf0y45rrdrwq8bznq0d5nnph0vijvn6fw96mqxhbffz0csbi9";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  cargoSha256 = "0y7vsba4r4v2lwf02i2dxwicnhknajbbzsdlnn5srvg6nvl3kspi";
+  cargoSha256 = "1fngn9mmvx7jw8305w465z0nf9acc2cdl7314p77c2rz25z6rlin";
 
   meta = with lib; {
     description = "A tool to identify potentially unused code";
diff --git a/pkgs/development/tools/rust/cargo-cache/default.nix b/pkgs/development/tools/rust/cargo-cache/default.nix
index 092a0a10b1a03..12d9bd6bb0364 100644
--- a/pkgs/development/tools/rust/cargo-cache/default.nix
+++ b/pkgs/development/tools/rust/cargo-cache/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-cache";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "matthiaskrgr";
     repo = pname;
     rev = version;
-    sha256 = "sha256-/xP6TQcLyY1XC8r5SCkwej/I6fMaV5PqNNuvK1WbmeM=";
+    sha256 = "sha256-y6rvdY9511XScxLWPrH9aUFgSmRYmGqKE56MPBTH9OM=";
   };
 
-  cargoSha256 = "sha256-1ZNbqydRsXmMGLhqPrgNAE8bhpZCMAJO/YQbOvtiS/s=";
+  cargoSha256 = "sha256-H6MBAXrKu4hZwx3lGHN6YMuYzeb21Zq0tVlF/lsQmLI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/development/tools/rust/cargo-udeps/default.nix b/pkgs/development/tools/rust/cargo-udeps/default.nix
index 968a6ce457f15..0a76ae0202c4a 100644
--- a/pkgs/development/tools/rust/cargo-udeps/default.nix
+++ b/pkgs/development/tools/rust/cargo-udeps/default.nix
@@ -1,22 +1,23 @@
-{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, CoreServices, Security, libiconv }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, openssl, CoreServices, Security, libiconv, SystemConfiguration }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-udeps";
-  version = "0.1.21";
+  version = "0.1.22";
 
   src = fetchFromGitHub {
     owner = "est31";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Voei7j3WRDu70NkcJvjqPJ4ikOUupOhvFNEHHRyF6/Q=";
+    sha256 = "sha256-z92q0uwL832Ph7sTpWpaa8e9Xrik9wnjQ7LBy/hY8KE=";
   };
 
-  cargoSha256 = "sha256-zMya7bEehNKIfwQtJ252sflg06P4Ra8/lgBjn4UUqRg=";
+  cargoSha256 = "sha256-4HguNyPIjpFqa80dDVFgXDK7pHOuFJdpFNxLARXxT2g=";
 
   nativeBuildInputs = [ pkg-config ];
 
+  # TODO figure out how to use provided curl instead of compiling curl from curl-sys
   buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ CoreServices Security libiconv ];
+    ++ lib.optionals stdenv.isDarwin [ CoreServices Security libiconv SystemConfiguration ];
 
   # Requires network access
   doCheck = false;
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index b26449ba7c734..117ac7ba00a3a 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ihb6hq1va6nj7d2883m9gdhzrwmcsw7z0fxqkhs9scv4i9x6s9d";
+    sha256 = "1p6k5al8vvafz2w4z27jnyw8w2cp316h70dlx40ir4c3lk511n2j";
   };
 
-  cargoSha256 = "04gm9drb4qh1sdzqqdj3lwb462y22sz24gjr6nw3sd2a0iqhsknf";
+  cargoSha256 = "0ssfny11pv2b4zz7lh28cv603slp54pbcgj18y9k7b6jjajrz67q";
 
   cargoBuildFlags = lib.optionals lua52Support [ "--features" "lua52" ]
     ++ lib.optionals luauSupport [ "--features" "luau" ];
diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix
index 7fe4a6087f794..263d92dcea635 100644
--- a/pkgs/games/blackshades/default.nix
+++ b/pkgs/games/blackshades/default.nix
@@ -1,34 +1,37 @@
-{lib, stdenv, fetchsvn, SDL, libGLU, libGL, openal, libvorbis, freealut, SDL_image}:
+{ lib, stdenv, fetchFromSourcehut
+, SDL, SDL_image, libGLU, libGL, openal, libvorbis, freealut }:
 
-stdenv.mkDerivation {
-  name = "blackshades-svn-110";
-  src = fetchsvn {
-    url = "svn://svn.icculus.org/blackshades/trunk";
-    rev = "110";
-    sha256 = "0kbrh1dympk8scjxr6av24qs2bffz44l8qmw2m5gyqf4g3rxf6ra";
-  };
+stdenv.mkDerivation rec {
+  pname = "blackshades";
+  version = "1.1.1";
 
-  NIX_LDFLAGS = "-lSDL_image";
+  src = fetchFromSourcehut {
+    owner = "~cnx";
+    repo = pname;
+    rev = version;
+    sha256 = "1gx43hcqahbd21ib8blhzmsrwqfzx4qy7f10ck0mh2zc4bfihz64";
+  };
 
   buildInputs = [ SDL SDL_image libGLU libGL openal libvorbis freealut ];
 
   patchPhase = ''
-    sed -i -e s,Data/,$out/opt/$name/Data/,g \
-      -e s,Data:,$out/opt/$name/Data/,g \
-      Source/*.cpp
+    sed -i -e s,Data/,$out/share/$pname/,g \
+      -e s,Data:,$out/share/$pname/,g \
+      src/*.cpp
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/opt/$name
-    cp objs/blackshades $out/bin
-    cp -R Data IF* Readme $out/opt/$name/
+    mkdir -p $out/bin $out/share/doc/$pname
+    cp build/blackshades $out/bin
+    cp -R Data $out/share/$pname
+    cp README.md $out/share/doc/$pname
   '';
 
   meta = {
-    homepage = "http://icculus.org/blackshades/";
-    description = "Protect the VIP";
-    license = lib.licenses.free;
-    maintainers = with lib.maintainers; [viric];
+    homepage = "https://sr.ht/~cnx/blackshades";
+    description = "A psychic bodyguard FPS";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ McSinyx viric ];
     platforms = with lib.platforms; linux;
   };
 }
diff --git a/pkgs/games/factorio/update.py b/pkgs/games/factorio/update.py
index b1cdce6b4aa1c..3806ba3614f16 100755
--- a/pkgs/games/factorio/update.py
+++ b/pkgs/games/factorio/update.py
@@ -80,6 +80,12 @@ def fetch_versions() -> FactorioVersionsJSON:
 def generate_our_versions(factorio_versions: FactorioVersionsJSON) -> OurVersionJSON:
     rec_dd = lambda: defaultdict(rec_dd)
     output = rec_dd()
+
+    # Deal with times where there's no experimental version
+    for rc in RELEASE_CHANNELS:
+        if not factorio_versions[rc.name]:
+            factorio_versions[rc.name] = factorio_versions['stable']
+
     for system in SYSTEMS:
         for release_type in RELEASE_TYPES:
             for release_channel in RELEASE_CHANNELS:
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index 29c2d6a7bb3f0..b230d94cfa530 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,56 +2,56 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.34.tar.xz",
+        "name": "factorio_alpha_x64-1.1.35.tar.xz",
         "needsAuth": true,
-        "sha256": "1gba6ivxdhj8khk6kfja2nzvqbbjlq1gzk8vlb23mkzqcmf4gnqc",
+        "sha256": "1svjjpyffdrmll1b3icsrikfi4v2r1z6j7iqq0v36iq0zw7vw3bk",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.34/alpha/linux64",
-        "version": "1.1.34"
+        "url": "https://factorio.com/get-download/1.1.35/alpha/linux64",
+        "version": "1.1.35"
       },
       "stable": {
-        "name": "factorio_alpha_x64-1.1.34.tar.xz",
+        "name": "factorio_alpha_x64-1.1.35.tar.xz",
         "needsAuth": true,
-        "sha256": "1gba6ivxdhj8khk6kfja2nzvqbbjlq1gzk8vlb23mkzqcmf4gnqc",
+        "sha256": "1svjjpyffdrmll1b3icsrikfi4v2r1z6j7iqq0v36iq0zw7vw3bk",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.34/alpha/linux64",
-        "version": "1.1.34"
+        "url": "https://factorio.com/get-download/1.1.35/alpha/linux64",
+        "version": "1.1.35"
       }
     },
     "demo": {
       "experimental": {
-        "name": "factorio_demo_x64-1.1.30.tar.xz",
+        "name": "factorio_demo_x64-1.1.35.tar.xz",
         "needsAuth": false,
-        "sha256": "1b3na8xn9lhlvrsd6hxr130nf9p81s26n25a4qdgkczz6waysgjv",
+        "sha256": "0yqb4gf2avpxr4vwafws9pv74xyd9g84zggfikfc801ldc7sp29f",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.30/demo/linux64",
-        "version": "1.1.30"
+        "url": "https://factorio.com/get-download/1.1.35/demo/linux64",
+        "version": "1.1.35"
       },
       "stable": {
-        "name": "factorio_demo_x64-1.1.34.tar.xz",
+        "name": "factorio_demo_x64-1.1.35.tar.xz",
         "needsAuth": false,
-        "sha256": "1ld373lxfx1xbaqq394az8sxfxpjwkyqwwr77wbmg4sm2g9dinxm",
+        "sha256": "0yqb4gf2avpxr4vwafws9pv74xyd9g84zggfikfc801ldc7sp29f",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.34/demo/linux64",
-        "version": "1.1.34"
+        "url": "https://factorio.com/get-download/1.1.35/demo/linux64",
+        "version": "1.1.35"
       }
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.34.tar.xz",
+        "name": "factorio_headless_x64-1.1.35.tar.xz",
         "needsAuth": false,
-        "sha256": "0sfafdvfhhvxnhf7q23xnvckx8nihg5xzzc6dw39a3iprwhr75i1",
+        "sha256": "0xpiw89ad6cfpc576g5jpsyzwjncs3jrx01056p52wj01747fm94",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.34/headless/linux64",
-        "version": "1.1.34"
+        "url": "https://factorio.com/get-download/1.1.35/headless/linux64",
+        "version": "1.1.35"
       },
       "stable": {
-        "name": "factorio_headless_x64-1.1.34.tar.xz",
+        "name": "factorio_headless_x64-1.1.35.tar.xz",
         "needsAuth": false,
-        "sha256": "0sfafdvfhhvxnhf7q23xnvckx8nihg5xzzc6dw39a3iprwhr75i1",
+        "sha256": "0xpiw89ad6cfpc576g5jpsyzwjncs3jrx01056p52wj01747fm94",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.34/headless/linux64",
-        "version": "1.1.34"
+        "url": "https://factorio.com/get-download/1.1.35/headless/linux64",
+        "version": "1.1.35"
       }
     }
   }
diff --git a/pkgs/misc/emulators/commander-x16/emulator.nix b/pkgs/misc/emulators/commanderx16/emulator.nix
index 73442215ff1ea..73442215ff1ea 100644
--- a/pkgs/misc/emulators/commander-x16/emulator.nix
+++ b/pkgs/misc/emulators/commanderx16/emulator.nix
diff --git a/pkgs/misc/emulators/commander-x16/rom.nix b/pkgs/misc/emulators/commanderx16/rom.nix
index 5da77ebceefe2..5da77ebceefe2 100644
--- a/pkgs/misc/emulators/commander-x16/rom.nix
+++ b/pkgs/misc/emulators/commanderx16/rom.nix
diff --git a/pkgs/misc/emulators/commanderx16/run.nix b/pkgs/misc/emulators/commanderx16/run.nix
new file mode 100644
index 0000000000000..cf14252b487cb
--- /dev/null
+++ b/pkgs/misc/emulators/commanderx16/run.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, runtimeShell
+, symlinkJoin
+, writeTextFile
+}:
+
+{ emulator, rom }:
+
+assert emulator.version == rom.version;
+
+let
+  runScript = writeTextFile {
+    name = "run-x16";
+    text = ''
+      #!${runtimeShell}
+
+      defaultRom="${rom}/share/x16-rom/rom.bin"
+
+      exec "${emulator}/bin/x16emu" -rom $defaultRom "$@"
+    '';
+    executable = true;
+    destination = "/bin/run-x16";
+  };
+in
+symlinkJoin {
+  name = "run-x16-${emulator.version}";
+
+  paths = [
+    emulator
+    rom
+    runScript
+  ];
+}
+# TODO [ AndersonTorres ]:
+
+# 1. Parse the command line in order to allow the user to set an optional
+# rom-file
+# 2. generate runScript based on symlinkJoin (maybe a postBuild?)
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 17b22ce072343..600528a794449 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, pam ? null, libX11, libXext, libXinerama
-, libXdmcp, libXt }:
+, libXdmcp, libXt, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "xlockmore-5.66";
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
   };
 
   # Optionally, it can use GTK.
-  buildInputs = [ pam libX11 libXext libXinerama libXdmcp libXt ];
+  buildInputs = [ pam libX11 libXext.dev libXinerama libXdmcp libXt ];
+  nativeBuildInputs = [ autoreconfHook ];
 
   # Don't try to install `xlock' setuid. Password authentication works
   # fine via PAM without super user privileges.
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index 1c54a455f7a3a..d4b7071117fdd 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -670,6 +670,23 @@ let
         };
       };
 
+      ionide.ionide-fsharp = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "Ionide-fsharp";
+          publisher = "Ionide";
+          version = "5.5.5";
+          sha256 = "xrBNiIbZVJ0sGUk/4PudD8kSyX94QkrFtf7Ho/sB0Vs=";
+        };
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/Ionide.Ionide-fsharp/changelog";
+          description = "Enhanced F# Language Features for Visual Studio Code";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=Ionide.Ionide-fsharp";
+          homepage = "https://ionide.io";
+          license = licenses.mit;
+          maintainers = with maintainers; [ ratsclub ];
+        };
+      };
+
       jakebecker.elixir-ls = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "elixir-ls";
@@ -1152,6 +1169,23 @@ let
         };
       };
 
+      svsool.markdown-memo = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "markdown-memo";
+          publisher = "svsool";
+          version = "0.3.8";
+          sha256 = "eFiCCXxrOnXwJK1AOMfIDsPGsFG3ArLD1X/uAEH5lRY=";
+        };
+        meta = with lib; {
+          changelog = "https://marketplace.visualstudio.com/items/svsool.markdown-memo/changelog";
+          description = "Markdown knowledge base with bidirectional [[link]]s built on top of VSCode";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=svsool.markdown-memo";
+          homepage = "https://github.com/svsool/vscode-memo";
+          license = licenses.mit;
+          maintainers = with maintainers; [ ratsclub ];
+        };
+      };
+
       tamasfe.even-better-toml = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "even-better-toml";
diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index b3cacfc1d45af..1fb963c56c67f 100644
--- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -1,18 +1,18 @@
 { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args:
 
 let
-  version = "5.12.11";
+  version = "5.12.12";
   suffix = "xanmod1-cacule";
 in
 buildLinux (args // rec {
-  modDirVersion = "${version}-${suffix}";
   inherit version;
+  modDirVersion = "${version}-${suffix}";
 
   src = fetchFromGitHub {
     owner = "xanmod";
     repo = "linux";
     rev = modDirVersion;
-    sha256 = "sha256-EQ52Leg7i1Xb2b29JbaKFKRE/jKXB48GXhbM/Ay5QTY=";
+    sha256 = "sha256-99gVqdYhnBx3MDTCCHbxsljmvi+DixHp19vtNwCRM/M=";
   };
 
   extraMeta = {
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index b68b0ee4979e6..62684b3c0ba3a 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -186,7 +186,7 @@
     "dnsip" = ps: with ps; [ aiodns ];
     "dominos" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pizzapi
     "doods" = ps: with ps; [ pillow ]; # missing inputs: pydoods
-    "doorbird" = ps: with ps; [ aiohttp-cors ]; # missing inputs: doorbirdpy
+    "doorbird" = ps: with ps; [ aiohttp-cors doorbirdpy ];
     "dovado" = ps: with ps; [ ]; # missing inputs: dovado
     "downloader" = ps: with ps; [ ];
     "dsmr" = ps: with ps; [ dsmr-parser ];
@@ -203,17 +203,17 @@
     "ebox" = ps: with ps; [ ]; # missing inputs: pyebox
     "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
     "ecoal_boiler" = ps: with ps; [ ]; # missing inputs: ecoaliface
-    "ecobee" = ps: with ps; [ ]; # missing inputs: python-ecobee-api
+    "ecobee" = ps: with ps; [ python-ecobee-api ];
     "econet" = ps: with ps; [ pyeconet ];
     "ecovacs" = ps: with ps; [ ]; # missing inputs: sucks
     "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan]
     "edimax" = ps: with ps; [ pyedimax ];
     "edl21" = ps: with ps; [ ]; # missing inputs: pysml
-    "ee_brightbox" = ps: with ps; [ ]; # missing inputs: eebrightbox
+    "ee_brightbox" = ps: with ps; [ eebrightbox ];
     "efergy" = ps: with ps; [ ];
     "egardia" = ps: with ps; [ pythonegardia ];
     "eight_sleep" = ps: with ps; [ pyeight ];
-    "elgato" = ps: with ps; [ ]; # missing inputs: elgato
+    "elgato" = ps: with ps; [ elgato ];
     "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline
     "elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib
     "elv" = ps: with ps; [ ]; # missing inputs: pypca
@@ -222,17 +222,17 @@
     "emoncms_history" = ps: with ps; [ ];
     "emonitor" = ps: with ps; [ aioemonitor ];
     "emulated_hue" = ps: with ps; [ aiohttp-cors ];
-    "emulated_kasa" = ps: with ps; [ ]; # missing inputs: sense_energy
-    "emulated_roku" = ps: with ps; [ ]; # missing inputs: emulated_roku
+    "emulated_kasa" = ps: with ps; [ sense-energy ];
+    "emulated_roku" = ps: with ps; [ emulated-roku ];
     "enigma2" = ps: with ps; [ openwebifpy ];
-    "enocean" = ps: with ps; [ ]; # missing inputs: enocean
+    "enocean" = ps: with ps; [ enocean ];
     "enphase_envoy" = ps: with ps; [ envoy-reader ];
     "entur_public_transport" = ps: with ps; [ ]; # missing inputs: enturclient
     "environment_canada" = ps: with ps; [ ]; # missing inputs: env_canada
     "envirophat" = ps: with ps; [ smbus-cffi ]; # missing inputs: envirophat
     "envisalink" = ps: with ps; [ pyenvisalink ];
     "ephember" = ps: with ps; [ ]; # missing inputs: pyephember
-    "epson" = ps: with ps; [ ]; # missing inputs: epson-projector
+    "epson" = ps: with ps; [ epson-projector ];
     "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter
     "eq3btsmart" = ps: with ps; [ construct ]; # missing inputs: python-eq3bt
     "esphome" = ps: with ps; [ aioesphomeapi aiohttp-cors ifaddr zeroconf ];
@@ -335,8 +335,8 @@
     "gstreamer" = ps: with ps; [ ]; # missing inputs: gstreamer-player
     "gtfs" = ps: with ps; [ pygtfs ];
     "guardian" = ps: with ps; [ aioguardian ];
-    "habitica" = ps: with ps; [ ]; # missing inputs: habitipy
-    "hangouts" = ps: with ps; [ ]; # missing inputs: hangups
+    "habitica" = ps: with ps; [ habitipy ];
+    "hangouts" = ps: with ps; [ hangups ];
     "harman_kardon_avr" = ps: with ps; [ ]; # missing inputs: hkavr
     "harmony" = ps: with ps; [ aioharmony ];
     "hassio" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow ];
@@ -344,7 +344,7 @@
     "hddtemp" = ps: with ps; [ ];
     "hdmi_cec" = ps: with ps; [ pycec ];
     "heatmiser" = ps: with ps; [ ]; # missing inputs: heatmiserV3
-    "heos" = ps: with ps; [ ]; # missing inputs: pyheos
+    "heos" = ps: with ps; [ pyheos ];
     "here_travel_time" = ps: with ps; [ ]; # missing inputs: herepy
     "hikvision" = ps: with ps; [ ]; # missing inputs: pyhik
     "hikvisioncam" = ps: with ps; [ ]; # missing inputs: hikvision
@@ -352,7 +352,7 @@
     "history" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "history_stats" = ps: with ps; [ sqlalchemy ];
     "hitron_coda" = ps: with ps; [ ];
-    "hive" = ps: with ps; [ ]; # missing inputs: pyhiveapi
+    "hive" = ps: with ps; [ pyhiveapi ];
     "hlk_sw16" = ps: with ps; [ ]; # missing inputs: hlk-sw16
     "home_connect" = ps: with ps; [ aiohttp-cors homeconnect ];
     "home_plus_control" = ps: with ps; [ aiohttp-cors homepluscontrol ];
@@ -503,7 +503,7 @@
     "meteoclimatic" = ps: with ps; [ pymeteoclimatic ];
     "metoffice" = ps: with ps; [ ]; # missing inputs: datapoint
     "mfi" = ps: with ps; [ ]; # missing inputs: mficlient
-    "mhz19" = ps: with ps; [ ]; # missing inputs: pmsensor
+    "mhz19" = ps: with ps; [ pmsensor ];
     "microsoft" = ps: with ps; [ ]; # missing inputs: pycsspeechtts
     "microsoft_face" = ps: with ps; [ aiohttp-cors ];
     "microsoft_face_detect" = ps: with ps; [ aiohttp-cors ];
@@ -733,13 +733,13 @@
     "search" = ps: with ps; [ aiohttp-cors ];
     "season" = ps: with ps; [ ephem ];
     "sendgrid" = ps: with ps; [ sendgrid ];
-    "sense" = ps: with ps; [ ]; # missing inputs: sense_energy
+    "sense" = ps: with ps; [ sense-energy ];
     "sensehat" = ps: with ps; [ ]; # missing inputs: sense-hat
     "sensibo" = ps: with ps; [ ]; # missing inputs: pysensibo
     "sensor" = ps: with ps; [ sqlalchemy ];
     "sentry" = ps: with ps; [ sentry-sdk ];
     "serial" = ps: with ps; [ pyserial-asyncio ];
-    "serial_pm" = ps: with ps; [ ]; # missing inputs: pmsensor
+    "serial_pm" = ps: with ps; [ pmsensor ];
     "sesame" = ps: with ps; [ ]; # missing inputs: pysesame2
     "seven_segments" = ps: with ps; [ pillow ];
     "seventeentrack" = ps: with ps; [ ]; # missing inputs: py17track
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 2f863f584d594..53cb0cac84302 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -134,6 +134,19 @@ let
       });
     })
 
+    # Pinned due to API changes in eebrightbox>=0.0.5
+    (self: super: {
+      eebrightbox = super.eebrightbox.overridePythonAttrs (oldAttrs: rec {
+        version = "0.0.4";
+        src = fetchFromGitHub {
+          owner = "krygal";
+          repo = "eebrightbox";
+          rev = version;
+          sha256 = "0d8mmpwgrd7gymw5263r1v2wjv6dx6w6pq13d62fkfm4h2hya4a4";
+        };
+      });
+    })
+
     # home-assistant-frontend does not exist in python3.pkgs
     (self: super: {
       home-assistant-frontend = self.callPackage ./frontend.nix { };
@@ -344,17 +357,25 @@ in with py.pkgs; buildPythonApplication rec {
     "dialogflow"
     "directv"
     "discovery"
+    "doorbird"
     "dsmr"
     "dte_energy_bridge"
     "duckdns"
     "dunehd"
     "dyson"
     "eafm"
+    "ecobee"
     "econet"
+    "ee_brightbox"
     "efergy"
+    "elgato"
     "emonitor"
     "emulated_hue"
+    "emulated_kasa"
+    "emulated_roku"
+    "enocean"
     "enphase_envoy"
+    "epson"
     "esphome"
     "everlights"
     "ezviz"
@@ -414,11 +435,15 @@ in with py.pkgs; buildPythonApplication rec {
     "group"
     "growatt_server"
     "guardian"
+    "habitica"
+    "hangouts"
     "harmony"
     "hassio"
     "hddtemp"
+    "heos"
     "history"
     "history_stats"
+    "hive"
     "home_connect"
     "home_plus_control"
     "homeassistant"
@@ -484,6 +509,7 @@ in with py.pkgs; buildPythonApplication rec {
     "met"
     "met_eireann"
     "meteoclimatic"
+    "mhz19"
     "microsoft_face"
     "microsoft_face_detect"
     "microsoft_face_identify"
@@ -579,6 +605,7 @@ in with py.pkgs; buildPythonApplication rec {
     "script"
     "search"
     "season"
+    "sense"
     "sensor"
     "sentry"
     "sharkiq"
diff --git a/pkgs/servers/imgproxy/default.nix b/pkgs/servers/imgproxy/default.nix
index 780b3c5eb20ca..b0d0136024175 100644
--- a/pkgs/servers/imgproxy/default.nix
+++ b/pkgs/servers/imgproxy/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "imgproxy";
-  version = "2.16.3";
+  version = "2.16.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    sha256 = "sha256-WK5TAI+dYmBLNp1A0p9DbWF7ZEw3dqr+Cuwy7LzrdBM=";
+    sha256 = "sha256-25oOGkTc19PHlU0Va7IPKrvGK9pDrGqKZa6qNFMVphQ=";
     rev = "v${version}";
   };
 
-  vendorSha256 = "sha256-7IpMgsATQ1SMuBOF9agHIN2Lx6OKxRr0Zk5SRFxHiQ4=";
+  vendorSha256 = "sha256-y8cXe4+jTLnM7K+na2VHGXkPgZjFYdgtDd14D8KiCas=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index d785240398583..0bd0227ece6f6 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.234";
+  version = "0.18.345";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "sha256-F01iR1BdSWCBqBI+Mh8uyzWKIbiMR2tOW6sJgFU3hG8=";
+    sha256 = "sha256-cCUlKyndKAU57hSRZYWqwOthfjIirE5c95HRETnFEiA=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/jellyfin/default.nix b/pkgs/servers/jellyfin/default.nix
index 636a1b6d02a0d..8164330c55666 100644
--- a/pkgs/servers/jellyfin/default.nix
+++ b/pkgs/servers/jellyfin/default.nix
@@ -41,13 +41,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jellyfin";
-  version = "10.7.5"; # ensure that jellyfin-web has matching version
+  version = "10.7.6"; # ensure that jellyfin-web has matching version
 
   src = fetchFromGitHub {
     owner = "jellyfin";
     repo = "jellyfin";
     rev = "v${version}";
-    sha256 = "DlbNZpomNki9zrfG0C7He0Xrq79vx4Rn8ixpekvk34E=";
+    sha256 = "3wXB9HrOaLgHJjWpwPWVtcy8xcYBgZoE29hWqf1On2Q=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/jellyfin/web.nix b/pkgs/servers/jellyfin/web.nix
index 1bd4a305a7ad1..fe7f577bf47c4 100644
--- a/pkgs/servers/jellyfin/web.nix
+++ b/pkgs/servers/jellyfin/web.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "jellyfin-web";
-  version = "10.7.5";
+  version = "10.7.6";
   # TODO: on the next major release remove src.postFetch
   # and use the lock file in web-update.sh:
   # https://github.com/jellyfin/jellyfin-web/commit/6efef9680d55a93f4333ef8bfb65a8a650c99a49
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "jellyfin";
     repo = "jellyfin-web";
     rev = "v${version}";
-    sha256 = "5y6hWEDxY5WbOUdjujmuMV3bQVvYU2J9oIANBVN5XOc=";
+    sha256 = "T5a17mAvx7fLla2jQp1dNswijeUbBQB1RA1ZkVpLWqM=";
     postFetch = ''
       mkdir -p $out
       cd $out
diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix
index 43fb374fe1178..3ba6f32704257 100644
--- a/pkgs/servers/web-apps/searx/default.nix
+++ b/pkgs/servers/web-apps/searx/default.nix
@@ -1,4 +1,4 @@
-{ lib, nixosTests, python3, python3Packages, fetchFromGitHub }:
+{ lib, nixosTests, python3, python3Packages, fetchFromGitHub, fetchpatch }:
 
 with python3Packages;
 
@@ -14,6 +14,14 @@ toPythonModule (buildPythonApplication rec {
     sha256 = "0ghkx8g8jnh8yd46p4mlbjn2zm12nx27v7qflr4c8xhlgi0px0mh";
   };
 
+  patches = [
+    # Fix a crash, remove with the next update
+    (fetchpatch {
+      url = "https://github.com/searx/searx/commit/9c10b150963babb7f0b52081693a42b2e61eede9.patch";
+      sha256 = "0svp8799628wja2hq59da6rxqi99am8p6hb8y27ciwzsjz0wwba7";
+    })
+  ];
+
   postPatch = ''
     sed -i 's/==.*$//' requirements.txt
   '';
diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index 2ffd10e3a6adf..ddc5b28e5e09d 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hilbish";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "Rosettea";
     repo = "Hilbish";
     rev = "v${version}";
-    sha256 = "sha256-cYpGTk0adT3X/elrJW2Wjv4SbPvgeyYmsOHTrft8678=";
+    sha256 = "sha256-xqGesBNN9lZTYx0kTZfFARq1a/dEC+c3Fo0xLxZuZP4=";
   };
 
   vendorSha256 = "sha256-8l+Kb1ADMLwv0Hf/ikok8eUcEEST07rhk8BjHxJI0lc=";
diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix
index 8f4b9bf0875cb..e5725a78fc54d 100644
--- a/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -1,24 +1,26 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib, stdenvNoCC, fetchFromGitHub }:
 
-stdenv.mkDerivation rec {
+stdenvNoCC.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "3.11.2";
+  version = "3.12.6";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
-    repo = "spaceship-prompt";
-    sha256 = "1q7m9mmg82n4fddfz01y95d5n34xnzhrnn1lli0vih39sgmzim9b";
+    repo = pname;
     rev = "v${version}";
+    sha256 = "sha256-tKFah8b62wuw5vaNHddmj31UNd9kKCcQ99p8GlTnR6s=";
   };
 
+  dontBuild = true;
+
   installPhase = ''
-    install -D -m644 LICENSE.md "$out/share/licenses/spaceship-prompt/LICENSE"
-    install -D -m644 README.md "$out/share/doc/spaceship-prompt/README.md"
-    find docs -type f -exec install -D -m644 {} "$out/share/doc/spaceship-prompt/{}" \;
-    find lib -type f -exec install -D -m644 {} "$out/lib/spaceship-prompt/{}" \;
-    find scripts -type f -exec install -D -m644 {} "$out/lib/spaceship-prompt/{}" \;
-    find sections -type f -exec install -D -m644 {} "$out/lib/spaceship-prompt/{}" \;
-    install -D -m644 spaceship.zsh "$out/lib/spaceship-prompt/spaceship.zsh"
+    install -Dm644 LICENSE.md "$out/share/licenses/spaceship-prompt/LICENSE"
+    install -Dm644 README.md "$out/share/doc/spaceship-prompt/README.md"
+    find docs -type f -exec install -Dm644 {} "$out/share/doc/spaceship-prompt/{}" \;
+    find lib -type f -exec install -Dm644 {} "$out/lib/spaceship-prompt/{}" \;
+    find scripts -type f -exec install -Dm644 {} "$out/lib/spaceship-prompt/{}" \;
+    find sections -type f -exec install -Dm644 {} "$out/lib/spaceship-prompt/{}" \;
+    install -Dm644 spaceship.zsh "$out/lib/spaceship-prompt/spaceship.zsh"
     install -d "$out/share/zsh/themes/"
     ln -s "$out/lib/spaceship-prompt/spaceship.zsh" "$out/share/zsh/themes/spaceship.zsh-theme"
     install -d "$out/share/zsh/site-functions/"
@@ -28,8 +30,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Zsh prompt for Astronauts";
     homepage = "https://github.com/denysdovhan/spaceship-prompt/";
+    changelog = "https://github.com/spaceship-prompt/spaceship-prompt/releases/tag/v${version}";
     license = licenses.mit;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ nyanloutre ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ nyanloutre fortuneteller2k ];
   };
 }
diff --git a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
index b3a1c191cd3bc..419863044b5d6 100644
--- a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
@@ -7,13 +7,13 @@ let
   # match gitstatus version with given `gitstatus_version`:
   # https://github.com/romkatv/powerlevel10k/blob/master/gitstatus/build.info
   gitstatus = pkgs.gitstatus.overrideAttrs (oldAtttrs: rec {
-    version = "1.3.1";
+    version = "1.5.1";
 
     src = fetchFromGitHub {
       owner = "romkatv";
       repo = "gitstatus";
       rev = "v${version}";
-      sha256 = "03zaywncds7pjrl07rvdf3fh39gnp2zfvgsf0afqwv317sgmgpzf";
+      sha256 = "1ffgh5826985phc8amvzl9iydvsnij5brh4gczfh201vfmw9d4hh";
     };
   });
 in
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 62d07486214a2..53b60bf2ce786 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.32.0";
+  version = "1.32.1";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-SQWGFF43J730XFj32ZU2N8PQMP2yIiSLLfEIAbeJvBg=";
+    sha256 = "sha256-S18SVSyFpIWkzQiRBY7i1siIPRiRR/SHAse3NJzwR3A=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch b/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch
new file mode 100644
index 0000000000000..36adff53a011b
--- /dev/null
+++ b/pkgs/tools/audio/opl3bankeditor/0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch
@@ -0,0 +1,200 @@
+From 11711398a1ec16f4eaeac8523b77165a560b69cc Mon Sep 17 00:00:00 2001
+From: OPNA2608 <christoph.neidahl@gmail.com>
+Date: Sun, 13 Jun 2021 13:55:53 +0200
+Subject: [PATCH] Look for system-installed Rt libs
+
+---
+ CMakeLists.txt | 159 +++++++++++++++++++++++++++++++------------------
+ 1 file changed, 102 insertions(+), 57 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f3e53c3..027c1b1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,15 +50,6 @@ message("!! Optional feature summary:")
+ message("!!   RtMidi: ${USE_RTMIDI}")
+ message("!!   RtAudio: ${USE_RTAUDIO}")
+ 
+-if(USE_RTAUDIO)
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    pkg_check_modules(JACK "jack")
+-    message("!!   -- Jack driver: ${JACK_FOUND}")
+-    pkg_check_modules(PULSEAUDIO "libpulse-simple")
+-    message("!!   -- Pulseaudio driver: ${PULSEAUDIO_FOUND}")
+-  endif()
+-endif()
+-
+ if(ENABLE_PLOTS)
+   message("!!   Qwt: ${QWT_LIBRARY}")
+ endif()
+@@ -250,65 +241,119 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ endif()
+ 
+ if(USE_RTMIDI)
+-  add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
+-  target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtMidi PUBLIC "asound")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
+-    target_link_libraries(RtMidi PUBLIC "winmm")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
+-    find_library(COREMIDI_LIBRARY "CoreMIDI")
+-    target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTMIDI rtmidi)
++    if(RTMIDI_FOUND)
++      message("Using system-installed RtMidi found by pkg-config.")
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTMIDI_LDFLAGS})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++      target_compile_options(OPL3BankEditor PUBLIC ${RTMIDI_CFLAGS})
++    endif()
+   endif()
++
++  if(NOT RTMIDI_FOUND)
++    find_library(RTMIDI_LIBRARY "rtmidi")
++    find_path(RTMIDI_INCLUDE_DIRS "RtMidi.h")
++    message("RtMidi library: ${RTMIDI_LIBRARY}")
++    message("RtMidi header directory: ${RTMIDI_INCLUDE_DIRS}")
++    if(NOT RTMIDI_LIBRARY-NOTFOUND AND NOT RTMIDI_INCLUDE_DIRS STREQUAL RTMIDI_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtMidi.")
++      set(RTMIDI_FOUND TRUE)
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTMIDI_LIBRARY})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++    endif()
++  endif()
++
++  if(NOT RTMIDI_FOUND)
++    message("Using bundled RtMidi.")
++    add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
++    target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtMidi PUBLIC "asound")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
++      target_link_libraries(RtMidi PUBLIC "winmm")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
++      find_library(COREMIDI_LIBRARY "CoreMIDI")
++      target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++    endif()
++    target_link_libraries(OPL3BankEditor PRIVATE RtMidi)
++  endif()
++
+   target_sources(OPL3BankEditor PRIVATE "src/midi/midi_rtmidi.cpp")
+   target_compile_definitions(OPL3BankEditor PRIVATE "ENABLE_MIDI")
+-  target_link_libraries(OPL3BankEditor PRIVATE RtMidi)
+ endif()
+ 
+ if(USE_RTAUDIO)
+-  add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
+-  target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtAudio PUBLIC "asound")
+-    if(JACK_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
+-      target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
+-      link_directories(${JACK_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTAUDIO rtaudio)
++    if(RTAUDIO_FOUND)
++      message("Using system-installed RtAudio found by pkg-config.")
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTAUDIO_LDFLAGS})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
++      target_compile_options(OPL3BankEditor PUBLIC ${RTAUDIO_CFLAGS})
++    endif()
++  endif()
++
++  if(NOT RTAUDIO_FOUND)
++    find_library(RTAUDIO_LIBRARY "rtaudio")
++    find_path(RTAUDIO_INCLUDE_DIRS "RtAudio.h")
++    message("RtAudio library: ${RTAUDIO_LIBRARY}")
++    message("RtAudio header directory: ${RTAUDIO_INCLUDE_DIRS}")
++    if(NOT RTAUDIO_LIBRARY-NOTFOUND AND NOT RTAUDIO_INCLUDE_DIRS STREQUAL RTAUDIO_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtAudio.")
++      set(RTAUDIO_FOUND TRUE)
++      target_link_libraries(OPL3BankEditor PUBLIC ${RTAUDIO_LIBRARY})
++      target_include_directories(OPL3BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
+     endif()
+-    if(PULSEAUDIO_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
+-      target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
+-      link_directories(${PULSEAUDIO_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++  endif()
++
++  if(NOT RTAUDIO_FOUND)
++    message("Using bundled RtAudio.")
++    add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
++    target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtAudio PUBLIC "asound")
++      if(JACK_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
++        target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
++        link_directories(${JACK_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++      endif()
++      if(PULSEAUDIO_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
++        target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
++        link_directories(${PULSEAUDIO_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++      endif()
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
++      target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
++      target_link_libraries(RtAudio PUBLIC "ksguid")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
++      target_include_directories(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include")
++      target_sources(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include/asio.cpp"
++        "src/audio/external/rtaudio/include/asiodrivers.cpp"
++        "src/audio/external/rtaudio/include/asiolist.cpp"
++        "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
++      find_library(COREAUDIO_LIBRARY "CoreAudio")
++      target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
++      find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
++      target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
+     endif()
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
+-    target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
+-    target_link_libraries(RtAudio PUBLIC "ksguid")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
+-    target_include_directories(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include")
+-    target_sources(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include/asio.cpp"
+-      "src/audio/external/rtaudio/include/asiodrivers.cpp"
+-      "src/audio/external/rtaudio/include/asiolist.cpp"
+-      "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
+-    find_library(COREAUDIO_LIBRARY "CoreAudio")
+-    target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
+-    find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
+-    target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
++    target_link_libraries(OPL3BankEditor PRIVATE RtAudio)
+   endif()
++
+   target_sources(OPL3BankEditor PRIVATE "src/audio/ao_rtaudio.cpp")
+   target_compile_definitions(OPL3BankEditor PRIVATE "ENABLE_AUDIO_TESTING")
+-  target_link_libraries(OPL3BankEditor PRIVATE RtAudio)
+ endif()
+ 
+ add_executable(measurer_tool
+-- 
+2.29.3
+
diff --git a/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch b/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch
new file mode 100644
index 0000000000000..f62c3236b33fe
--- /dev/null
+++ b/pkgs/tools/audio/opl3bankeditor/0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch
@@ -0,0 +1,200 @@
+From 69c993dacc7dc0cb9d105c3dfa764cd7be5c343e Mon Sep 17 00:00:00 2001
+From: OPNA2608 <christoph.neidahl@gmail.com>
+Date: Sun, 13 Jun 2021 14:21:17 +0200
+Subject: [PATCH] Look for system-installed Rt libs
+
+---
+ CMakeLists.txt | 159 +++++++++++++++++++++++++++++++------------------
+ 1 file changed, 102 insertions(+), 57 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f428dc4..18ba8c3 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,15 +41,6 @@ message("!! Optional feature summary:")
+ message("!!   RtMidi: ${USE_RTMIDI}")
+ message("!!   RtAudio: ${USE_RTAUDIO}")
+ 
+-if(USE_RTAUDIO)
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    pkg_check_modules(JACK "jack")
+-    message("!!   -- Jack driver: ${JACK_FOUND}")
+-    pkg_check_modules(PULSEAUDIO "libpulse-simple")
+-    message("!!   -- Pulseaudio driver: ${PULSEAUDIO_FOUND}")
+-  endif()
+-endif()
+-
+ if(ENABLE_PLOTS)
+   message("!!   Qwt: ${QWT_LIBRARY}")
+ endif()
+@@ -198,65 +189,119 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ endif()
+ 
+ if(USE_RTMIDI)
+-  add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
+-  target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtMidi PUBLIC "asound")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
+-    target_link_libraries(RtMidi PUBLIC "winmm")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
+-    find_library(COREMIDI_LIBRARY "CoreMIDI")
+-    target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTMIDI rtmidi)
++    if(RTMIDI_FOUND)
++      message("Using system-installed RtMidi found by pkg-config.")
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTMIDI_LDFLAGS})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++      target_compile_options(OPN2BankEditor PUBLIC ${RTMIDI_CFLAGS})
++    endif()
++  endif()
++
++  if(NOT RTMIDI_FOUND)
++    find_library(RTMIDI_LIBRARY "rtmidi")
++    find_path(RTMIDI_INCLUDE_DIRS "RtMidi.h")
++    message("RtMidi library: ${RTMIDI_LIBRARY}")
++    message("RtMidi header directory: ${RTMIDI_INCLUDE_DIRS}")
++    if(NOT RTMIDI_LIBRARY-NOTFOUND AND NOT RTMIDI_INCLUDE_DIRS STREQUAL RTMIDI_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtMidi.")
++      set(RTMIDI_FOUND TRUE)
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTMIDI_LIBRARY})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTMIDI_INCLUDE_DIRS})
++    endif()
++  endif()
++
++  if(NOT RTMIDI_FOUND)
++    message("Using bundled RtMidi.")
++    add_library(RtMidi STATIC "src/midi/external/rtmidi/RtMidi.cpp")
++    target_include_directories(RtMidi PUBLIC "src/midi/external/rtmidi")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtMidi PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtMidi PUBLIC "asound")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtMidi PUBLIC "__WINDOWS_MM__")
++      target_link_libraries(RtMidi PUBLIC "winmm")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtMidi PUBLIC "__MACOSX_CORE__")
++      find_library(COREMIDI_LIBRARY "CoreMIDI")
++      target_link_libraries(RtMidi PUBLIC "${COREMIDI_LIBRARY}")
++    endif()
++    target_link_libraries(OPN2BankEditor PRIVATE RtMidi)
+   endif()
++
+   target_sources(OPN2BankEditor PRIVATE "src/midi/midi_rtmidi.cpp")
+   target_compile_definitions(OPN2BankEditor PRIVATE "ENABLE_MIDI")
+-  target_link_libraries(OPN2BankEditor PRIVATE RtMidi)
+ endif()
+ 
+ if(USE_RTAUDIO)
+-  add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
+-  target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
+-  if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+-    target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
+-    target_link_libraries(RtAudio PUBLIC "asound")
+-    if(JACK_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
+-      target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
+-      link_directories(${JACK_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++  if(PKG_CONFIG_FOUND)
++    pkg_check_modules(RTAUDIO rtaudio)
++    if(RTAUDIO_FOUND)
++      message("Using system-installed RtAudio found by pkg-config.")
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTAUDIO_LDFLAGS})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
++      target_compile_options(OPN2BankEditor PUBLIC ${RTAUDIO_CFLAGS})
+     endif()
+-    if(PULSEAUDIO_FOUND)
+-      target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
+-      target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
+-      link_directories(${PULSEAUDIO_LIBRARY_DIRS})
+-      target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++  endif()
++
++  if(NOT RTAUDIO_FOUND)
++    find_library(RTAUDIO_LIBRARY "rtaudio")
++    find_path(RTAUDIO_INCLUDE_DIRS "RtAudio.h")
++    message("RtAudio library: ${RTAUDIO_LIBRARY}")
++    message("RtAudio header directory: ${RTAUDIO_INCLUDE_DIRS}")
++    if(NOT RTAUDIO_LIBRARY-NOTFOUND AND NOT RTAUDIO_INCLUDE_DIRS STREQUAL RTAUDIO_INCLUDE_DIRS-NOTFOUND)
++      message("Using system-installed RtAudio.")
++      set(RTAUDIO_FOUND TRUE)
++      target_link_libraries(OPN2BankEditor PUBLIC ${RTAUDIO_LIBRARY})
++      target_include_directories(OPN2BankEditor PUBLIC ${RTAUDIO_INCLUDE_DIRS})
+     endif()
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
+-    target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
+-    target_link_libraries(RtAudio PUBLIC "ksguid")
+-    target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
+-    target_include_directories(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include")
+-    target_sources(RtAudio PRIVATE
+-      "src/audio/external/rtaudio/include/asio.cpp"
+-      "src/audio/external/rtaudio/include/asiodrivers.cpp"
+-      "src/audio/external/rtaudio/include/asiolist.cpp"
+-      "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
+-  elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+-    target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
+-    find_library(COREAUDIO_LIBRARY "CoreAudio")
+-    target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
+-    find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
+-    target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
+   endif()
++
++  if(NOT RTAUDIO_FOUND)
++    message("Using bundled RtAudio.")
++    add_library(RtAudio STATIC "src/audio/external/rtaudio/RtAudio.cpp")
++    target_include_directories(RtAudio PUBLIC "src/audio/external/rtaudio")
++    if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++      target_compile_definitions(RtAudio PUBLIC "__LINUX_ALSA__")
++      target_link_libraries(RtAudio PUBLIC "asound")
++      if(JACK_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__UNIX_JACK__")
++        target_include_directories(RtAudio PUBLIC ${JACK_INCLUDE_DIRS})
++        link_directories(${JACK_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${JACK_LIBRARIES})
++      endif()
++      if(PULSEAUDIO_FOUND)
++        target_compile_definitions(RtAudio PUBLIC "__LINUX_PULSE__")
++        target_include_directories(RtAudio PUBLIC ${PULSEAUDIO_INCLUDE_DIRS})
++        link_directories(${PULSEAUDIO_LIBRARY_DIRS})
++        target_link_libraries(RtAudio PUBLIC ${PULSEAUDIO_LIBRARIES})
++      endif()
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_DS__")
++      target_link_libraries(RtAudio PUBLIC "dsound" "ole32")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_WASAPI__")
++      target_link_libraries(RtAudio PUBLIC "ksguid")
++      target_compile_definitions(RtAudio PUBLIC "__WINDOWS_ASIO__")
++      target_include_directories(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include")
++      target_sources(RtAudio PRIVATE
++        "src/audio/external/rtaudio/include/asio.cpp"
++        "src/audio/external/rtaudio/include/asiodrivers.cpp"
++        "src/audio/external/rtaudio/include/asiolist.cpp"
++        "src/audio/external/rtaudio/include/iasiothiscallresolver.cpp")
++    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++      target_compile_definitions(RtAudio PUBLIC "__MACOSX_CORE__")
++      find_library(COREAUDIO_LIBRARY "CoreAudio")
++      target_link_libraries(RtAudio PUBLIC "${COREAUDIO_LIBRARY}")
++      find_library(COREFOUNDATION_LIBRARY "CoreFoundation")
++      target_link_libraries(RtAudio PUBLIC "${COREFOUNDATION_LIBRARY}")
++    endif()
++    target_link_libraries(OPN2BankEditor PRIVATE RtAudio)
++  endif()
++
+   target_sources(OPN2BankEditor PRIVATE "src/audio/ao_rtaudio.cpp")
+   target_compile_definitions(OPN2BankEditor PRIVATE "ENABLE_AUDIO_TESTING")
+-  target_link_libraries(OPN2BankEditor PRIVATE RtAudio)
+ endif()
+ 
+ add_executable(measurer_tool
+-- 
+2.29.3
+
diff --git a/pkgs/tools/audio/opl3bankeditor/common.nix b/pkgs/tools/audio/opl3bankeditor/common.nix
new file mode 100644
index 0000000000000..9f6972ce95402
--- /dev/null
+++ b/pkgs/tools/audio/opl3bankeditor/common.nix
@@ -0,0 +1,69 @@
+{ pname, chip, version, sha256, extraPatches ? [] }:
+
+{ mkDerivation
+, stdenv
+, lib
+, fetchFromGitHub
+, dos2unix
+, cmake
+, pkg-config
+, qttools
+, qtbase
+, qwt
+, rtaudio
+, rtmidi
+}:
+
+let
+  binname = "${chip} Bank Editor";
+  mainProgram = "${lib.strings.toLower chip}_bank_editor";
+in
+mkDerivation rec {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "Wohlstand";
+    repo = pname;
+    rev = "v${version}";
+    inherit sha256;
+  };
+
+  prePatch = ''
+    dos2unix CMakeLists.txt
+  '';
+
+  patches = extraPatches;
+
+  nativeBuildInputs = [
+    dos2unix
+    cmake
+    pkg-config
+    qttools
+  ];
+
+  buildInputs = [
+    qtbase
+    qwt
+    rtaudio
+    rtmidi
+  ];
+
+  postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
+    mkdir $out/{bin,Applications}
+    mv "${binname}.app" $out/Applications/
+
+    install_name_tool -change {,${qwt}/lib/}libqwt.6.dylib "$out/Applications/${binname}.app/Contents/MacOS/${binname}"
+    wrapQtApp "$out/Applications/${binname}.app/Contents/MacOS/${binname}"
+
+    ln -s "$out/Applications/${binname}.app/Contents/MacOS/${binname}" $out/bin/${mainProgram}
+  '';
+
+  meta = with lib; {
+    inherit mainProgram;
+    description = "A small cross-platform editor of the ${chip} FM banks of different formats";
+    homepage = src.meta.homepage;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ OPNA2608 ];
+  };
+}
diff --git a/pkgs/tools/audio/opl3bankeditor/default.nix b/pkgs/tools/audio/opl3bankeditor/default.nix
index 13f8dde680dd8..85762bb69b96d 100644
--- a/pkgs/tools/audio/opl3bankeditor/default.nix
+++ b/pkgs/tools/audio/opl3bankeditor/default.nix
@@ -1,27 +1,9 @@
-{ lib, mkDerivation, fetchFromGitHub, cmake, qttools, alsa-lib }:
-
-mkDerivation rec {
+import ./common.nix rec {
+  pname = "opl3bankeditor";
+  chip = "OPL3";
   version = "1.5.1";
-  pname = "OPL3BankEditor";
-
-  src = fetchFromGitHub {
-    owner = "Wohlstand";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "1g59qrkcm4xnyxx0s2x28brqbf2ix6vriyx12pcdvfhhcdi55hxh";
-    fetchSubmodules = true;
-  };
-
-  buildInputs = [
-    alsa-lib qttools
+  sha256 = "08krbxlxgmc7i2r2k6d6wgi0m6k8hh3j60xf21kz4kp023w613sa";
+  extraPatches = [
+    ./0001-opl3bankeditor-Look-for-system-installed-Rt-libs.patch
   ];
-  nativeBuildInputs = [ cmake ];
-
-  meta = with lib; {
-    description = "A small cross-platform editor of the OPL3 FM banks of different formats";
-    homepage = src.meta.homepage;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ ];
-  };
 }
diff --git a/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix b/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix
index 1d10452470edb..d9c4bbe1511dc 100644
--- a/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix
+++ b/pkgs/tools/audio/opl3bankeditor/opn2bankeditor.nix
@@ -1,14 +1,9 @@
-{ opl3bankeditor, fetchFromGitHub }:
-
-opl3bankeditor.overrideAttrs (oldAttrs: rec {
+import ./common.nix rec {
+  pname = "opn2bankeditor";
+  chip = "OPN2";
   version = "1.3";
-  pname = "OPN2BankEditor";
-
-  src = fetchFromGitHub {
-    owner = "Wohlstand";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "0xsvv0gxqh1lx22f1jm384f7mq1jp57fmpsx1jjaxz435w5hf8s0";
-    fetchSubmodules = true;
-  };
-})
+  sha256 = "0niam6a6y57msbl0xj23g6l7gisv4a670q0k1zqfm34804532a32";
+  extraPatches = [
+    ./0001-opn2bankeditor-Look-for-system-installed-Rt-libs.patch
+  ];
+}
diff --git a/pkgs/tools/graphics/eplot/default.nix b/pkgs/tools/graphics/eplot/default.nix
index b4dd9cd36d8df..2e69bc8a26372 100644
--- a/pkgs/tools/graphics/eplot/default.nix
+++ b/pkgs/tools/graphics/eplot/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchurl, gnuplot, ruby }:
 
 stdenv.mkDerivation {
-  name = "eplot-2.07";
+  pname = "eplot";
+  version = "2.09";
 
   # Upstream has been contacted (2015-03) regarding providing versioned
   # download URLs. Initial response was positive, but no action yet.
@@ -20,12 +21,16 @@ stdenv.mkDerivation {
   dontUnpack = true;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out/bin"
     cp "$src" "$out/bin/eplot"
     cp "$ecSrc" "$out/bin/ec"
     chmod +x "$out/bin/"*
 
     sed -i -e "s|gnuplot -persist|${gnuplot}/bin/gnuplot -persist|" "$out/bin/eplot"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
@@ -39,9 +44,9 @@ stdenv.mkDerivation {
       This package also includes the complementary 'ec' tool (say "extract
       column").
     '';
-    homepage = "http://liris.cnrs.fr/christian.wolf/software/eplot/";
+    homepage = "https://perso.liris.cnrs.fr/christian.wolf/software/eplot/";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = with maintainers; [ bjornfor shamilton ];
   };
 }
diff --git a/pkgs/tools/misc/asdf-vm/default.nix b/pkgs/tools/misc/asdf-vm/default.nix
new file mode 100644
index 0000000000000..1ba5c750f38f2
--- /dev/null
+++ b/pkgs/tools/misc/asdf-vm/default.nix
@@ -0,0 +1,85 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, installShellFiles, bash, coreutils, curl, git, writeScript }:
+
+let
+  asdfReshimFile = writeScript "asdf-reshim" ''
+#!/usr/bin/env bash
+
+# asdf-vm create "shim" file like this:
+#
+#    exec $ASDF_DIR/bin/asdf exec "node" "$@"
+#
+# So we should reshim all installed versions every time shell initialized,
+# because $out always change
+
+asdfDir="''${ASDF_DIR:-$HOME/.asdf}"
+asdfDataDir="''${ASDF_DATA_DIR:-$HOME/.asdf}"
+
+prevAsdfDirFilePath="$asdfDataDir/.nix-prev-asdf-dir-path"
+
+if [ -r "$prevAsdfDirFilePath" ]; then
+  prevAsdfDir="$(cat "$prevAsdfDirFilePath")"
+else
+  prevAsdfDir=""
+fi
+
+if [ "$prevAsdfDir" != "$asdfDir" ]; then
+  rm -rf "$asdfDataDir"/shims
+  "$asdfDir"/bin/asdf reshim
+  echo "$asdfDir" > "$prevAsdfDirFilePath"
+fi
+  '';
+
+  asdfPrepareFile = writeScript "asdf-prepare" ''
+ASDF_DIR="@asdfDir@"
+
+source "$ASDF_DIR/asdf.sh"
+${asdfReshimFile}
+  '';
+in stdenv.mkDerivation rec {
+  pname = "asdf-vm";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    owner = "asdf-vm";
+    repo = "asdf";
+    rev = "v${version}";
+    sha256 = "07lh5k1krzm7fbkv0jlwbzz5ycn2jg7s12dnqwmy82qqic0sl6fl";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+    installShellFiles
+  ];
+
+  buildInputs = [
+    bash
+    curl
+    git
+  ];
+
+  installPhase = ''
+    mkdir -p $out/share/asdf-vm
+    cp -r . $out/share/asdf-vm
+
+    mkdir -p $out/etc/profile.d
+    substitute ${asdfPrepareFile} $out/etc/profile.d/asdf-prepare.sh \
+      --replace "@asdfDir@" "$out/share/asdf-vm"
+
+    mkdir -p $out/bin
+    makeWrapper $out/share/asdf-vm/bin/asdf $out/bin/asdf \
+      --set ASDF_DIR $out/share/asdf-vm
+
+    installShellCompletion --cmd asdf \
+      --zsh completions/_asdf \
+      --fish completions/asdf.fish \
+      --bash completions/asdf.bash
+  '';
+
+  meta = with lib; {
+    description = "Extendable version manager with support for Ruby, Node.js, Erlang & more";
+    homepage = "https://asdf-vm.com/";
+    license = licenses.mit;
+    maintainers = [ maintainers.c4605 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/broot/default.nix b/pkgs/tools/misc/broot/default.nix
index 0aeef02f32d11..d1f9ca80f7055 100644
--- a/pkgs/tools/misc/broot/default.nix
+++ b/pkgs/tools/misc/broot/default.nix
@@ -14,14 +14,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "broot";
-  version = "1.4.0";
+  version = "1.6.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-6UveXa0rMWt5FbmhB0CsYRMGMXxL8FB/XivB4Ec93PY=";
+    sha256 = "sha256-H/QT/fmQI9sHjl6wMJjrfjvbOhY9VyBkAGetvcUqGrE=";
   };
 
-  cargoHash = "sha256-c6U1ZOaXZ7RnKD7q0WTkam9gL8SL/naSeHGbB5I82lk=";
+  cargoHash = "sha256-5mqLVbB/dLAk3Ck7ilHhVn0CB/6Ln82SaTxZ/vkx+9k=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index 46efe896bf27f..4d69f237a08cd 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.0.14";
+  version = "2.0.15";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-nOXp7NdSZaWivrYd6TsmTtS2c8eBvEY7Ba0zZEEEI0A=";
+    sha256 = "sha256-PUcsDyszFT4DzTwvbcCO8FQErvmotmY7gREZ2sgpcw8=";
   };
 
   vendorSha256 = "sha256-7SfqBxCfOYwePK/6SsWS5StuVr0png6WjQXIDuQW0EE=";
diff --git a/pkgs/tools/misc/discocss/default.nix b/pkgs/tools/misc/discocss/default.nix
index 2e0506bf42090..f847f615756a5 100644
--- a/pkgs/tools/misc/discocss/default.nix
+++ b/pkgs/tools/misc/discocss/default.nix
@@ -2,23 +2,24 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "discocss";
-  version = "0.1.1";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "mlvzk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EdkcTVDFQppBeAoyM5hMMIK0d4B87JyVlmCW7zlGfDs=";
+    sha256 = "sha256-afmQCOOZ1MwQkbZZNHYfq2+IRv2eOtYBrGVHzDEbUHw=";
   };
 
   dontBuild = true;
 
   installPhase = ''
-    install -m755 -D ./discocss $out/bin/discocss
+    install -Dm755 ./discocss $out/bin/discocss
   '';
 
   meta = with lib; {
     description = "A tiny Discord css-injector";
+    changelog = "https://github.com/mlvzk/discocss/releases/tag/v${version}";
     homepage = "https://github.com/mlvzk/discocss";
     license = licenses.mpl20;
     platforms = platforms.unix;
diff --git a/pkgs/tools/misc/fselect/default.nix b/pkgs/tools/misc/fselect/default.nix
index eaddc8790e94b..e877304a2d5f9 100644
--- a/pkgs/tools/misc/fselect/default.nix
+++ b/pkgs/tools/misc/fselect/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fselect";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchFromGitHub {
     owner = "jhspetersson";
     repo = "fselect";
     rev = version;
-    sha256 = "sha256-6/mcGq6qKYmcBcNndYYJB3rnHr6ZVpEcVjJBz7NEJEw=";
+    sha256 = "sha256-uIqkk0aQVPXUWjOWmMTdM28Ihi+mflPpxnXJLFIQYJw=";
   };
 
-  cargoSha256 = "sha256-W6YmFsTlU3LD3tvhLuA/3k/269gR2RLLOo86BQC5x98=";
+  cargoSha256 = "sha256-5LRCLJbLiocB/VDf9MMxyIsERmOvuSAQEe822Dcu2j8=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/tools/misc/infracost/default.nix b/pkgs/tools/misc/infracost/default.nix
new file mode 100644
index 0000000000000..286bc4cbca28b
--- /dev/null
+++ b/pkgs/tools/misc/infracost/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub, terraform }:
+
+buildGoModule rec {
+  pname = "infracost";
+  version = "0.9.1";
+
+  src = fetchFromGitHub {
+    owner = "infracost";
+    rev = "v${version}";
+    repo = "infracost";
+    sha256 = "sha256-3dR4NZ1PiMuHNO+xl3zxeBLPOZTLAbJ0VtYJNYpJuXI=";
+  };
+
+  vendorSha256 = "sha256-YHewZsIiDPsgJVYwQX/FovlD+UzJflXy/0oglk8ZkKk=";
+
+  checkInputs = [ terraform ];
+  checkPhase = "make test";
+
+  meta = with lib; {
+    description = "Cloud cost estimates for Terraform in your CLI and pull requests";
+    homepage = "https://github.com/infracost/infracost";
+    license = [ licenses.asl20 ];
+    maintainers = [ maintainers.davegallant ];
+  };
+}
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index 157fc6607b07e..d63861ace3313 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "less";
-  version = "563";
+  version = "581.2";
 
   src = fetchurl {
-    url = "http://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "16lsvk88vwjwp5ax1wnll44wxwnzs8lb2fn90xx2si64kwmnsnyf";
+    url = "https://www.greenwoodsoftware.com/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "0fyqslvrasv19qjvqrwfwz2n7mnm93y61x9bcx09ga90mxyb8d6f";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc.
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses ];
 
   meta = with lib; {
-    homepage = "http://www.greenwoodsoftware.com/less/";
+    homepage = "https://www.greenwoodsoftware.com/less/";
     description = "A more advanced file pager than ‘more’";
     platforms = platforms.unix;
     license = licenses.gpl3;
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index 3510be4ed775d..1237645ebaec2 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = "https://dev.yorhel.nl/ncdu";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pSub zowoq ];
+    maintainers = with maintainers; [ pSub SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/networking/connman/connman.nix b/pkgs/tools/networking/connman/connman.nix
index c6792ecfd3b68..3ec9bce0b4c79 100644
--- a/pkgs/tools/networking/connman/connman.nix
+++ b/pkgs/tools/networking/connman/connman.nix
@@ -55,10 +55,10 @@ let inherit (lib) optionals; in
 
 stdenv.mkDerivation rec {
   pname = "connman";
-  version = "1.39";
+  version = "1.40";
   src = fetchurl {
     url = "mirror://kernel/linux/network/connman/${pname}-${version}.tar.xz";
-    sha256 = "sha256-n2KnFpt0kcZwof8uM1sNlmMI+y9i4oXHgRBeuQ8YGvM=";
+    sha256 = "sha256-GleufOI0qjoXRKrDvlwhIdmNzpmUQO+KucxO39XtyxI=";
   };
 
   buildInputs = [
@@ -67,7 +67,7 @@ stdenv.mkDerivation rec {
     libmnl
     gnutls
     readline
-  ];
+  ] ++ optionals (enableOpenconnect) [ openconnect ];
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/networking/getmail6/default.nix b/pkgs/tools/networking/getmail6/default.nix
index 673ff7f83a3f5..ceec2bab490ee 100644
--- a/pkgs/tools/networking/getmail6/default.nix
+++ b/pkgs/tools/networking/getmail6/default.nix
@@ -1,16 +1,20 @@
-{ fetchFromGitHub, python3Packages, lib }:
+{ lib
+, python3
+, fetchFromGitHub
+}:
 
-python3Packages.buildPythonApplication rec {
+python3.pkgs.buildPythonApplication rec {
   pname = "getmail6";
-  version = "6.16";
+  version = "6.17";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "1y373nzbffjjjs43441cn3wrb0yq1mw2vqixhizbzdacrs45xbfa";
+    sha256 = "sha256-pPf+98zoS1t59RoqbmS4V0OsTLMR37Wcsl9BSWuvc0k=";
   };
 
+  # needs a Docker setup
   doCheck = false;
 
   pythonImportsCheck = [ "getmailcore" ];
@@ -26,6 +30,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://getmail6.org";
     updateWalker = true;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ abbe ];
+    maintainers = with maintainers; [ abbe dotlambda ];
   };
 }
diff --git a/pkgs/tools/package-management/cargo-release/default.nix b/pkgs/tools/package-management/cargo-release/default.nix
index da57ae347143e..4c5aef6b66bca 100644
--- a/pkgs/tools/package-management/cargo-release/default.nix
+++ b/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.13.11";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = "sunng87";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-v0XKLwxUIxBt9hIUzprz+VsxCRifH1/SbNcI0sH2ENM=";
+    sha256 = "sha256-vb2YpoF/mO/FQpXxVfJxECep5H7DCOKNcud9XqL3Bug=";
   };
 
-  cargoSha256 = "sha256-zbET6UsV29hAL83rw3XRgrcM5FABFNI3w3Kbd61FS7E=";
+  cargoSha256 = "sha256-F4Cr20EiWIu4ghE/rDzNEHhZGJWlC9jFXi6/rc4BFy8=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 40ff36c1b18eb..922b6c3f2baf4 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2021-06-12";
+  version = "2021-06-18";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-62Yi5JTrVlN4V2jfiyEUbl8GidaYgcuBkYGyb6ldihQ=";
+    sha256 = "0b91r7bl3abg3mb7vg4qnk319jy7civ583la0054xhpg0c0svyk1";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 76541e922cf16..9f0af308cfb98 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.48"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.0.49"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index 339f41ab81e28..ce054a6a480dc 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: 4ec1009a615521371dd98576c456f62f63190ad9
-  ref: refs/tags/6.0.48
+  revision: 2e07122e80d8ae23e6aa53ae0fcb9dfca6639c59
+  ref: refs/tags/6.0.49
   specs:
-    metasploit-framework (6.0.48)
+    metasploit-framework (6.0.49)
       actionpack (~> 5.2.2)
       activerecord (~> 5.2.2)
       activesupport (~> 5.2.2)
@@ -125,19 +125,19 @@ GEM
     arel-helpers (2.12.0)
       activerecord (>= 3.1.0, < 7)
     aws-eventstream (1.1.1)
-    aws-partitions (1.467.0)
-    aws-sdk-core (3.114.2)
+    aws-partitions (1.469.0)
+    aws-sdk-core (3.114.3)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.239.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.242.0)
+    aws-sdk-ec2 (1.244.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
     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-kms (1.44.0)
       aws-sdk-core (~> 3, >= 3.112.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-s3 (1.96.1)
@@ -391,7 +391,7 @@ GEM
     warden (1.2.9)
       rack (>= 2.0.9)
     webrick (1.7.0)
-    websocket-driver (0.7.4)
+    websocket-driver (0.7.5)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     windows_error (0.1.2)
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index 28ef25223ea94..ebc2e52746e26 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.48";
+  version = "6.0.49";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-E7vuuQ4vxm+pUi95d5rnz8Rgp0DmV08sgtswfzUaa0o=";
+    sha256 = "sha256-qpUzFA4nowrveI3N6kiiM1a4EQq9Y3m94VRjhHLIvn8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index d94b5de86c333..7f43161b5bebe 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -114,30 +114,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18j2m4i70zinxvwib53kclyvgl5j474nm230yy15bqsfhmhm5qqc";
+      sha256 = "0xh65jmz3s12kfi7ij0j89d638nzdvq4z6dq9amzgmiw09ycvdbr";
       type = "gem";
     };
-    version = "1.467.0";
+    version = "1.469.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "09ybqvdmxcw0jgyjy99c5nr0jirs1yyp0lqy95hl0wgvxhvck001";
+      sha256 = "10wk5y4flc04cc42cmcfgr9sj67mz4582d45xmll56mpz4cw5cfc";
       type = "gem";
     };
-    version = "3.114.2";
+    version = "3.114.3";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0zbhgfd4x70ikajximd4s4ni6rd9bvylxwqzh84iwmjngf2sa5fi";
+      sha256 = "0xnpxgcmacmqs98swlv3qkg7svpwydb1kqsngqciyg3jddzxrzp6";
       type = "gem";
     };
-    version = "1.242.0";
+    version = "1.244.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
@@ -154,10 +154,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01pd0f4srsa65zl4zq4014p9j5yrr2yy9h9ab17g3w9d0qqm2vsh";
+      sha256 = "0407yggwsy89fzh387vq3af5azplci5v0a8y97h7r6da4jrv1ksm";
       type = "gem";
     };
-    version = "1.43.0";
+    version = "1.44.0";
   };
   aws-sdk-s3 = {
     groups = ["default"];
@@ -574,12 +574,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "4ec1009a615521371dd98576c456f62f63190ad9";
-      sha256 = "0jkb38spyc6vh8n4ymz682kn1i6gwyd7fy9gaalnziig1swyxfqk";
+      rev = "2e07122e80d8ae23e6aa53ae0fcb9dfca6639c59";
+      sha256 = "0zxyr1r88qslw6ypjqxx188vhmikl94fmkcdg3phm8r71qa375da";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.0.48";
+    version = "6.0.49";
   };
   metasploit-model = {
     groups = ["default"];
@@ -1426,10 +1426,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0l1wmvs0yf8gz64rymijx2pygwch99qdci91q8j193fwrz22bp7x";
+      sha256 = "0a3bwxd9v3ghrxzjc4vxmf4xa18c6m4xqy5wb0yk5c6b9psc7052";
       type = "gem";
     };
-    version = "0.7.4";
+    version = "0.7.5";
   };
   websocket-extensions = {
     groups = ["default"];
diff --git a/pkgs/tools/security/rekor/default.nix b/pkgs/tools/security/rekor/default.nix
index b260d46f934f3..b9b49d4e2df0e 100644
--- a/pkgs/tools/security/rekor/default.nix
+++ b/pkgs/tools/security/rekor/default.nix
@@ -1,21 +1,25 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 let
-  generic = { pname, subPackages, description, postInstall }:
+  generic = { pname, packageToBuild, description }:
     buildGoModule rec {
       inherit pname;
-      version = "0.1.1";
+      version = "0.2.0";
 
       src = fetchFromGitHub {
         owner = "sigstore";
         repo = "rekor";
         rev = "v${version}";
-        sha256 = "1hvkfvc747g5r4h8vb1d8ikqxmlyxsycnlh78agmmjpxlasspmbk";
+        sha256 = "1y6qw55r30jgkcwc6434ly0v9dcfa2lc7z5djn7rjcqrjg3gn7yv";
       };
 
-      vendorSha256 = "0vdir9ia3hv27rkm6jnvhsfc3mxw36xfvwqnfd34rgzmzcfxlrbv";
+      vendorSha256 = "1wlh505ypwyr91wi80fpbap3far3fljwjd4mql2qcqgg0b1yay9s";
 
-      inherit subPackages postInstall;
+      subPackages = [ packageToBuild ];
+
+      preBuild = ''
+        buildFlagsArray+=("-ldflags" "-s -w -X github.com/sigstore/rekor/${packageToBuild}/app.gitVersion=v${version}")
+      '';
 
       meta = with lib; {
         inherit description;
@@ -28,24 +32,12 @@ let
 in {
   rekor-cli = generic {
     pname = "rekor-cli";
-    subPackages = [ "cmd/cli" ];
-    # Will not be needed with the next version, the package as been renamed upstream
-    postInstall = ''
-      if [ -f "$out/bin/cli" ]; then
-        mv "$out/bin/cli" "$out/bin/rekor-client"
-      fi
-    '';
+    packageToBuild = "cmd/rekor-cli";
     description = "CLI client for Sigstore, the Signature Transparency Log";
   };
   rekor-server = generic {
     pname = "rekor-server";
-    subPackages = [ "cmd/server" ];
-    # Will not be needed with the next version, the package as been renamed upstream
-    postInstall = ''
-      if [ -f "$out/bin/server" ]; then
-        mv "$out/bin/server" "$out/bin/rekor-server"
-      fi
-    '';
+    packageToBuild = "cmd/rekor-server";
     description = "Sigstore server, the Signature Transparency Log";
   };
 }
diff --git a/pkgs/tools/security/snallygaster/default.nix b/pkgs/tools/security/snallygaster/default.nix
index 36ea37edbb9ae..e77743d864800 100644
--- a/pkgs/tools/security/snallygaster/default.nix
+++ b/pkgs/tools/security/snallygaster/default.nix
@@ -5,13 +5,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "snallygaster";
-  version = "0.0.9";
+  version = "0.0.10";
 
   src = fetchFromGitHub {
     owner = "hannob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gan5asgrxdgfi9lalhxzj3vs7nkazi8nqia36bpz1qb5fz7jrx3";
+    sha256 = "1xd483sl94zhs7yhc52s0zrn3pj7vf5izggp4ap1d2j0lbwwcyka";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index eb5ac31d300be..45bd76b909177 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "vault";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "0nd77lfccl71qn98cq1yz85aiafplxbr58nafbbflijs1fz1771q";
+    sha256 = "sha256-BO4xzZrX9eVETQWjBDBfP7TlD7sO+gLgbB330A11KAI=";
   };
 
   goPackagePath = "github.com/hashicorp/vault";
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index b283a40888bd4..11175c3c889f0 100644
--- a/pkgs/tools/security/vault/vault-bin.nix
+++ b/pkgs/tools/security/vault/vault-bin.nix
@@ -1,26 +1,26 @@
 { lib, stdenv, fetchurl, unzip }:
 
 let
-  version = "1.7.2";
+  version = "1.7.3";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "1g37pgj7hbi6vfpwq9rrh6is980lfwbq5jb4736jfp5m360vprjy";
+      sha256 = "sha256-hFMTKpO3VcCondSy8amb1K8G+BZ7gZF/EXCAg5Ax4D8=";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "0777xkkfiy0s3nyygcfpw0nbfsm6yz1n5hxcvfafhzcdyr58fpb7";
+      sha256 = "02wbbzffb2m7y3476l5qa5dhi0v30f3sfif0svqhhzh927kg4s5w";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "0wzmah542bhyvrm9brhrx7drjyzan8vxhqnm0gjak5wlrcnf2dvx";
+      sha256 = "0sw56dhjbasdnlwg668swhyxrn5gy7h9gysdg96za4dhq3iimkrn";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "0cs56ircad2z2msqgb0l5h53cwmwybi5rs4y2jigz4rq4ndx9f9b";
+      sha256 = "0c2w0684adaqildwviajp6pi8vp76g4zwwgc1k2bb5mwv1h2y293";
     };
   };
 
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index bff605dbcdeb6..5a466dfa2a1e2 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -35,7 +35,15 @@ buildGoModule rec {
     installManPage gdu.1
   '';
 
-  doCheck = !(stdenv.isAarch64 || stdenv.isDarwin);
+  # doCheck = !(stdenv.isAarch64 || stdenv.isDarwin);
+  # also fails x86_64-linux on hydra with:
+  # dir_test.go:82:
+  #             Error Trace:    dir_test.go:82
+  #             Error:          Not equal:
+  #                             expected: 0
+  #                             actual  : 512
+  #             Test:           TestFlags
+  doCheck = false;
 
   meta = with lib; {
     description = "Disk usage analyzer with console interface";
diff --git a/pkgs/tools/text/vgrep/default.nix b/pkgs/tools/text/vgrep/default.nix
index a2ac4b51001a1..edd0416b0ef9f 100644
--- a/pkgs/tools/text/vgrep/default.nix
+++ b/pkgs/tools/text/vgrep/default.nix
@@ -27,6 +27,6 @@ buildGoModule rec {
     description = "User-friendly pager for grep/git-grep/ripgrep";
     homepage = "https://github.com/vrothberg/vgrep";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ zowoq ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix
index dd92477d1739d..3209ccf6029f5 100644
--- a/pkgs/tools/typesetting/tectonic/default.nix
+++ b/pkgs/tools/typesetting/tectonic/default.nix
@@ -3,17 +3,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "tectonic";
-  version = "0.5.2";
+  version = "0.6.4";
 
   src = fetchFromGitHub {
     owner = "tectonic-typesetting";
     repo = "tectonic";
     rev = "tectonic@${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-JQ78N+cfk1D6xZixoUvYiLP6ZwovBn/ro1CZoutBwp8=";
+    sha256 = "11q0vwgjlailkw4l9z7r54wkxi8dwh40pm7bd74dcvm0x4323fpd";
   };
 
-  cargoSha256 = "sha256-disJme0UM6U+yWjGsPya0xDvW6iQsipqMkEALeJ99xU=";
+  cargoSha256 = "1drfgrsfz44yqz15bcmb3dyyz7dr9zbs3idl1ssaiir24d4z1m9z";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7bc9f0d036b4a..40be91d9a71ad 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -765,15 +765,17 @@ in
 
   adafruit-ampy = callPackage ../tools/misc/adafruit-ampy { };
 
-  adlplug = callPackage ../applications/audio/adlplug { };
+  adlplug = callPackage ../applications/audio/adlplug {
+    inherit (darwin) libobjc;
+    inherit (darwin.apple_sdk.frameworks) Cocoa CoreServices WebKit DiscRecording;
+    jack = libjack2;
+  };
+  opnplug = adlplug.override {
+    type = "OPN";
+  };
 
   arc_unpacker = callPackage ../tools/archivers/arc_unpacker { };
 
-  opnplug = callPackage ../applications/audio/adlplug {
-    adlplugChip = "-DADLplug_CHIP=OPN2";
-    pname = "OPNplug";
-  };
-
   adminer = callPackage ../servers/adminer { };
 
   advancecomp = callPackage ../tools/compression/advancecomp {};
@@ -7041,7 +7043,9 @@ in
 
   munge = callPackage ../tools/security/munge { };
 
-  munt = libsForQt5.callPackage ../applications/audio/munt { };
+  munt = libsForQt5.callPackage ../applications/audio/munt {
+    jack = libjack2;
+  };
 
   mutagen = callPackage ../tools/misc/mutagen { };
 
@@ -7588,8 +7592,7 @@ in
   olsrd = callPackage ../tools/networking/olsrd { };
 
   opl3bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor { };
-
-  opn2bankeditor = callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { };
+  opn2bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { };
 
   orangefs = callPackage ../tools/filesystems/orangefs {
     autoreconfHook = buildPackages.autoreconfHook269;
@@ -11903,7 +11906,7 @@ in
   cargo-sweep = callPackage ../development/tools/rust/cargo-sweep { };
   cargo-sync-readme = callPackage ../development/tools/rust/cargo-sync-readme {};
   cargo-udeps = callPackage ../development/tools/rust/cargo-udeps {
-    inherit (darwin.apple_sdk.frameworks) CoreServices Security;
+    inherit (darwin.apple_sdk.frameworks) CoreServices Security SystemConfiguration;
   };
   cargo-valgrind = callPackage ../development/tools/rust/cargo-valgrind { };
   cargo-watch = callPackage ../development/tools/rust/cargo-watch {
@@ -11978,6 +11981,8 @@ in
   };
   scalafmt = callPackage ../development/tools/scalafmt { };
 
+  scryer-prolog = callPackage ../development/compilers/scryer-prolog { };
+
   sdcc = callPackage ../development/compilers/sdcc {
     gputils = null;
   };
@@ -12038,8 +12043,7 @@ in
   tbb = callPackage ../development/libraries/tbb { };
 
   terra = callPackage ../development/compilers/terra {
-    llvmPackages = llvmPackages_6;
-    lua = lua5_1;
+    llvmPackages = llvmPackages_10;
   };
 
   teyjus = callPackage ../development/compilers/teyjus (
@@ -12675,6 +12679,8 @@ in
 
   guile-fibers = callPackage ../development/guile-modules/guile-fibers { };
 
+  guile-gcrypt = callPackage ../development/guile-modules/guile-gcrypt { };
+
   guile-git = callPackage ../development/guile-modules/guile-git { };
 
   guile-gnome = callPackage ../development/guile-modules/guile-gnome {
@@ -12683,6 +12689,8 @@ in
     inherit (gnome2) gnome_vfs libglade libgnome libgnomecanvas libgnomeui;
   };
 
+  guile-json = callPackage ../development/guile-modules/guile-json { };
+
   guile-lib = callPackage ../development/guile-modules/guile-lib { };
 
   guile-ncurses = callPackage ../development/guile-modules/guile-ncurses { };
@@ -12706,6 +12714,8 @@ in
 
   inav-blackbox-tools = callPackage ../tools/misc/inav-blackbox-tools { };
 
+  infracost = callPackage ../tools/misc/infracost { };
+
   msp430GccSupport = callPackage ../development/misc/msp430/gcc-support.nix { };
 
   msp430Newlib      = callPackage ../development/misc/msp430/newlib.nix { };
@@ -12745,6 +12755,7 @@ in
 
   xidel = callPackage ../tools/text/xidel { };
 
+  asdf-vm = callPackage ../tools/misc/asdf-vm { };
 
   ### DEVELOPMENT / TOOLS
 
@@ -14770,6 +14781,8 @@ in
       vdpauinfo;
   };
 
+  drogon = callPackage ../development/libraries/drogon { };
+
   dssi = callPackage ../development/libraries/dssi {};
 
   duckdb = callPackage ../development/libraries/duckdb {};
@@ -15912,6 +15925,8 @@ in
   libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
   libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
 
+  libbencodetools = callPackage ../development/libraries/libbencodetools { };
+
   libbluedevil = callPackage ../development/libraries/libbluedevil { };
 
   libbdplus = callPackage ../development/libraries/libbdplus { };
@@ -16984,6 +16999,8 @@ in
 
   libvorbis = callPackage ../development/libraries/libvorbis { };
 
+  libvori = callPackage ../development/libraries/libvori { };
+
   libwebcam = callPackage ../os-specific/linux/libwebcam { };
 
   libwebp = callPackage ../development/libraries/libwebp { };
@@ -19715,6 +19732,8 @@ in
 
   neo4j = callPackage ../servers/nosql/neo4j { };
 
+  neo4j-desktop = callPackage ../applications/misc/neo4j-desktop { };
+
   check-esxi-hardware = callPackage ../servers/monitoring/plugins/esxi.nix {};
 
   net-snmp = callPackage ../servers/monitoring/net-snmp { };
@@ -22499,6 +22518,8 @@ in
 
   theme-vertex = callPackage ../data/themes/vertex { };
 
+  times-newer-roman = callPackage ../data/fonts/times-newer-roman { };
+
   tipa = callPackage ../data/fonts/tipa { };
 
   ttf_bitstream_vera = callPackage ../data/fonts/ttf-bitstream-vera { };
@@ -25550,6 +25571,8 @@ in
 
   nwg-launchers = callPackage ../applications/misc/nwg-launchers { };
 
+  nwg-menu = callPackage ../applications/misc/nwg-menu { };
+
   ocenaudio = callPackage ../applications/audio/ocenaudio { };
 
   onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { };
@@ -28129,6 +28152,10 @@ in
 
   ledger-live-desktop = callPackage ../applications/blockchains/ledger-live-desktop { };
 
+  lightning-loop = callPackage ../applications/blockchains/lightning-loop { };
+
+  lightning-pool = callPackage ../applications/blockchains/lightning-pool { };
+
   litecoin  = libsForQt514.callPackage ../applications/blockchains/litecoin.nix {
     inherit (darwin.apple_sdk.frameworks) AppKit;
   };
@@ -30882,7 +30909,7 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  nix-linter = haskell.lib.justStaticExecutables (haskellPackages.callPackage ../development/tools/analysis/nix-linter { });
+  nix-linter = haskell.lib.justStaticExecutables (haskellPackages.nix-linter);
 
   nix-pin = callPackage ../tools/package-management/nix-pin { };
 
@@ -31614,8 +31641,12 @@ in
 
   yapesdl = callPackage ../misc/emulators/yapesdl { };
 
-  x16-emulator = callPackage ../misc/emulators/commander-x16/emulator.nix { };
-  x16-rom = callPackage ../misc/emulators/commander-x16/rom.nix { };
+  x16-emulator = callPackage ../misc/emulators/commanderx16/emulator.nix { };
+  x16-rom = callPackage ../misc/emulators/commanderx16/rom.nix { };
+  x16-run = (callPackage ../misc/emulators/commanderx16/run.nix { }) {
+    emulator = x16-emulator;
+    rom = x16-rom;
+  };
 
   bullet = callPackage ../development/libraries/bullet {
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenGL;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index c6172887833b3..5a6f426b83618 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -1034,6 +1034,8 @@ let
 
     tls = callPackage ../development/ocaml-modules/tls { };
 
+    tls-async = callPackage ../development/ocaml-modules/tls/async.nix { };
+
     tls-mirage = callPackage ../development/ocaml-modules/tls/mirage.nix { };
 
     torch = callPackage ../development/ocaml-modules/torch {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 3793457b16ca3..d3c455f41fef0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1277,6 +1277,8 @@ in {
 
   caldav = callPackage ../development/python-modules/caldav { };
 
+  calmjs-parse = callPackage ../development/python-modules/calmjs-parse { };
+
   can = callPackage ../development/python-modules/can { };
 
   canmatrix = callPackage ../development/python-modules/canmatrix { };
@@ -2144,6 +2146,8 @@ in {
 
   dominate = callPackage ../development/python-modules/dominate { };
 
+  doorbirdpy = callPackage ../development/python-modules/doorbirdpy { };
+
   dopy = callPackage ../development/python-modules/dopy { };
 
   dotty-dict = callPackage ../development/python-modules/dotty-dict { };
@@ -2229,10 +2233,14 @@ in {
 
   edward = callPackage ../development/python-modules/edward { };
 
+  eebrightbox = callPackage ../development/python-modules/eebrightbox { };
+
   effect = callPackage ../development/python-modules/effect { };
 
   eggdeps = callPackage ../development/python-modules/eggdeps { };
 
+  elgato = callPackage ../development/python-modules/elgato { };
+
   elasticsearch = callPackage ../development/python-modules/elasticsearch { };
 
   elasticsearch-dsl = callPackage ../development/python-modules/elasticsearch-dsl { };
@@ -2257,10 +2265,14 @@ in {
 
   emoji = callPackage ../development/python-modules/emoji { };
 
+  emulated-roku = callPackage ../development/python-modules/emulated-roku { };
+
   enaml = callPackage ../development/python-modules/enaml { };
 
   enamlx = callPackage ../development/python-modules/enamlx { };
 
+  enocean = callPackage ../development/python-modules/enocean { };
+
   enrich = callPackage ../development/python-modules/enrich { };
 
   entrance = callPackage ../development/python-modules/entrance {
@@ -2291,6 +2303,8 @@ in {
 
   ephem = callPackage ../development/python-modules/ephem { };
 
+  epson-projector = callPackage ../development/python-modules/epson-projector { };
+
   eradicate = callPackage ../development/python-modules/eradicate { };
 
   escapism = callPackage ../development/python-modules/escapism { };
@@ -3146,6 +3160,8 @@ in {
 
   habanero = callPackage ../development/python-modules/habanero { };
 
+  habitipy = callPackage ../development/python-modules/habitipy { };
+
   hachoir = callPackage ../development/python-modules/hachoir { };
 
   hdate = callPackage ../development/python-modules/hdate { };
@@ -3158,6 +3174,8 @@ in {
 
   handout = callPackage ../development/python-modules/handout { };
 
+  hangups = callPackage ../development/python-modules/hangups { };
+
   hap-python = callPackage ../development/python-modules/hap-python { };
 
   hass-nabucasa = callPackage ../development/python-modules/hass-nabucasa { };
@@ -5234,6 +5252,8 @@ in {
 
   pkuseg = callPackage ../development/python-modules/pkuseg { };
 
+  pmsensor = callPackage ../development/python-modules/pmsensor { };
+
   ppdeep = callPackage ../development/python-modules/ppdeep { };
 
   pyatag = callPackage ../development/python-modules/pyatag { };
@@ -5246,6 +5266,10 @@ in {
 
   pyflick = callPackage ../development/python-modules/pyflick { };
 
+  pyheos = callPackage ../development/python-modules/pyheos { };
+
+  pyhiveapi = callPackage ../development/python-modules/pyhiveapi { };
+
   pynndescent = callPackage ../development/python-modules/pynndescent { };
 
   pynobo = callPackage ../development/python-modules/pynobo { };
@@ -5268,6 +5292,8 @@ in {
 
   python-csxcad = callPackage ../development/python-modules/python-csxcad { };
 
+  python-ecobee-api = callPackage ../development/python-modules/python-ecobee-api { };
+
   python-openems = callPackage ../development/python-modules/python-openems { };
 
   python-openzwave-mqtt = callPackage ../development/python-modules/python-openzwave-mqtt { };
@@ -7174,6 +7200,8 @@ in {
 
   pyyaml = callPackage ../development/python-modules/pyyaml { };
 
+  pyyaml-env-tag = callPackage ../development/python-modules/pyyaml-env-tag { };
+
   pyzerproc = callPackage ../development/python-modules/pyzerproc { };
 
   pyzmq = callPackage ../development/python-modules/pyzmq { };
@@ -7291,6 +7319,8 @@ in {
 
   readchar = callPackage ../development/python-modules/readchar { };
 
+  readlike = callPackage ../development/python-modules/readlike { };
+
   readme = callPackage ../development/python-modules/readme { };
 
   readme_renderer = callPackage ../development/python-modules/readme_renderer { };
@@ -7329,6 +7359,8 @@ in {
 
   rencode = callPackage ../development/python-modules/rencode { };
 
+  reparser = callPackage ../development/python-modules/reparser { };
+
   repeated_test = callPackage ../development/python-modules/repeated_test { };
 
   repocheck = callPackage ../development/python-modules/repocheck { };
@@ -7710,6 +7742,8 @@ in {
 
   sendgrid = callPackage ../development/python-modules/sendgrid { };
 
+  sense-energy = callPackage ../development/python-modules/sense-energy { };
+
   sentencepiece = callPackage ../development/python-modules/sentencepiece {
     inherit (pkgs) sentencepiece;
   };
@@ -8710,6 +8744,8 @@ in {
 
   u-msgpack-python = callPackage ../development/python-modules/u-msgpack-python { };
 
+  unasync = callPackage ../development/python-modules/unasync { };
+
   uncertainties = callPackage ../development/python-modules/uncertainties { };
 
   uncompyle6 = callPackage ../development/python-modules/uncompyle6 { };
@@ -9175,6 +9211,8 @@ in {
 
   xstatic-pygments = callPackage ../development/python-modules/xstatic-pygments { };
 
+  xtensor-python = callPackage ../development/python-modules/xtensor-python { };
+
   xvfbwrapper = callPackage ../development/python-modules/xvfbwrapper {
     inherit (pkgs.xorg) xorgserver;
   };