summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2021-08-06 09:14:57 +0200
committerVladimír Čunát <v@cunat.cz>2021-08-06 09:14:57 +0200
commit8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17 (patch)
tree18bebc6fe8c3e3d01f2e87b169d0ffffbcbad421 /pkgs
parentb3bb8b0d621235f2643f7a13823b752a8199c6a3 (diff)
parenta7d7790dd51f12add6112567465d2168bd578678 (diff)
downloadnixpkgs-8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17.tar
nixpkgs-8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17.tar.gz
nixpkgs-8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17.tar.bz2
nixpkgs-8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17.tar.lz
nixpkgs-8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17.tar.xz
nixpkgs-8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17.tar.zst
nixpkgs-8ab6ba6b1cb336aae2ae2a834bc6a2025b6f3a17.zip
Merge branch 'staging-next' into staging
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-php.nix4
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-python.nix4
-rw-r--r--pkgs/applications/graphics/akira/default.nix13
-rw-r--r--pkgs/applications/graphics/glimpse/default.nix4
-rw-r--r--pkgs/applications/graphics/megapixels/default.nix6
-rw-r--r--pkgs/applications/graphics/sane/backends/default.nix3
-rw-r--r--pkgs/applications/misc/bibletime/default.nix15
-rw-r--r--pkgs/applications/misc/fluidd/default.nix34
-rw-r--r--pkgs/applications/misc/gollum/Gemfile6
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock22
-rw-r--r--pkgs/applications/misc/gollum/default.nix4
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix92
-rw-r--r--pkgs/applications/misc/gramps/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix8
-rw-r--r--pkgs/applications/misc/josm/default.nix8
-rw-r--r--pkgs/applications/misc/kratos/default.nix2
-rw-r--r--pkgs/applications/misc/mupdf/default.nix5
-rw-r--r--pkgs/applications/misc/nwg-launchers/default.nix6
-rw-r--r--pkgs/applications/misc/nwg-menu/default.nix8
-rw-r--r--pkgs/applications/misc/nwg-panel/default.nix4
-rw-r--r--pkgs/applications/misc/nwg-wrapper/default.nix4
-rw-r--r--pkgs/applications/misc/olifant/default.nix69
-rw-r--r--pkgs/applications/misc/usql/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json22
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/telescope/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/helmfile/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/linkerd/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.0.nix4
-rw-r--r--pkgs/applications/networking/cluster/nomad/generic.nix14
-rw-r--r--pkgs/applications/networking/cluster/octant/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/octant/desktop.nix6
-rw-r--r--pkgs/applications/networking/cluster/starboard/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json46
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix19
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix23
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix2
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix6
-rw-r--r--pkgs/applications/networking/p2p/freenet/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/tremc/default.nix3
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/networking/termius/default.nix43
-rw-r--r--pkgs/applications/office/aesop/default.nix53
-rw-r--r--pkgs/applications/office/autokey/default.nix53
-rw-r--r--pkgs/applications/office/calligra/default.nix3
-rw-r--r--pkgs/applications/office/envelope/default.nix81
-rw-r--r--pkgs/applications/office/pdfmixtool/default.nix42
-rw-r--r--pkgs/applications/office/zim/default.nix4
-rw-r--r--pkgs/applications/radio/fldigi/default.nix14
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix2
-rw-r--r--pkgs/applications/science/biology/varscan/default.nix2
-rw-r--r--pkgs/applications/science/chemistry/openmolcas/default.nix6
-rw-r--r--pkgs/applications/science/electronics/eagle/eagle7.nix2
-rw-r--r--pkgs/applications/science/electronics/lepton-eda/default.nix61
-rw-r--r--pkgs/applications/science/logic/saw-tools/default.nix2
-rw-r--r--pkgs/applications/science/math/scilab-bin/default.nix2
-rw-r--r--pkgs/applications/science/physics/quantomatic/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/hyper/default.nix28
-rw-r--r--pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/data.json12
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-shell/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix4
-rw-r--r--pkgs/applications/version-management/pijul/default.nix6
-rw-r--r--pkgs/applications/version-management/sublime-merge/common.nix2
-rw-r--r--pkgs/applications/video/ccextractor/default.nix39
-rw-r--r--pkgs/applications/video/epgstation/default.nix2
-rw-r--r--pkgs/applications/video/obs-studio/plugins/default.nix1
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix25
-rw-r--r--pkgs/applications/video/webtorrent_desktop/default.nix1
-rw-r--r--pkgs/applications/virtualization/driver/win-qemu/default.nix2
-rw-r--r--pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix2
-rw-r--r--pkgs/applications/virtualization/driver/win-virtio/default.nix2
-rw-r--r--pkgs/applications/virtualization/lima/default.nix10
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix120
-rw-r--r--pkgs/applications/virtualization/umoci/default.nix2
-rw-r--r--pkgs/applications/window-managers/labwc/default.nix32
-rw-r--r--pkgs/applications/window-managers/mlvwm/default.nix53
-rw-r--r--pkgs/build-support/docker/default.nix21
-rw-r--r--pkgs/build-support/docker/tarsum.nix42
-rw-r--r--pkgs/data/fonts/comfortaa/default.nix21
-rw-r--r--pkgs/data/fonts/fira-mono/default.nix9
-rw-r--r--pkgs/data/fonts/rubik/default.nix103
-rw-r--r--pkgs/data/fonts/unifont/default.nix10
-rw-r--r--pkgs/data/fonts/unifont_upper/default.nix8
-rw-r--r--pkgs/desktops/plasma-5/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kdeplasma-addons.nix4
-rw-r--r--pkgs/desktops/plasma-5/kscreenlocker.nix3
-rw-r--r--pkgs/desktops/plasma-5/ksysguard.nix17
-rw-r--r--pkgs/desktops/plasma-5/ksystemstats.nix11
-rw-r--r--pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch8
-rw-r--r--pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch8
-rw-r--r--pkgs/desktops/plasma-5/kwin/0002-xwayland.patch8
-rw-r--r--pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch8
-rw-r--r--pkgs/desktops/plasma-5/layer-shell-qt.nix10
-rw-r--r--pkgs/desktops/plasma-5/libksysguard/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-desktop/default.nix6
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch17
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix426
-rw-r--r--pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch46
-rw-r--r--pkgs/development/compilers/dictu/default.nix84
-rw-r--r--pkgs/development/compilers/go/1.15.nix4
-rw-r--r--pkgs/development/compilers/go/1.16.nix4
-rw-r--r--pkgs/development/compilers/graalvm/community-edition.nix288
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/default.nix21
-rw-r--r--pkgs/development/compilers/graalvm/community-edition/repository.nix271
-rw-r--r--pkgs/development/compilers/iasl/default.nix15
-rw-r--r--pkgs/development/compilers/openjdk/jre_minimal_test1.nix16
-rw-r--r--pkgs/development/go-modules/generic/default.nix32
-rw-r--r--pkgs/development/go-packages/generic/default.nix5
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix1
-rw-r--r--pkgs/development/interpreters/pixie/dust.nix24
-rw-r--r--pkgs/development/libraries/duckdb/default.nix4
-rw-r--r--pkgs/development/libraries/goocanvas/3.x.nix49
-rw-r--r--pkgs/development/libraries/gtkextra/default.nix42
-rw-r--r--pkgs/development/libraries/kde-frameworks/baloo.nix1
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix15
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch31
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch2
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--pkgs/development/libraries/lemon-graph/default.nix28
-rw-r--r--pkgs/development/libraries/libvarlink/default.nix43
-rw-r--r--pkgs/development/libraries/ndi/default.nix4
-rw-r--r--pkgs/development/libraries/plasma-wayland-protocols/default.nix6
-rw-r--r--pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch25
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix23
-rw-r--r--pkgs/development/libraries/sentry-native/default.nix28
-rw-r--r--pkgs/development/node-packages/node-packages.json2
-rw-r--r--pkgs/development/node-packages/node-packages.nix2431
-rw-r--r--pkgs/development/ocaml-modules/lens/default.nix17
-rw-r--r--pkgs/development/ocaml-modules/llvm/default.nix9
-rw-r--r--pkgs/development/python-modules/aiowinreg/default.nix4
-rw-r--r--pkgs/development/python-modules/deemix/default.nix49
-rw-r--r--pkgs/development/python-modules/deezer-py/default.nix30
-rw-r--r--pkgs/development/python-modules/embrace/default.nix25
-rw-r--r--pkgs/development/python-modules/httpx-ntlm/default.nix36
-rw-r--r--pkgs/development/python-modules/httpx-socks/default.nix57
-rw-r--r--pkgs/development/python-modules/httpx/default.nix14
-rw-r--r--pkgs/development/python-modules/notmuch/2.nix2
-rw-r--r--pkgs/development/python-modules/pyfakewebcam/default.nix25
-rw-r--r--pkgs/development/python-modules/pypykatz/default.nix4
-rw-r--r--pkgs/development/python-modules/python-lsp-server/default.nix4
-rw-r--r--pkgs/development/python-modules/pyverilog/default.nix46
-rw-r--r--pkgs/development/python-modules/pyvicare/default.nix4
-rw-r--r--pkgs/development/python-modules/respx/default.nix28
-rw-r--r--pkgs/development/python-modules/solc-select/default.nix25
-rw-r--r--pkgs/development/python-modules/streaming-form-data/default.nix34
-rw-r--r--pkgs/development/python-modules/yalesmartalarmclient/default.nix5
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--pkgs/development/ruby-modules/with-packages/Gemfile1
-rw-r--r--pkgs/development/tools/analysis/cargo-tarpaulin/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix36
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/doctl/default.nix13
-rw-r--r--pkgs/development/tools/fnlfmt/default.nix41
-rw-r--r--pkgs/development/tools/jbang/default.nix4
-rw-r--r--pkgs/development/tools/misc/apio/default.nix4
-rw-r--r--pkgs/development/tools/misc/editorconfig-checker/default.nix2
-rw-r--r--pkgs/development/tools/mold/default.nix16
-rw-r--r--pkgs/development/tools/packer/default.nix2
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--pkgs/development/tools/roswell/0001-get-image-from-environment.patch25
-rw-r--r--pkgs/development/tools/roswell/default.nix14
-rw-r--r--pkgs/development/tools/treefmt/default.nix6
-rw-r--r--pkgs/development/tools/tychus/default.nix2
-rw-r--r--pkgs/development/tools/unityhub/default.nix26
-rw-r--r--pkgs/development/web/cypress/default.nix4
-rw-r--r--pkgs/development/web/nodejs/v16.nix14
-rw-r--r--pkgs/games/factorio/versions.json16
-rw-r--r--pkgs/games/osu-lazer/bypass-tamper-detection.patch23
-rw-r--r--pkgs/games/osu-lazer/default.nix3
-rw-r--r--pkgs/games/terraria-server/default.nix10
-rw-r--r--pkgs/misc/vim-plugins/build-vim-plugin.nix5
-rw-r--r--pkgs/misc/vim-plugins/generated.nix156
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix3
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.13.nix4
-rw-r--r--pkgs/os-specific/linux/s6-linux-init/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix8
-rw-r--r--pkgs/servers/apache-kafka/default.nix22
-rw-r--r--pkgs/servers/consul/default.nix11
-rw-r--r--pkgs/servers/dict/dictd-db-collector.nix1
-rw-r--r--pkgs/servers/hqplayerd/default.nix17
-rw-r--r--pkgs/servers/interlock/default.nix2
-rw-r--r--pkgs/servers/monitoring/grafana-agent/default.nix6
-rw-r--r--pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix13
-rw-r--r--pkgs/servers/monitoring/grafana/plugins/plugins.nix1
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix3
-rw-r--r--pkgs/servers/moonraker/default.nix44
-rw-r--r--pkgs/servers/nitter/default.nix131
-rw-r--r--pkgs/servers/pg_tileserv/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/all-plugins.nix3
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix17
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix17
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile6
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock15
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix18
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix22
-rwxr-xr-xpkgs/servers/web-apps/discourse/update.py4
-rw-r--r--pkgs/servers/x11/xorg/default.nix22
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl9
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix4
-rw-r--r--pkgs/servers/x11/xorg/tarballs.list6
-rw-r--r--pkgs/tools/admin/chamber/default.nix4
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix20
-rw-r--r--pkgs/tools/inputmethods/remote-touchpad/default.nix2
-rw-r--r--pkgs/tools/misc/dust/default.nix6
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix4
-rw-r--r--pkgs/tools/misc/kepubify/default.nix2
-rw-r--r--pkgs/tools/misc/maker-panel/default.nix37
-rw-r--r--pkgs/tools/misc/mathpix-snipping-tool/default.nix4
-rw-r--r--pkgs/tools/misc/mimeo/default.nix4
-rw-r--r--pkgs/tools/misc/mmv-go/default.nix2
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix5
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/pferd/default.nix4
-rwxr-xr-xpkgs/tools/misc/szyszka/default.nix45
-rw-r--r--pkgs/tools/networking/dnschef/default.nix27
-rw-r--r--pkgs/tools/networking/innernet/default.nix6
-rw-r--r--pkgs/tools/networking/ngrok-1/default.nix2
-rw-r--r--pkgs/tools/networking/noip/default.nix3
-rw-r--r--pkgs/tools/networking/ntopng/default.nix7
-rw-r--r--pkgs/tools/networking/nylon/default.nix7
-rw-r--r--pkgs/tools/networking/pcapfix/default.nix5
-rw-r--r--pkgs/tools/networking/pdnsd/default.nix7
-rw-r--r--pkgs/tools/networking/pdsh/default.nix5
-rw-r--r--pkgs/tools/networking/polygraph/default.nix5
-rw-r--r--pkgs/tools/networking/snmpcheck/default.nix30
-rw-r--r--pkgs/tools/networking/srelay/default.nix7
-rw-r--r--pkgs/tools/networking/surfraw/default.nix7
-rw-r--r--pkgs/tools/networking/swec/default.nix11
-rw-r--r--pkgs/tools/networking/trickle/default.nix5
-rw-r--r--pkgs/tools/networking/ucspi-tcp/default.nix5
-rw-r--r--pkgs/tools/networking/udptunnel/default.nix7
-rw-r--r--pkgs/tools/networking/unbound/python.nix32
-rw-r--r--pkgs/tools/networking/uwimap/default.nix9
-rw-r--r--pkgs/tools/networking/vde2/default.nix5
-rw-r--r--pkgs/tools/networking/vlan/default.nix7
-rw-r--r--pkgs/tools/networking/vpnc/default.nix3
-rw-r--r--pkgs/tools/networking/vtun/default.nix5
-rw-r--r--pkgs/tools/networking/wakelan/default.nix5
-rw-r--r--pkgs/tools/networking/webalizer/default.nix7
-rw-r--r--pkgs/tools/networking/x11-ssh-askpass/default.nix7
-rw-r--r--pkgs/tools/networking/xh/default.nix6
-rw-r--r--pkgs/tools/networking/xnbd/default.nix7
-rw-r--r--pkgs/tools/security/echidna/default.nix62
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/keybase/default.nix2
-rw-r--r--pkgs/tools/security/keybase/kbfs.nix2
-rw-r--r--pkgs/tools/security/prs/default.nix16
-rw-r--r--pkgs/tools/security/vault/default.nix19
-rw-r--r--pkgs/tools/security/vault/vault-bin.nix10
-rw-r--r--pkgs/tools/security/wapiti/default.nix31
-rw-r--r--pkgs/tools/system/acpica-tools/default.nix9
-rw-r--r--pkgs/tools/system/hostctl/default.nix4
-rw-r--r--pkgs/tools/text/ispell/default.nix22
-rw-r--r--pkgs/tools/text/ispell/patches/0007-Use-termios.patch188
-rw-r--r--pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch48
-rw-r--r--pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch23
-rw-r--r--pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch84
-rw-r--r--pkgs/tools/text/ispell/patches/0012-Fix-getline.patch62
-rw-r--r--pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch227
-rw-r--r--pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch57
-rw-r--r--pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch38
-rw-r--r--pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch69
-rw-r--r--pkgs/tools/text/ispell/patches/0025-Languages.patch81
-rw-r--r--pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch35
-rw-r--r--pkgs/tools/text/vgrep/default.nix2
-rw-r--r--pkgs/top-level/aliases.nix15
-rw-r--r--pkgs/top-level/all-packages.nix75
-rw-r--r--pkgs/top-level/emacs-packages.nix16
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/python-packages.nix18
-rw-r--r--pkgs/top-level/qt5-packages.nix2
-rw-r--r--pkgs/top-level/ruby-packages.nix10
293 files changed, 5541 insertions, 3612 deletions
diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 44b4fd7bc19..d85d065431f 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
-  version = "5.6.1";
+  version = "5.6.2";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "0xjijkmp3drnfrx4gb4bwf8n1dgwk310c0mssm6drffwix7ljpbz";
+    sha256 = "sha256-P7u/KIf/1YkJ2uWsuVThILP87vaYSbHpx5CtnSR3YbU=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 0567ee39d7d..cdc1a300b79 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
-  version = "5.6.1";
+  version = "5.6.2";
 
   src = fetchurl {
     url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz";
-    sha256 = "1jma7j70imzxlyz8580m79jycif7zphga3zzfmqimn8syzz917hv";
+    sha256 = "sha256-Iw3puQ3ZS0eNfBvaZ4cxsP49IRqIMX3R+r3OPG771RI=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/graphics/akira/default.nix b/pkgs/applications/graphics/akira/default.nix
index c2d8a4bda35..96429d6f1e9 100644
--- a/pkgs/applications/graphics/akira/default.nix
+++ b/pkgs/applications/graphics/akira/default.nix
@@ -13,23 +13,24 @@
 , wrapGAppsHook
 , cairo
 , glib
-, goocanvas2
+, goocanvas3
 , gtk3
 , gtksourceview3
 , json-glib
 , libarchive
 , libgee
-, libxml2 }:
+, libxml2
+}:
 
 stdenv.mkDerivation rec {
   pname = "akira";
-  version = "0.0.13";
+  version = "0.0.14";
 
   src = fetchFromGitHub {
     owner = "akiraux";
     repo = "Akira";
     rev = "v${version}";
-    sha256 = "1i20q78jagy8xky68nmd0n7mqvh88r98kp626rnlgyzvlc3c22cm";
+    sha256 = "1zbb2bsc6v2rwrbigbkgrzfjmlj96s3ri73zbdcyqg4p08v1w4l6";
   };
 
   nativeBuildInputs = [
@@ -47,7 +48,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     cairo
     glib
-    goocanvas2
+    goocanvas3
     pantheon.granite
     gtk3
     gtksourceview3
@@ -67,7 +68,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Native Linux Design application built in Vala and GTK";
     homepage = "https://github.com/akiraux/Akira";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ Br1ght0ne neonfuz ] ++ pantheon.maintainers;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/graphics/glimpse/default.nix b/pkgs/applications/graphics/glimpse/default.nix
index de85fb9bf17..01271f53b57 100644
--- a/pkgs/applications/graphics/glimpse/default.nix
+++ b/pkgs/applications/graphics/glimpse/default.nix
@@ -51,6 +51,7 @@
 , makeWrapper
 , autoreconfHook
 , gtk-doc
+, graphviz
 }:
 let
   python = python2.withPackages (pp: [ pp.pygtk ]);
@@ -154,7 +155,8 @@ stdenv.mkDerivation rec {
 
   postFixup = ''
     wrapProgram $out/bin/glimpse-${lib.versions.majorMinor version} \
-      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix PATH ":" ${ lib.makeBinPath [ graphviz ] }
   '';
 
   passthru = rec {
diff --git a/pkgs/applications/graphics/megapixels/default.nix b/pkgs/applications/graphics/megapixels/default.nix
index 1e9540ef95e..9b1377e520c 100644
--- a/pkgs/applications/graphics/megapixels/default.nix
+++ b/pkgs/applications/graphics/megapixels/default.nix
@@ -26,13 +26,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "megapixels";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromSourcehut {
     owner = "~martijnbraam";
     repo = "megapixels";
     rev = version;
-    sha256 = "0y56c6vchlzidfmp3a3bdc228vbhy7zaxvmhkyxchfb752yzr0n3";
+    sha256 = "0jnfzwvq58p4ksyifma10i158r2fb7fv72ymibgcxbnx596xpjb2";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config wrapGAppsHook ];
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "GTK3 camera application using raw v4l2 and media-requests";
+    description = "GTK4 camera application that knows how to deal with the media request api";
     homepage = "https://sr.ht/~martijnbraam/Megapixels";
     changelog = "https://git.sr.ht/~martijnbraam/megapixels/refs/${version}";
     license = licenses.gpl3Only;
diff --git a/pkgs/applications/graphics/sane/backends/default.nix b/pkgs/applications/graphics/sane/backends/default.nix
index 3d3c752dcde..27eb174cdf0 100644
--- a/pkgs/applications/graphics/sane/backends/default.nix
+++ b/pkgs/applications/graphics/sane/backends/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, runtimeShell
 , gettext, pkg-config, python3
 , avahi, libgphoto2, libieee1284, libjpeg, libpng, libtiff, libusb1, libv4l, net-snmp
-, curl, systemd, libxml2, poppler
+, curl, systemd, libxml2, poppler, gawk
 , sane-drivers
 
 # List of { src name backend } attibute sets - see installFirmware below:
@@ -51,6 +51,7 @@ stdenv.mkDerivation {
     systemd
     libxml2
     poppler
+    gawk
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/bibletime/default.nix b/pkgs/applications/misc/bibletime/default.nix
index 30088f52436..3a0cc8ce44f 100644
--- a/pkgs/applications/misc/bibletime/default.nix
+++ b/pkgs/applications/misc/bibletime/default.nix
@@ -3,14 +3,11 @@
 , docbook_xsl_ns }:
 
 mkDerivation rec {
-
-  version = "3.0.1";
-
   pname = "bibletime";
+  version = "3.0.1";
 
   src = fetchurl {
-    url =
-      "https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
+    url = "https://github.com/bibletime/bibletime/releases/download/v${version}/${pname}-${version}.tar.xz";
     sha256 = "sha256-ay4o8mfgj/m3BBoBMXVgw0NTlaFgJQvLlNYvEZRXSiA=";
   };
 
@@ -37,11 +34,11 @@ mkDerivation rec {
     "-DBT_DOCBOOK_XSL_PDF_DOCBOOK_XSL=${docbook_xsl_ns}/share/xml/docbook-xsl-ns/html/chunk.xsl"
   ];
 
-  meta = {
+  meta = with lib; {
     description = "A Qt4 Bible study tool";
     homepage = "http://www.bibletime.info/";
-    platforms = lib.platforms.linux;
-    license = lib.licenses.gpl2Plus;
-    maintainers = [ lib.maintainers.piotr ];
+    platforms = platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.piotr ];
   };
 }
diff --git a/pkgs/applications/misc/fluidd/default.nix b/pkgs/applications/misc/fluidd/default.nix
new file mode 100644
index 00000000000..eee466650e3
--- /dev/null
+++ b/pkgs/applications/misc/fluidd/default.nix
@@ -0,0 +1,34 @@
+{ lib, stdenvNoCC, fetchurl, unzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "fluidd";
+  version = "1.16.2";
+
+  src = fetchurl {
+    name = "fluidd-v${version}.zip";
+    url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
+    sha256 = "1qwj25xvvxvm1fxx216nn2gp7js4d682mm3l4s7ns90fc5ygvc8i";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  dontConfigure = true;
+  dontBuild = true;
+
+  unpackPhase = ''
+    mkdir fluidd
+    unzip $src -d fluidd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fluidd
+    cp -r fluidd $out/share/fluidd/htdocs
+  '';
+
+  meta = with lib; {
+    description = "Klipper web interface";
+    homepage = "https://docs.fluidd.xyz";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/pkgs/applications/misc/gollum/Gemfile b/pkgs/applications/misc/gollum/Gemfile
index 525f54838b7..a15179970b3 100644
--- a/pkgs/applications/misc/gollum/Gemfile
+++ b/pkgs/applications/misc/gollum/Gemfile
@@ -1,2 +1,8 @@
 source 'https://rubygems.org'
 gem 'gollum'
+
+gem 'asciidoctor'
+gem 'creole'
+gem 'wikicloth'
+gem 'org-ruby'
+gem 'RedCloth'
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 73bc5d068d7..4d0d9adf772 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -1,9 +1,14 @@
 GEM
   remote: https://rubygems.org/
   specs:
+    RedCloth (4.3.2)
+    asciidoctor (2.0.15)
+    builder (3.2.4)
     concurrent-ruby (1.1.8)
     crass (1.0.6)
+    creole (0.5.0)
     execjs (2.7.0)
+    expression_parser (0.9.0)
     ffi (1.14.2)
     gemojione (4.3.3)
       json
@@ -36,6 +41,7 @@ GEM
     gollum-rugged_adapter (1.0)
       mime-types (>= 1.15)
       rugged (~> 0.99)
+    htmlentities (4.3.4)
     json (2.5.1)
     kramdown (2.3.0)
       rexml
@@ -59,6 +65,8 @@ GEM
       racc (~> 1.4)
     octicons (12.1.0)
       nokogiri (>= 1.6.3.1)
+    org-ruby (0.9.12)
+      rubypants (~> 0.2)
     racc (1.5.2)
     rack (2.2.3)
     rack-protection (2.1.0)
@@ -71,6 +79,7 @@ GEM
     rss (0.2.9)
       rexml
     ruby2_keywords (0.0.4)
+    rubypants (0.7.1)
     rugged (0.99.0)
     sass (3.7.4)
       sass-listen (~> 4.0.0)
@@ -105,12 +114,23 @@ GEM
       unf_ext
     unf_ext (0.0.7.7)
     useragent (0.16.10)
+    wikicloth (0.8.3)
+      builder
+      expression_parser
+      htmlentities
+      nokogiri
+      twitter-text
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
+  RedCloth
+  asciidoctor
+  creole
   gollum
+  org-ruby
+  wikicloth
 
 BUNDLED WITH
-   2.1.4
+   2.2.20
diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix
index 4a365b5a17e..59bb05f85ce 100644
--- a/pkgs/applications/misc/gollum/default.nix
+++ b/pkgs/applications/misc/gollum/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, bundlerEnv, ruby, makeWrapper, bundlerUpdateScript
-, git }:
+, git, docutils, perl }:
 
 stdenv.mkDerivation rec {
   pname = "gollum";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   in ''
     mkdir -p $out/bin
     makeWrapper ${env}/bin/gollum $out/bin/gollum \
-      --prefix PATH ":" ${lib.makeBinPath [ git ]}
+      --prefix PATH ":" ${lib.makeBinPath [ git docutils perl]}
     makeWrapper ${env}/bin/gollum-migrate-tags $out/bin/gollum-migrate-tags \
       --prefix PATH ":" ${lib.makeBinPath [ git ]}
   '';
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index 690eba645dc..8b0822d9a53 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -1,4 +1,24 @@
 {
+  asciidoctor = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0k3lijm4dmiz977bfmpclk5glj5jwv7bidamwwwywm60ywb0n4n4";
+      type = "gem";
+    };
+    version = "2.0.15";
+  };
+  builder = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "045wzckxpwcqzrjr353cxnyaxgf0qg22jh00dcx7z38cys5g1jlr";
+      type = "gem";
+    };
+    version = "3.2.4";
+  };
   concurrent-ruby = {
     groups = ["default"];
     platforms = [];
@@ -19,6 +39,16 @@
     };
     version = "1.0.6";
   };
+  creole = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "00rcscz16idp6dx0dk5yi5i0fz593i3r6anbn5bg2q07v3i025wm";
+      type = "gem";
+    };
+    version = "0.5.0";
+  };
   execjs = {
     groups = ["default"];
     platforms = [];
@@ -29,6 +59,16 @@
     };
     version = "2.7.0";
   };
+  expression_parser = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1938z3wmmdabqxlh5d5c56xfg1jc6z15p7zjyhvk7364zwydnmib";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
   ffi = {
     groups = ["default"];
     platforms = [];
@@ -93,6 +133,16 @@
     };
     version = "1.0";
   };
+  htmlentities = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj";
+      type = "gem";
+    };
+    version = "4.3.4";
+  };
   json = {
     groups = ["default"];
     platforms = [];
@@ -231,6 +281,17 @@
     };
     version = "12.1.0";
   };
+  org-ruby = {
+    dependencies = ["rubypants"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0x69s7aysfiwlcpd9hkvksfyld34d8kxr62adb59vjvh8hxfrjwk";
+      type = "gem";
+    };
+    version = "0.9.12";
+  };
   racc = {
     groups = ["default"];
     platforms = [];
@@ -283,6 +344,16 @@
     };
     version = "0.10.1";
   };
+  RedCloth = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0m9dv7ya9q93r8x1pg2gi15rxlbck8m178j1fz7r5v6wr1avrrqy";
+      type = "gem";
+    };
+    version = "4.3.2";
+  };
   rexml = {
     groups = ["default"];
     platforms = [];
@@ -324,6 +395,16 @@
     };
     version = "0.0.4";
   };
+  rubypants = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0kv2way45d2dz3h5b7wxyw36clvlwrz7ydf6699d0za5vm56gsrh";
+      type = "gem";
+    };
+    version = "0.7.1";
+  };
   rugged = {
     groups = ["default"];
     platforms = [];
@@ -484,4 +565,15 @@
     };
     version = "0.16.10";
   };
+  wikicloth = {
+    dependencies = ["builder" "expression_parser" "htmlentities" "nokogiri" "twitter-text"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0c78r1rg93mb5rcrfxl01b162ma9sh46dhjksc4c9dngg62nhbjh";
+      type = "gem";
+    };
+    version = "0.8.3";
+  };
 }
diff --git a/pkgs/applications/misc/gramps/default.nix b/pkgs/applications/misc/gramps/default.nix
index 1628f0473fa..b22a09691bb 100644
--- a/pkgs/applications/misc/gramps/default.nix
+++ b/pkgs/applications/misc/gramps/default.nix
@@ -9,7 +9,7 @@
 let
   inherit (pythonPackages) python buildPythonApplication;
 in buildPythonApplication rec {
-  version = "5.1.3";
+  version = "5.1.4";
   pname = "gramps";
 
   nativeBuildInputs = [ wrapGAppsHook intltool gettext ];
@@ -26,7 +26,7 @@ in buildPythonApplication rec {
     owner = "gramps-project";
     repo = "gramps";
     rev = "v${version}";
-    sha256 = "109dwkswz2h2328xkqk2zj736d117s9pp7rz5cc1qg2vxn1lpm93";
+    sha256 = "00358nzyw686ypqv45imc5k9frcqnhla0hpx9ynna3iy6iz5006x";
   };
 
   pythonPath = with pythonPackages; [ bsddb3 PyICU pygobject3 pycairo ];
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 42d3985244b..7aa844098e3 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,22 +2,22 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.86.1";
+  version = "0.87.0";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2tCR4iabTLD9SynXjUM7+zNsFCCAa/n88brPnZ1DQ0Q=";
+    sha256 = "sha256-2I1PDxbqtaOOlVbr7zhuawaFrFWM/PYt5QJm3N74Noc=";
   };
 
-  vendorSha256 = "sha256-ZIGw349m6k8qqrzUN/oYV/HrgBvfOo/ovjo1SUDRmyk=";
+  vendorSha256 = "sha256-0pkQ+VcmK2XLaQ2XJHh5/QftSdud6Eo1nlBK+L92xKU=";
 
   doCheck = false;
 
   runVend = true;
 
-  buildFlags = [ "-tags" "extended" ];
+  tags = [ "extended" ];
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 76af55c5082..71d70774b11 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -3,20 +3,20 @@
 }:
 let
   pname = "josm";
-  version = "18004";
+  version = "18118";
   srcs = {
     jar = fetchurl {
       url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-      sha256 = "sha256-Cd+/sE6A0MddHeAxy3gx7ev+9UR3ZNcR0tCTmdX2FtY=";
+      sha256 = "01wcbf1mh1gqxnqkc3j6h64h9sz0yd5wiwpyx4ic4d5fwkh65qym";
     };
     macosx = fetchurl {
       url = "https://josm.openstreetmap.de/download/macosx/josm-macos-${version}-java16.zip";
-      sha256 = "sha256-QSVh8043K/f7gPEjosGo/DNj1d75LUFwf6EMeHk68fM=";
+      sha256 = "0i1vglqg49fd3w2bny01l92wj4hvr3y35rrmd1mdff0lc1zhi397";
     };
     pkg = fetchsvn {
       url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
       rev = version;
-      sha256 = "sha256-Ic6RtQPqpQIci1IbKgTcFmLfMdPxSVybrEAk+ttM0j8=";
+      sha256 = "0gyj9kdzl920mjdmqjgiscqxyqhnvh22l6sjicf059ga0fsr3ki1";
     };
   };
 in
diff --git a/pkgs/applications/misc/kratos/default.nix b/pkgs/applications/misc/kratos/default.nix
index 8912a0e71e5..c07dbd45676 100644
--- a/pkgs/applications/misc/kratos/default.nix
+++ b/pkgs/applications/misc/kratos/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlags = [ "-tags sqlite" ];
+  tags = [ "sqlite" ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index 21c699da3fa..f23ca82074f 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -60,6 +60,11 @@ stdenv.mkDerivation rec {
       url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=cee7cefc610d42fd383b3c80c12cbc675443176a";
       sha256 = "18g9jsj90jnqibaff8pqi70a7x8ygc3sh4jl4xnvlv8vr7fxxbh6";
     })
+    (fetchpatch {
+      name = "CVE-2021-37220.patch";
+      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=f5712c9949d026e4b891b25837edd2edc166151f";
+      sha256 = "1zyw6w6zr7k2akpzkyycj2zzw3y5qc7afsn1ysklfj2rvb6cnsx3";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/misc/nwg-launchers/default.nix b/pkgs/applications/misc/nwg-launchers/default.nix
index 2dbcef8779f..3f82db12422 100644
--- a/pkgs/applications/misc/nwg-launchers/default.nix
+++ b/pkgs/applications/misc/nwg-launchers/default.nix
@@ -8,17 +8,18 @@
 , pkg-config
 , swaylock
 , makeWrapper
+, gtk-layer-shell
 }:
 
 stdenv.mkDerivation rec {
   pname = "nwg-launchers";
-  version = "0.4.4";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-krhFtFQZSwfKPHmVxPGNySPL2Y9+kA0fxjZ/D+mNks4=";
+    sha256 = "sha256-ZtlAs7McVQKH626h2iOhjpVaiEHeaqs9ncZ6/KnGibg=";
   };
 
   nativeBuildInputs = [
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtkmm3
     nlohmann_json
+    gtk-layer-shell
   ];
 
   postInstall = ''
diff --git a/pkgs/applications/misc/nwg-menu/default.nix b/pkgs/applications/misc/nwg-menu/default.nix
index 5c4b508bb6b..7b7706826fc 100644
--- a/pkgs/applications/misc/nwg-menu/default.nix
+++ b/pkgs/applications/misc/nwg-menu/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nwg-menu";
-  version = "unstable-2021-06-12";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-menu";
-    rev = "b0746e26514a047ed9c6b975a71b7263aa39bd56";
-    hash = "sha256-rxyf3CfpfWnRAlIR/pl+s7LGAZbZjdtNWPPK7BecdhQ=";
+    rev = "v${version}";
+    sha256 = "sha256-M948RGU9/PwUtFRmf1Po7KlrGxqRPiOZKfS1Vv3vqW8=";
   };
 
-  vendorSha256 = "sha256-nN5iBleK12SKY9PBiDA+tM4B8FiVGZLXbtJM2+YrEfA=";
+  vendorSha256 = "sha256-AnYtqSe8mq10FQ071GEVh65MaWek5gYlR+9d8yL0RAc=";
 
   runVend = true;
 
diff --git a/pkgs/applications/misc/nwg-panel/default.nix b/pkgs/applications/misc/nwg-panel/default.nix
index 4636477c1c5..a280c9eca22 100644
--- a/pkgs/applications/misc/nwg-panel/default.nix
+++ b/pkgs/applications/misc/nwg-panel/default.nix
@@ -13,13 +13,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "nwg-panel";
-  version = "0.3.2";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = "nwg-panel";
     rev = "v${version}";
-    hash = "sha256-x5lGVF6eRhOVXrsBatdsiUiWs/+FxRlCtp79zA206RY=";
+    sha256 = "sha256-+zJNTFYNIJKa5jK/215MoxjMKScCdWAAh4cQjEise/Q=";
   };
 
   # No tests
diff --git a/pkgs/applications/misc/nwg-wrapper/default.nix b/pkgs/applications/misc/nwg-wrapper/default.nix
index 9567b051f59..043ea23e3a7 100644
--- a/pkgs/applications/misc/nwg-wrapper/default.nix
+++ b/pkgs/applications/misc/nwg-wrapper/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "nwg-wrapper";
-  version = "0.0.1";
+  version = "0.0.2";
 
   src = fetchFromGitHub {
     owner = "nwg-piotr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rpkcjr0chmgsfkan88lsi476bamg9a6y7h0x9zsh60a9rdf7dl8";
+    sha256 = "sha256-LkAB0MrwQxP3X7glfSnI0GZMv8tjaeSOz7WSOW33wuo=";
   };
 
   nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
diff --git a/pkgs/applications/misc/olifant/default.nix b/pkgs/applications/misc/olifant/default.nix
deleted file mode 100644
index 48fe90423a9..00000000000
--- a/pkgs/applications/misc/olifant/default.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, nix-update-script
-, fetchpatch
-, vala
-, meson
-, ninja
-, pkg-config
-, python3
-, libgee
-, gsettings-desktop-schemas
-, gnome
-, pantheon
-, wrapGAppsHook
-, gtk3
-, json-glib
-, glib
-, glib-networking
-}:
-
-stdenv.mkDerivation rec {
-  pname = "olifant";
-  version = "0.2.1-beta6";
-
-  src = fetchFromGitHub {
-    owner = "cleac";
-    repo = pname;
-    rev = version;
-    sha256 = "sha256-3hnEa4Q1dH0R8Jp+Ew0+dH1PEm3F+56jYwqhJ+vll4M=";
-  };
-
-  nativeBuildInputs = [
-    meson
-    ninja
-    pkg-config
-    python3
-    vala
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    glib-networking
-    gnome.libsoup
-    gsettings-desktop-schemas
-    gtk3
-    json-glib
-    libgee
-    pantheon.granite
-  ];
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "A simple Mastodon client designed for elementary OS, originally developed by @bleakgrey";
-    homepage = "https://github.com/cleac/olifant";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
-  };
-}
diff --git a/pkgs/applications/misc/usql/default.nix b/pkgs/applications/misc/usql/default.nix
index 7a83ec05c10..8ab143ac540 100644
--- a/pkgs/applications/misc/usql/default.nix
+++ b/pkgs/applications/misc/usql/default.nix
@@ -21,8 +21,7 @@ buildGoModule rec {
   buildInputs = [ unixODBC icu ];
 
   # These tags and flags are copied from build-release.sh
-  buildFlags = [ "-tags" ];
-  buildFlagsArray = [
+  tags = [
     "most"
     "sqlite_app_armor"
     "sqlite_fts5"
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index ee506b3faad..a62999d2843 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -136,11 +136,9 @@ let
 
     nativeBuildInputs = [
       ninja pkg-config
-      python2WithPackages perl nodejs
+      python2WithPackages python3WithPackages perl nodejs
       gnutar which
       llvmPackages.bintools
-    ] ++ lib.optionals (chromiumVersionAtLeast "92") [
-      python3WithPackages
     ];
 
     buildInputs = defaultDependencies ++ [
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 1066d322bad..43a79bfa7df 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -18,9 +18,9 @@
     }
   },
   "beta": {
-    "version": "93.0.4577.18",
-    "sha256": "1h1ppyizj5vbnrv11iy9vlcpcv8mgb9r8m2zmz6vp7q1ch6w0w4x",
-    "sha256bin64": "1s5qj0pd79qbchq3awhxc86l9vmi6304z7sd9ls9f8q138789cha",
+    "version": "93.0.4577.25",
+    "sha256": "09v7wyy9xwrpzmsa030j8jjww30jps3lbvlq4bzppdg04fk6rbsn",
+    "sha256bin64": "1l86aqym4dxsrp81ppv5cwyki4wnh7cpqy4dw88kdxgqbiwwii27",
     "deps": {
       "gn": {
         "version": "2021-07-08",
@@ -44,19 +44,19 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "91.0.4472.164",
-    "sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4",
-    "sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr",
+    "version": "92.0.4515.131",
+    "sha256": "0fnfyh61w6dmavvfbf2x1zzrby0xpx4jd4ifjsgyc39rsl789b5n",
+    "sha256bin64": "04ykc7vgq47m595j0g0gl28n5rkki6aic7ck8xr08r5cia46gk3g",
     "deps": {
       "gn": {
-        "version": "2021-04-06",
+        "version": "2021-05-07",
         "url": "https://gn.googlesource.com/gn",
-        "rev": "dba01723a441c358d843a575cb7720d54ddcdf92",
-        "sha256": "199xkks67qrn0xa5fhp24waq2vk8qb78a96cb3kdd8v1hgacgb8x"
+        "rev": "39a87c0b36310bdf06b692c098f199a0d97fc810",
+        "sha256": "0x63jr5hssm9dl6la4q5ahy669k4gxvbapqxi5w32vv107jrj8v4"
       },
       "ungoogled-patches": {
-        "rev": "91.0.4472.164-1",
-        "sha256": "1vlirqrsliyl1dvm511p5axzvhvqil1m1jlk5zngvl9zfbdjw910"
+        "rev": "92.0.4515.131-1",
+        "sha256": "1nbgknj5ba116y47sxbp7pbma1bp0lmkyi3vk915x837ysaf6mrd"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 5ef51028136..9f4923a7ec5 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -89,8 +89,6 @@ stdenv.mkDerivation {
 
   src = fetchurl { inherit (source) url sha256; };
 
-  phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
-
   libPath = lib.makeLibraryPath
     [ stdenv.cc.cc
       alsa-lib
diff --git a/pkgs/applications/networking/browsers/telescope/default.nix b/pkgs/applications/networking/browsers/telescope/default.nix
index fa9b3853a9d..a6762e255f4 100644
--- a/pkgs/applications/networking/browsers/telescope/default.nix
+++ b/pkgs/applications/networking/browsers/telescope/default.nix
@@ -10,11 +10,11 @@
 
 stdenv.mkDerivation rec {
   pname = "telescope";
-  version = "0.3.1";
+  version = "0.4.1";
 
   src = fetchurl {
     url = "https://github.com/omar-polo/telescope/releases/download/${version}/telescope-${version}.tar.gz";
-    sha256 = "11xrsh064ph1idhygh52y4mqapgwn1cqr0l3naj5n2a2p7lcsvvw";
+    sha256 = "086zps4nslv5isfw1b5gvms7vp3fglm7x1a6ks0h0wxarzj350bl";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index 8fc667e3391..3c0b97f0bac 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -15,8 +15,8 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [
-    "-ldflags=-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
+  ldflags = [
+    "-X github.com/containernetworking/plugins/pkg/utils/buildversion.BuildVersion=v${version}"
   ];
 
   subPackages = [
diff --git a/pkgs/applications/networking/cluster/fluxctl/default.nix b/pkgs/applications/networking/cluster/fluxctl/default.nix
index d8a6306a1f5..003f6722d1d 100644
--- a/pkgs/applications/networking/cluster/fluxctl/default.nix
+++ b/pkgs/applications/networking/cluster/fluxctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "fluxctl";
-  version = "1.23.1";
+  version = "1.23.2";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = "flux";
     rev = version;
-    sha256 = "sha256-PcDipeW+ebGm6w/htjyx1/PXaanh2gp3EyHkcLY9peo=";
+    sha256 = "sha256-Ypy462QYmRiQrnOYjBA4BrtPKMT7sNpWb4St3KMVqbI=";
   };
 
-  vendorSha256 = "sha256-CxGa95x742vS+8WxK/I2ZbEn2mJPwpXa5zm3xBNbX4U=";
+  vendorSha256 = "sha256-GUeLbngahbjEXetCfFbwWhn7jtyqKu7I2dyfjKalUM0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/helmfile/default.nix b/pkgs/applications/networking/cluster/helmfile/default.nix
index 7fda9c74c9b..1f32d5f1cd8 100644
--- a/pkgs/applications/networking/cluster/helmfile/default.nix
+++ b/pkgs/applications/networking/cluster/helmfile/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "helmfile";
-  version = "0.139.9";
+  version = "0.140.0";
 
   src = fetchFromGitHub {
     owner = "roboll";
     repo = "helmfile";
     rev = "v${version}";
-    sha256 = "sha256-MHvfDeN4r9jwnXANHTpMEQUIoAZ+uXAmDtl8wdcpjHI=";
+    sha256 = "sha256-Y1BlvUudxEZ1G893dwYU+R6k2QAYohx4+0yysYaUM0E=";
   };
 
   vendorSha256 = "sha256-QYI5HxEUNrZKSjk0LlbhjvxXlWCbbLup51Ht3HJDNC8=";
diff --git a/pkgs/applications/networking/cluster/linkerd/default.nix b/pkgs/applications/networking/cluster/linkerd/default.nix
index 47c6cc5bcda..1e47ccc66f5 100644
--- a/pkgs/applications/networking/cluster/linkerd/default.nix
+++ b/pkgs/applications/networking/cluster/linkerd/default.nix
@@ -22,8 +22,8 @@ let generic = { channel, version, sha256, vendorSha256 }:
       env GOFLAGS="" go generate ./viz/static
     '';
 
-    buildFlagsArray = [
-      "-tags=prod"
+    tags = [
+      "prod"
     ];
 
     ldflags = [
diff --git a/pkgs/applications/networking/cluster/nomad/1.0.nix b/pkgs/applications/networking/cluster/nomad/1.0.nix
index ac6938e4ddc..4966c42b9a4 100644
--- a/pkgs/applications/networking/cluster/nomad/1.0.nix
+++ b/pkgs/applications/networking/cluster/nomad/1.0.nix
@@ -6,6 +6,6 @@
 
 callPackage ./generic.nix {
   inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
-  version = "1.0.8";
-  sha256 = "1kjwa9lnxh5zfzijqgkp94wslkzn6kspwi42kf46vrn0qkiz39f2";
+  version = "1.0.9";
+  sha256 = "0ml6l5xq1310ib5zqfdwlxmsmhpc5ybd05z7pc6zgxbma1brxdv4";
 }
diff --git a/pkgs/applications/networking/cluster/nomad/generic.nix b/pkgs/applications/networking/cluster/nomad/generic.nix
index f4ddc038d2b..99a2585272c 100644
--- a/pkgs/applications/networking/cluster/nomad/generic.nix
+++ b/pkgs/applications/networking/cluster/nomad/generic.nix
@@ -6,6 +6,7 @@
 , nvidiaGpuSupport
 , patchelf
 , nvidia_x11
+, nixosTests
 }:
 
 buildGoPackage rec {
@@ -29,16 +30,7 @@ buildGoPackage rec {
   # ui:
   #  Nomad release commits include the compiled version of the UI, but the file
   #  is only included if we build with the ui tag.
-  preBuild =
-    let
-      tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
-      tagsString = lib.concatStringsSep " " tags;
-    in
-    ''
-      export buildFlagsArray=(
-        -tags="${tagsString}"
-      )
-    '';
+  tags = [ "ui" ] ++ lib.optional (!nvidiaGpuSupport) "nonvidia";
 
   # The dependency on NVML isn't explicit. We have to make it so otherwise the
   # binary will not know where to look for the relevant symbols.
@@ -48,6 +40,8 @@ buildGoPackage rec {
     done
   '';
 
+  passthru.tests.nomad = nixosTests.nomad;
+
   meta = with lib; {
     homepage = "https://www.nomadproject.io/";
     description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
diff --git a/pkgs/applications/networking/cluster/octant/default.nix b/pkgs/applications/networking/cluster/octant/default.nix
index dbbf6524871..fabdc7d5ab5 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.22.0";
+  version = "0.23.0";
 
   src =
     let
@@ -19,10 +19,10 @@ stdenv.mkDerivation rec {
       };
     in
     fetchsrc version {
-      x86_64-linux = "sha256-1/vyV6pUqovVpovTYFF4d75wJvtTNdrbLZyjw1lLacA=";
-      aarch64-linux = "sha256-1duNW0Edj0jrpv/RMrebtZF4ph6j3PXCJ2RFejOopGQ=";
-      x86_64-darwin = "sha256-Ur5jBPk5hA6cGg+pPf36Ijh94gWEdaWlJK3yCMBYyEU=";
-      aarch64-darwin = "sha256-RaiXW+MUihk291UWmrf6gLpyrd5stIkhyWNFEQ0daCk=";
+      x86_64-linux = "sha256-wnm4Zprlao+zbWVJNY4BsAT1fFMft7luyDaW2HfNotg=";
+      aarch64-linux = "sha256-eYvfLUelSrmdY9dbgAlPm7en88hsdCnejJGq2Gz4DN0=";
+      x86_64-darwin = "sha256-NXMQ4mbYfIK+arGWZVhQk5iAw6AZM9PAGJ9CEC/rmgA=";
+      aarch64-darwin = "sha256-WqlbiDV2CuBYr6IXQ8vaESxKNZGp9vBj683igazcmwM=";
     };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/cluster/octant/desktop.nix b/pkgs/applications/networking/cluster/octant/desktop.nix
index e793df71a58..1a86a66fa29 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.22.0";
+  version = "0.23.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-xMdNoH0UE/KLIQ0DjJfb+ZB/q2F+kyFEncrQ9YYJgE0=";
-      x86_64-darwin = "sha256-y3fmxrsQ0hCa1wuMiRGHf79kpi25qXv/idKrVT87oc0=";
+      x86_64-linux = "sha256-K4z6SVCiuqy3xkWMWpm8KM7iYVXyKcnERljMG3NEFMw=";
+      x86_64-darwin = "sha256-WYra0yw/aPW/wUGrlIn5ud3kjFTkekYEi2LWZcYO5Nw=";
     }.${system};
   };
 
diff --git a/pkgs/applications/networking/cluster/starboard/default.nix b/pkgs/applications/networking/cluster/starboard/default.nix
index 121611fd197..d92518c0b4c 100644
--- a/pkgs/applications/networking/cluster/starboard/default.nix
+++ b/pkgs/applications/networking/cluster/starboard/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "starboard";
-  version = "0.10.3";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SJogepww3IJt+NAkJ0G/lLgZ3rMWDTC+jHIrzzkzJGA=";
+    sha256 = "sha256-NV37K5JUfGPK8TwCi/4XY7MQUvp76vzdxsHUNPlYpYk=";
   };
 
-  vendorSha256 = "sha256-vNsYGlcVIj/cDijCFz8fG5Ht/s7koM62GV8zkOyA/fA=";
+  vendorSha256 = "sha256-4CmAf1s+tK7cKxwetgv0YewLLROsZ5g1Zd30FCep5k8=";
 
   # Don't build and check the integration tests
   excludedPackages = "itest";
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index d88602d75ba..3091c957490 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -45,18 +45,12 @@ let
 
   # These are the providers that don't fall in line with the default model
   special-providers = {
-    acme = automated-providers.acme.overrideAttrs (attrs: {
-      prePatch = attrs.prePatch or "" + ''
-        substituteInPlace go.mod --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
-        substituteInPlace main.go --replace terraform-providers/terraform-provider-acme getstackhead/terraform-provider-acme
-      '';
-    });
-
     # Packages that don't fit the default model
     ansible = callPackage ./ansible {};
     cloudfoundry = callPackage ./cloudfoundry {};
     gandi = callPackage ./gandi {};
     hcloud = callPackage ./hcloud {};
+    kubernetes-alpha = throw "This has been merged as beta into the kubernetes provider. See https://www.hashicorp.com/blog/beta-support-for-crds-in-the-terraform-provider-for-kubernetes for details";
     libvirt = callPackage ./libvirt {};
     linuxbox = callPackage ./linuxbox {};
     lxd = callPackage ./lxd {};
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 7569f572b60..3071bba71f6 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -7,12 +7,13 @@
     "version": "0.2.3"
   },
   "acme": {
-    "owner": "getstackhead",
-    "provider-source-address": "registry.terraform.io/getstackhead/acme",
+    "owner": "vancluever",
+    "provider-source-address": "registry.terraform.io/vancluever/acme",
     "repo": "terraform-provider-acme",
-    "rev": "v1.5.0-patched",
-    "sha256": "1wdrjpd3l0xadsa3lqhsc9c57g8x2qkwb76q824sk8za1a7lapii",
-    "version": "1.5.0-patched"
+    "rev": "v2.5.2",
+    "sha256": "0yk5yxx8vdfymxggydpzsb2a0iw4n8010wlprz23qg37gb2p26yf",
+    "vendorSha256": "04zrrn67w30ib0n5s4f31x3nl3h3xz2r522ldkbbx20jy5iabrkk",
+    "version": "2.5.2"
   },
   "aiven": {
     "owner": "aiven",
@@ -244,11 +245,13 @@
     "version": "0.8.0"
   },
   "datadog": {
-    "owner": "terraform-providers",
+    "owner": "DataDog",
+    "provider-source-address": "registry.terraform.io/DataDog/datadog",
     "repo": "terraform-provider-datadog",
-    "rev": "v2.7.0",
-    "sha256": "0cq11cjcm2nlszqhsrj425mk8dp0h5ljrrn7jplrbffp8g6wvadd",
-    "version": "2.7.0"
+    "rev": "v3.2.0",
+    "sha256": "1qrk40w81qzcmm52gr3ysrh077417cxyh4xy7igwdjfzl85z22mx",
+    "vendorSha256": "0iphsz6y9gajwmw5rj4yq65azx02ki093agqbqw49rnzdhc6jahr",
+    "version": "3.2.0"
   },
   "digitalocean": {
     "owner": "digitalocean",
@@ -558,19 +561,10 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.1.0",
-    "sha256": "02ygydgi3fa8z6qd04hgcilbbwns8f21agaqxly2pf9j23fzi37g",
-    "vendorSha256": null,
-    "version": "2.1.0"
-  },
-  "kubernetes-alpha": {
-    "owner": "hashicorp",
-    "provider-source-address": "registry.terraform.io/hashicorp/kubernetes-alpha",
-    "repo": "terraform-provider-kubernetes-alpha",
-    "rev": "v0.5.0",
-    "sha256": "0yqm3wlya69w9g9kzgvm28mbbwp6wik51syjnbnj8dis5kspx8gd",
+    "rev": "v2.4.1",
+    "sha256": "0mk0f12yy58gjkki7xpf9bjfw9h9zdgby2b4bddqp5csq11payhd",
     "vendorSha256": null,
-    "version": "0.5.0"
+    "version": "2.4.1"
   },
   "launchdarkly": {
     "owner": "terraform-providers",
@@ -798,11 +792,13 @@
     "version": "1.5.3"
   },
   "ovh": {
-    "owner": "terraform-providers",
+    "owner": "ovh",
+    "provider-source-address": "registry.terraform.io/ovh/ovh",
     "repo": "terraform-provider-ovh",
-    "rev": "v0.8.0",
-    "sha256": "1ww4ng8w5hm50rbxd83xzbkq8qsn04dqwpdjhs587v9d0x2vwrf1",
-    "version": "0.8.0"
+    "rev": "v0.15.0",
+    "sha256": "1cmcfg9vq8cl98d5xambm5hr516b9pblm06y1py9v7msmfh3g09i",
+    "vendorSha256": null,
+    "version": "0.15.0"
   },
   "packet": {
     "owner": "packethost",
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 8d13fab793c..9bc10753a85 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -195,8 +195,8 @@ rec {
   };
 
   terraform_1_0 = mkTerraform {
-    version = "1.0.3";
-    sha256 = "0m7r66nw0nppra90sjhbq5d0f4q525c73q6ncmy6w37j2nixz35z";
+    version = "1.0.4";
+    sha256 = "09g0ln247scv8mj40gxhkij0li62v0rjm2bsgmvl953aj7g3dlh1";
     vendorSha256 = "07pzqvf9lwgc1fadmyam5hn7arlvzrjsplls445738jpn61854gg";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index 4a43bec09ac..fd7074f005e 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -1,10 +1,17 @@
-{ lib, stdenv, fetchFromGitHub
-, makeWrapper, makeDesktopItem, mkYarnPackage
-, electron, element-web
+{ lib
+, stdenv
+, fetchFromGitHub
+, makeWrapper
+, makeDesktopItem
+, mkYarnPackage
+, electron
+, element-web
 , callPackage
 , Security
 , AppKit
 , CoreServices
+
+, useWayland ? false
 }:
 # Notes for maintainers:
 # * versions of `element-web` and `element-desktop` should be kept in sync.
@@ -20,7 +27,8 @@ let
     sha256 = "sha256-4d2IOngiRcKd4k0jnilAR3Sojkfru3dlqtoBYi3zeLY=";
   };
   electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
-in mkYarnPackage rec {
+in
+mkYarnPackage rec {
   name = "element-desktop-${version}";
   inherit version src;
 
@@ -55,6 +63,7 @@ in mkYarnPackage rec {
     rm "$out/share/element/electron/node_modules"
     cp -r './node_modules' "$out/share/element/electron"
     cp $out/share/element/electron/lib/i18n/strings/en_EN.json $out/share/element/electron/lib/i18n/strings/en-us.json
+    ln -s $out/share/element/electron/lib/i18n/strings/en{-us,}.json
 
     # icons
     for icon in $out/share/element/electron/build/icons/*.png; do
@@ -68,7 +77,7 @@ in mkYarnPackage rec {
 
     # executable wrapper
     makeWrapper '${electron_exec}' "$out/bin/${executableName}" \
-      --add-flags "$out/share/element/electron"
+      --add-flags "$out/share/element/electron${lib.optionalString useWayland " --enable-features=UseOzonePlatform --ozone-platform=wayland"}"
   '';
 
   # Do not attempt generating a tarball for element-web again.
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 67ce817f11a..d062e3b74c0 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -28,7 +28,7 @@ let
       else "");
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.12.0"; # Please backport all updates to the stable channel.
+  version = "5.12.2"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "0cvh70ijx61rq7qjzrmn85lhkm8vkcbxvgjvkpls21v3yl5anrjb";
+    sha256 = "0z8nphlm3q9gqri6bqh1iaayx5yy0bhrmjb7l7facdkm1aahmaa7";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 087754775bd..82eecf17cf8 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -2,7 +2,7 @@
 , lib
 , fetchurl
 , makeWrapper
-# Dynamic libraries
+  # Dynamic libraries
 , alsa-lib
 , atk
 , cairo
@@ -18,22 +18,21 @@
 , xorg
 , libxkbcommon
 , zlib
-# Runtime
+  # Runtime
 , coreutils
 , pciutils
 , procps
 , util-linux
-, pulseaudioSupport ? true, libpulseaudio ? null
+, pulseaudioSupport ? true
+, libpulseaudio
 }:
 
-assert pulseaudioSupport -> libpulseaudio != null;
-
 let
-  version = "5.7.28852.0718";
+  version = "5.7.28991.0726";
   srcs = {
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = "NoB9qxsuGsiwsZ3Y+F3WZpszujPBX/nehtFFI+KPV5E=";
+      sha256 = "w1oeMKADG5+7EV1OXyuEbotrwcVywob82KOXKoRUifA=";
     };
   };
 
@@ -65,9 +64,11 @@ let
     xorg.libXtst
   ] ++ lib.optional (pulseaudioSupport) libpulseaudio);
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "zoom";
   inherit version;
+
   src = srcs.${stdenv.hostPlatform.system};
 
   dontUnpack = true;
@@ -118,11 +119,11 @@ in stdenv.mkDerivation rec {
 
   passthru.updateScript = ./update.sh;
 
-  meta = {
+  meta = with lib; {
     homepage = "https://zoom.us/";
     description = "zoom.us video conferencing application";
-    license = lib.licenses.unfree;
+    license = licenses.unfree;
     platforms = builtins.attrNames srcs;
-    maintainers = with lib.maintainers; [ danbst tadfisher doronbehar ];
+    maintainers = with maintainers; [ danbst tadfisher doronbehar ];
   };
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index ae4999b4f5f..5b03f893b4b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -75,8 +75,6 @@ stdenv.mkDerivation {
     inherit (source) sha256;
   };
 
-  phases = "unpackPhase installPhase";
-
   libPath = lib.makeLibraryPath
     [ stdenv.cc.cc
       alsa-lib
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index cba8dd820b4..7e769b7b0f7 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -21,13 +21,13 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.2.4";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-+APRR3Qj8jdDG2wc4hXFF40aTeoLGAXlsCsB4zKDI3Q=";
+    sha256 = "sha256-KMFFRxNQUNcu7Q5515lNbEMyCWIvzXXC//s3WAWxw4g=";
   };
 
   patches = [
@@ -70,7 +70,7 @@ mkDerivation rec {
     description = "Nextcloud themed desktop client";
     homepage = "https://nextcloud.com";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ caugner ];
+    maintainers = with maintainers; [ caugner kranzes ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/p2p/freenet/default.nix b/pkgs/applications/networking/p2p/freenet/default.nix
index 83cc191f1b3..cfb228514cb 100644
--- a/pkgs/applications/networking/p2p/freenet/default.nix
+++ b/pkgs/applications/networking/p2p/freenet/default.nix
@@ -61,7 +61,7 @@ in stdenv.mkDerivation {
 
   jars = freenet-jars;
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/networking/p2p/tremc/default.nix b/pkgs/applications/networking/p2p/tremc/default.nix
index dfbe66ac856..3518c86790b 100644
--- a/pkgs/applications/networking/p2p/tremc/default.nix
+++ b/pkgs/applications/networking/p2p/tremc/default.nix
@@ -32,7 +32,8 @@ python3Packages.buildPythonApplication rec {
   ] ++
   lib.optional useGeoIP GeoIP;
 
-  phases = [ "unpackPhase" "installPhase" ];
+  dontBuild = true;
+  doCheck = false;
 
   makeWrapperArgs = ["--prefix PATH : ${wrapperPath}"];
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 9db0abd0cb0..a0ab6304e34 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -4,13 +4,13 @@ let
   common = { stname, target, postInstall ? "" }:
     buildGoModule rec {
       pname = stname;
-      version = "1.18.0";
+      version = "1.18.1";
 
       src = fetchFromGitHub {
         owner  = "syncthing";
         repo   = "syncthing";
         rev    = "v${version}";
-        sha256 = "0hrdlc1dxbxvqxylk0i2f110c6bfp9azsnzqzmjj2b29xxbrmwca";
+        sha256 = "1sm4d0pjgk0spz9pddqb3i8hli10pibd5xs18mhcwrhnxj2xky1y";
       };
 
       vendorSha256 = "1qqpxm4s1s2yp1zmi4m25y1a6r7kxc5rmvfsg50jmqsfnwligpz6";
diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix
index fec77560393..c699781376a 100644
--- a/pkgs/applications/networking/termius/default.nix
+++ b/pkgs/applications/networking/termius/default.nix
@@ -1,6 +1,6 @@
 { atomEnv
 , autoPatchelfHook
-, dpkg
+, squashfsTools
 , fetchurl
 , makeDesktopItem
 , makeWrapper
@@ -12,13 +12,15 @@
 
 stdenv.mkDerivation rec {
   pname = "termius";
-  version = "7.16.0";
+  version = "7.17.1";
 
   src = fetchurl {
-    # find the latest version by
-    # curl https://deb.termius.com/dists/squeeze/main/binary-amd64/Packages
-    url = "https://deb.termius.com/pool/main/t/termius-app/termius-app_${version}_amd64.deb";
-    sha256 = "013nli61bk4x4hkhr6gcpzm1y8ycmqk3vr7q0w2dn2bfdwjg559v";
+    # find the latest version with
+    # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.version'
+    # and the url with
+    # curl -H 'X-Ubuntu-Series: 16' https://api.snapcraft.io/api/v1/snaps/details/termius-app | jq '.download_url' -r
+    url = "https://api.snapcraft.io/api/v1/snaps/download/WkTBXwoX81rBe3s3OTt3EiiLKBx2QhuS_81.snap";
+    sha256 = "sha256-jNwWQTjUy8nJ8gHlbP9WgDlARWOhTQAA7KAcQNXKhNg=";
   };
 
   desktopItem = makeDesktopItem {
@@ -36,22 +38,33 @@ stdenv.mkDerivation rec {
   dontPatchELF = true;
   dontWrapGApps = true;
 
-  nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper wrapGAppsHook ];
+  nativeBuildInputs = [ autoPatchelfHook squashfsTools makeWrapper wrapGAppsHook ];
 
   buildInputs = atomEnv.packages;
 
-  unpackPhase = "dpkg-deb -x $src .";
+  unpackPhase = ''
+    runHook preUnpack
+    unsquashfs "$src"
+    runHook postUnpack
+  '';
 
   installPhase = ''
     runHook preInstall
+    cd squashfs-root
+    mkdir -p $out/opt/termius
+    cp -r \
+        icudtl.dat \
+        libffmpeg.so \
+        locales \
+        resources \
+        resources.pak \
+        termius-app \
+        v8_context_snapshot.bin \
+        $out/opt/termius
 
-    mkdir -p "$out/bin"
-    cp -R "opt" "$out"
-    cp -R "usr/share" "$out/share"
-    chmod -R g-w "$out"
-    # Desktop file
-    mkdir -p "$out/share/applications"
+    mkdir -p "$out/share/applications" "$out/share/pixmaps/termius-app.png"
     cp "${desktopItem}/share/applications/"* "$out/share/applications"
+    cp meta/gui/icon.png $out/share/pixmaps/termius-app.png
 
     runHook postInstall
   '';
@@ -59,7 +72,7 @@ stdenv.mkDerivation rec {
   runtimeDependencies = [ (lib.getLib udev) ];
 
   postFixup = ''
-    makeWrapper $out/opt/Termius/termius-app $out/bin/termius-app \
+    makeWrapper $out/opt/termius/termius-app $out/bin/termius-app \
       "''${gappsWrapperArgs[@]}"
   '';
 
diff --git a/pkgs/applications/office/aesop/default.nix b/pkgs/applications/office/aesop/default.nix
deleted file mode 100644
index 0e151f3adbe..00000000000
--- a/pkgs/applications/office/aesop/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, vala, fetchFromGitHub, nix-update-script, pantheon, pkg-config, meson, ninja, python3, gtk3
-, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  pname = "aesop";
-  version = "1.2.5";
-
-  src = fetchFromGitHub {
-    owner = "lainsce";
-    repo = pname;
-    rev = version;
-    sha256 = "1zxyyxl959rqhyz871dyyccqga2ydybkfcpyjq4vmvdn2g9mvmb0";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    meson
-    ninja
-    pkg-config
-    python3
-    vala
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    pantheon.elementary-icon-theme
-    libgee
-    pantheon.granite
-    gtk3
-    json-glib
-    libsoup
-    poppler
-  ];
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "The simplest PDF viewer around";
-    homepage = "https://github.com/lainsce/aesop";
-    license = licenses.gpl2Plus;
-    maintainers = pantheon.maintainers;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/office/autokey/default.nix b/pkgs/applications/office/autokey/default.nix
index 441a9a98e97..4aef68ba0d0 100644
--- a/pkgs/applications/office/autokey/default.nix
+++ b/pkgs/applications/office/autokey/default.nix
@@ -1,32 +1,57 @@
-{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection
-, gtksourceview3, libappindicator-gtk3, libnotify }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, wrapGAppsHook
+, gobject-introspection
+, gtksourceview3
+, libappindicator-gtk3
+, libnotify
+}:
 
 python3Packages.buildPythonApplication rec {
-  name = "autokey-${version}";
-  version = "0.94.1";
+  pname = "autokey";
+  version = "0.95.10";
 
   src = fetchFromGitHub {
     owner = "autokey";
     repo = "autokey";
     rev = "v${version}";
-    sha256 = "1syxyciyxzs0khbfs9wjgj03q967p948kipw27j1031q0b5z3jxr";
+    sha256 = "0f0cqfnb49wwdy7zl2f2ypcnd5pc8r8n7z7ssxkq20d4xfxlgamr";
   };
 
-  # Arch requires a similar work around—see
-  # https://aur.archlinux.org/packages/autokey-py3/?comments=all
-  patches = [ ./remove-requires-dbus-python.patch ];
-
   # Tests appear to be broken with import errors within the project structure
   doCheck = false;
 
-  # Note: no dependencies included for Qt GUI because Qt ui is poorly
-  # maintained—see https://github.com/autokey/autokey/issues/51
+  nativeBuildInputs = [ wrapGAppsHook ];
 
-  buildInputs = [ wrapGAppsHook gobject-introspection gtksourceview3
-    libappindicator-gtk3 libnotify ];
+  buildInputs = [
+    gobject-introspection
+    gtksourceview3
+    libappindicator-gtk3
+    libnotify
+  ];
 
   propagatedBuildInputs = with python3Packages; [
-    dbus-python pyinotify xlib pygobject3 ];
+    dbus-python
+    pyinotify
+    xlib
+    pygobject3
+  ];
+
+  dontWrapGapps = true;
+
+  pythonPath = with python3Packages; requiredPythonModules [ dbus-python xlib pygobject3 ];
+
+  postInstall = ''
+    rm $out/bin/autokey-qt
+    buildPythonPath "$out $pythonPath"
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      # for autokey-shell ModuleNotFoundError: No module named 'autokey'
+      --prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
+      --prefix "PYTHONPATH" ":" "$program_PYTHONPATH"
+    )
+  '';
 
   meta = {
     homepage = "https://github.com/autokey/autokey";
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index e54a3cbad4c..2ecc334c3d2 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -8,7 +8,7 @@
 , kcontacts, akonadi, akonadi-calendar, akonadi-contacts
 , eigen, git, gsl, ilmbase, kproperty, kreport, lcms2, marble, pcre, libgit2, libodfgen
 , librevenge, libvisio, libwpd, libwpg, libwps, okular, openexr, openjpeg, phonon
-, poppler, pstoedit, qca-qt5, vc
+, poppler, pstoedit, qca-qt5, vc, fontconfig
 # TODO: package Spnav, m2mml LibEtonyek, Libqgit2
 }:
 
@@ -32,6 +32,7 @@ mkDerivation rec {
     kcontacts akonadi akonadi-calendar akonadi-contacts
     eigen git gsl ilmbase kproperty kreport lcms2 marble pcre libgit2 libodfgen librevenge
     libvisio libwpd libwpg libwps okular openexr openjpeg phonon poppler qca-qt5 vc
+    fontconfig
   ];
 
   propagatedUserEnvPkgs = [ kproperty ];
diff --git a/pkgs/applications/office/envelope/default.nix b/pkgs/applications/office/envelope/default.nix
deleted file mode 100644
index 7798026e790..00000000000
--- a/pkgs/applications/office/envelope/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, nix-update-script
-, fetchpatch
-, meson
-, ninja
-, pkg-config
-, pantheon
-, python3
-, vala
-, appstream-glib
-, desktop-file-utils
-, gettext
-, glib
-, gtk3
-, libgee
-, sqlite
-, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "envelope";
-  version = "0.0.4";
-
-  src = fetchFromGitHub {
-    owner = "cjfloss";
-    repo = pname;
-    rev = version;
-    sha256 = "111lq1gijcm7qwpac09q11ymwiw2x3m12a28ki52f28fb1amvffc";
-  };
-
-  nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils
-    gettext
-    meson
-    ninja
-    vala
-    pkg-config
-    python3
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    gtk3
-    libgee
-    pantheon.granite
-    sqlite
-  ];
-
-  doCheck = true;
-
-  patches = [
-    # Fix AppData Validation.
-    # https://github.com/cjfloss/envelope/pull/59
-    (fetchpatch {
-      url = "https://github.com/cjfloss/envelope/commit/b6a28eced89b8f944479fcc695aebfb9aae0c691.patch";
-      sha256 = "11znc8z52kl893n3gmmdpnp3y4vpzmb263m5gp0qxbl3xykq2wzr";
-    })
-  ];
-
-  postPatch = ''
-    chmod +x data/post_install.py
-    patchShebangs data/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "Personal finance manager for elementary OS";
-    homepage = "https://github.com/cjfloss/envelope";
-    maintainers = with maintainers; [ xiorcale ] ++ pantheon.maintainers;
-    platforms = platforms.linux;
-    license = licenses.gpl3Plus;
-  };
-}
diff --git a/pkgs/applications/office/pdfmixtool/default.nix b/pkgs/applications/office/pdfmixtool/default.nix
new file mode 100644
index 00000000000..7d874015dc2
--- /dev/null
+++ b/pkgs/applications/office/pdfmixtool/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, pkg-config
+, qtbase
+, qttools
+, qpdf
+, podofo
+}:
+
+mkDerivation rec {
+  pname = "pdfmixtool";
+  version = "1.0.2";
+
+  src = fetchFromGitLab {
+    owner = "scarpetta";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "066ap1w05gj8n0kvilyhlr1fzwrmlczx3lax7mbw0rfid9qh3467";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    qtbase
+    qttools
+    qpdf
+    podofo
+  ];
+
+  meta = with lib; {
+    description = "An application to split, merge, rotate and mix PDF files";
+    homepage = "https://gitlab.com/scarpetta/pdfmixtool";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ onny ];
+  };
+}
+
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 4cf3c3d78ce..abbc0c8a548 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -9,11 +9,11 @@
 
 python3Packages.buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.73.1";
+  version = "0.73.5";
 
   src = fetchurl {
     url = "https://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "13vhwsgv6mscgixypc0ixkgj0y7cpcm7z7wn1vmdrwp7kn8m3xgx";
+    sha256 = "sha256-o28V2Sw5lMDVWwf4MlOz2LgmvrNxSGXturwU8cyR1jo=";
   };
 
   buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome.adwaita-icon-theme ];
diff --git a/pkgs/applications/radio/fldigi/default.nix b/pkgs/applications/radio/fldigi/default.nix
index a71e4f4bbd4..c27f0915a4a 100644
--- a/pkgs/applications/radio/fldigi/default.nix
+++ b/pkgs/applications/radio/fldigi/default.nix
@@ -13,17 +13,20 @@
 , gettext
 , pkg-config
 , alsa-lib
+, udev
 }:
 
 stdenv.mkDerivation rec {
   pname = "fldigi";
-  version = "4.1.18";
+  version = "4.1.19";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-PH/YSrOoS6RSWyUenVYSDa7mJqODFoSpdP2tR2+QJw0=";
+    sha256 = "0zvfkmvxi31ccbpxvimkcrqrkf3wzr1pgja2ny04srrakl8ff5c7";
   };
 
+  nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [
     libXinerama
     gettext
@@ -34,16 +37,13 @@ stdenv.mkDerivation rec {
     portaudio
     libsndfile
     libsamplerate
-    libpulseaudio
-    pkg-config
-    alsa-lib
-  ];
+  ] ++ lib.optionals (stdenv.isLinux) [ libpulseaudio alsa-lib udev ];
 
   meta = with lib; {
     description = "Digital modem program";
     homepage = "https://sourceforge.net/projects/fldigi/";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ relrod ftrvxmtrx ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index ed0d043cd54..979080745ff 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/libexec/picard
diff --git a/pkgs/applications/science/biology/varscan/default.nix b/pkgs/applications/science/biology/varscan/default.nix
index 2a232d64693..7b09f601ad6 100644
--- a/pkgs/applications/science/biology/varscan/default.nix
+++ b/pkgs/applications/science/biology/varscan/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/libexec/varscan
diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix
index af646b514af..8efe537dcac 100644
--- a/pkgs/applications/science/chemistry/openmolcas/default.nix
+++ b/pkgs/applications/science/chemistry/openmolcas/default.nix
@@ -5,9 +5,9 @@
 } :
 
 let
-  version = "21.02";
+  version = "21.06";
   # The tag keeps moving, fix a hash instead
-  gitLabRev = "41cee871945ac712e86ee971425a49a8fc60a936";
+  gitLabRev = "dd982ad4bc94dec8ac1e3e99cb6a7dd249ff71de";
 
   python = python3.withPackages (ps : with ps; [ six pyparsing ]);
 
@@ -19,7 +19,7 @@ in stdenv.mkDerivation {
     owner = "Molcas";
     repo = "OpenMolcas";
     rev = gitLabRev;
-    sha256 = "0cap53gy1wds2qaxbijw09fqhvfxphfkr93nhp9xdq84yxh4wzv6";
+    sha256 = "07dm73n0s7ckif561yb3s9yqxsv39a73kb9qwny4yp39wdvv52hz";
   };
 
   patches = [
diff --git a/pkgs/applications/science/electronics/eagle/eagle7.nix b/pkgs/applications/science/electronics/eagle/eagle7.nix
index 2804fc3c8d7..8ea75a3ec48 100644
--- a/pkgs/applications/science/electronics/eagle/eagle7.nix
+++ b/pkgs/applications/science/electronics/eagle/eagle7.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
       libX11 libXext libXi
     ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   # NOTES:
   # Eagle for Linux comes as a self-extracting shell script with embedded
diff --git a/pkgs/applications/science/electronics/lepton-eda/default.nix b/pkgs/applications/science/electronics/lepton-eda/default.nix
new file mode 100644
index 00000000000..060909bdcb4
--- /dev/null
+++ b/pkgs/applications/science/electronics/lepton-eda/default.nix
@@ -0,0 +1,61 @@
+{ stdenv
+, lib
+, pkg-config
+, makeWrapper
+, texinfo
+, fetchurl
+, autoreconfHook
+, guile
+, flex
+, gtk2
+, glib
+, gtkextra
+, gettext
+, gawk
+, shared-mime-info
+, groff
+, libstroke
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lepton-eda";
+  version = "1.9.13-20201211";
+
+  src = fetchurl {
+    url = "https://github.com/lepton-eda/lepton-eda/releases/download/${version}/lepton-eda-${builtins.head (lib.splitString "-" version)}.tar.gz";
+    sha256 = "sha256-9Be3FBWnZU2M5aNQwi3N8M81e0S7n46mwWQh1mrK4Z8=";
+  };
+
+  nativeBuildInputs = [ pkg-config makeWrapper texinfo autoreconfHook ];
+
+  propagatedBuildInputs = [ guile flex gtk2 glib gtkextra gettext gawk shared-mime-info groff libstroke ];
+
+  configureFlags = [
+    "--disable-update-xdg-database"
+  ];
+
+  CFLAGS = [
+    "-DSCM_DEBUG_TYPING_STRICTNESS=2"
+  ];
+
+  postInstall = ''
+    libs="${lib.makeLibraryPath propagatedBuildInputs}"
+    for program in $out/bin/*; do
+      wrapProgram "$program" \
+        --prefix LD_LIBRARY_PATH : "$libs" \
+        --prefix LTDL_LIBRARY_PATH : "$out/lib"
+    done
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/lepton-eda";
+    description = "Lepton Electronic Design Automation";
+    longDescription = ''
+      Lepton EDA is a suite of free software tools for designing electronics.
+      It provides schematic capture, netlisting into over 30 netlist formats, and many other features.
+    '';
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tesq0 ];
+  };
+}
diff --git a/pkgs/applications/science/logic/saw-tools/default.nix b/pkgs/applications/science/logic/saw-tools/default.nix
index 3eabc9422e3..df99d067f08 100644
--- a/pkgs/applications/science/logic/saw-tools/default.nix
+++ b/pkgs/applications/science/logic/saw-tools/default.nix
@@ -48,8 +48,6 @@ stdenv.mkDerivation {
     done
   '';
 
-  phases = "unpackPhase installPhase fixupPhase";
-
   meta = {
     description = "Tools for software verification and analysis";
     homepage    = "https://saw.galois.com";
diff --git a/pkgs/applications/science/math/scilab-bin/default.nix b/pkgs/applications/science/math/scilab-bin/default.nix
index f9abdee2d14..5dea2c7653a 100644
--- a/pkgs/applications/science/math/scilab-bin/default.nix
+++ b/pkgs/applications/science/math/scilab-bin/default.nix
@@ -39,8 +39,6 @@ stdenv.mkDerivation {
     xorg.libXxf86vm
   ];
 
-  phases = [ "unpackPhase" "fixupPhase" "installPhase" ];
-
   fixupPhase = ''
     sed -i 's|\$(/bin/|$(|g' bin/scilab
     sed -i 's|/usr/bin/||g' bin/scilab
diff --git a/pkgs/applications/science/physics/quantomatic/default.nix b/pkgs/applications/science/physics/quantomatic/default.nix
index c1400869a25..8c33a8ae6b1 100644
--- a/pkgs/applications/science/physics/quantomatic/default.nix
+++ b/pkgs/applications/science/physics/quantomatic/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ jre ];
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   installPhase = ''
     mkdir -p $out/libexec/quantomatic
diff --git a/pkgs/applications/terminal-emulators/hyper/default.nix b/pkgs/applications/terminal-emulators/hyper/default.nix
index 55798ed6099..f698df598ca 100644
--- a/pkgs/applications/terminal-emulators/hyper/default.nix
+++ b/pkgs/applications/terminal-emulators/hyper/default.nix
@@ -1,36 +1,48 @@
 { stdenv, lib, fetchurl, dpkg, atk, glib, pango, gdk-pixbuf, gnome2, gtk3, cairo
-, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr
-, libXcomposite, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver
-, libxcb, nss, nspr, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk }:
+, freetype, fontconfig, dbus, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
+, libXext, libXfixes, libXrender, libX11, libXtst, libXScrnSaver, libxcb, nss, nspr
+, alsa-lib, cups, expat, udev, libpulseaudio, at-spi2-atk, at-spi2-core, libxshmfence
+, libdrm, libxkbcommon, mesa }:
 
 let
   libPath = lib.makeLibraryPath [
     stdenv.cc.cc gtk3 gnome2.GConf atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
     libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
     libXrender libX11 libXtst libXScrnSaver nss nspr alsa-lib cups expat udev libpulseaudio
-    at-spi2-atk
+    at-spi2-atk at-spi2-core libxshmfence libdrm libxkbcommon mesa
   ];
+
 in
 stdenv.mkDerivation rec {
-  version = "3.0.2";
   pname = "hyper";
+  version = "3.1.2";
+
   src = fetchurl {
-    url = "https://github.com/zeit/hyper/releases/download/${version}/hyper_${version}_amd64.deb";
-    sha256 = "0fv4wv5f8nc739bna83qxmgrvvbyq4w9ch764q2f12wjygrz336p";
+    url = "https://github.com/vercel/hyper/releases/download/v${version}/hyper_${version}_amd64.deb";
+    sha256 = "1mixy9hlgdbbnwdgidady7q828dkf09lx1pacwxw386jj7kp4y5g";
   };
-  buildInputs = [ dpkg ];
+
+  nativeBuildInputs = [ dpkg ];
+
   unpackPhase = ''
     mkdir pkg
     dpkg-deb -x $src pkg
     sourceRoot=pkg
   '';
+
   installPhase = ''
     mkdir -p "$out/bin"
     mv opt "$out/"
+
     ln -s "$out/opt/Hyper/hyper" "$out/bin/hyper"
     patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "${libPath}:$out/opt/Hyper:\$ORIGIN" "$out/opt/Hyper/hyper"
+
     mv usr/* "$out/"
+
+    substituteInPlace $out/share/applications/hyper.desktop \
+      --replace "/opt/Hyper/hyper" "hyper"
   '';
+
   dontPatchELF = true;
   meta = with lib; {
     description = "A terminal built on web technologies";
diff --git a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
index 036eef1c9c3..42ac2ed4508 100644
--- a/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/bfg-repo-cleaner/default.nix
@@ -18,7 +18,7 @@ in
     nativeBuildInputs = [ makeWrapper ];
     buildInputs = [ jre ];
 
-    phases = "installPhase";
+    dontUnpack = true;
 
     installPhase = ''
       mkdir -p $out/share/java
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index a7ca5c4eaa6..5086657a56e 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "1.13.1";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-6ur1ZIJRghkZk5tLMJUmKn+XfjVGFE0MRSQ/Uz+Eans=";
+    sha256 = "sha256-JCuJliBr1IPdwGG9T0Bx5DhtHw8tJ45mteRLxRbkyio=";
   };
 
-  vendorSha256 = "sha256-JJNyzMYAQT/pS1+eGYQsUpxDiwa6DP7JWhIBuTtnOiE=";
+  vendorSha256 = "sha256-6H56jf4QV+DdsiCetyhpXp6NHc86Hzo+CuqF06dL26A=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix b/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
index 843a8d34881..cc916baec94 100644
--- a/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-annex-remote-rclone/default.nix
@@ -14,8 +14,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper ];
 
-  phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
-
   installPhase = ''
     mkdir -p $out/bin
     cp git-annex-remote-rclone $out/bin
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index ec91ef3ccc6..9294700afed 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,13 +1,13 @@
 {
-  "version": "14.1.1",
-  "repo_hash": "1cygdllhqxah7d8lmx4hcx880wijwfvbbs6dfkdzcn0cd3czpcv8",
+  "version": "14.1.2",
+  "repo_hash": "1d28minrpgp8awcnx15bm7jv0k27i46wji3pc2d6wh1m0wk74b60",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.1.1-ee",
+  "rev": "v14.1.2-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.1.1",
+    "GITALY_SERVER_VERSION": "14.1.2",
     "GITLAB_PAGES_VERSION": "1.41.0",
-    "GITLAB_SHELL_VERSION": "13.19.0",
-    "GITLAB_WORKHORSE_VERSION": "14.1.1"
+    "GITLAB_SHELL_VERSION": "13.19.1",
+    "GITLAB_WORKHORSE_VERSION": "14.1.2"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index fffe8894405..26d8cb1732f 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, fetchpatch, fetchFromGitLab, bundlerEnv
 , ruby, tzdata, git, nettools, nixosTests, nodejs, openssl
 , gitlabEnterprise ? false, callPackage, yarn
-, fixup_yarn_lock, replace, file
+, fixup_yarn_lock, replace, file, cacert
 }:
 
 let
@@ -51,7 +51,7 @@ let
     pname = "gitlab-assets";
     inherit version src;
 
-    nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git ];
+    nativeBuildInputs = [ rubyEnv.wrappedRuby rubyEnv.bundler nodejs yarn git cacert ];
 
     # Since version 12.6.0, the rake tasks need the location of git,
     # so we have to apply the location patches here too.
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 87f200a20fc..13ed3db3a4b 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -21,14 +21,14 @@ let
       };
   };
 in buildGoModule rec {
-  version = "14.1.1";
+  version = "14.1.2";
   pname = "gitaly";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-UCWN9TXbfysNLMOU8bDcjrwYtz7+kTCDQmRAl84ysWU=";
+    sha256 = "sha256-7OqTOJDQJ/ojHevj/ld8VLjm5ZRQgCGZKchPrAlOSO8=";
   };
 
   vendorSha256 = "sha256-/SZJGRUg0qV7RYCUSGDE/HL9CmzGVffhL6BmZ316tU0=";
@@ -37,7 +37,7 @@ in buildGoModule rec {
     inherit rubyEnv;
   };
 
-  buildFlags = [ "-tags=static,system_libgit2" ];
+  tags = [ "static,system_libgit2" ];
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ rubyEnv.wrappedRuby libgit2 openssl zlib pcre http-parser ];
   doCheck = false;
diff --git a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
index 704d9080331..ee039c4adb2 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-shell/default.nix
@@ -2,12 +2,12 @@
 
 buildGoModule rec {
   pname = "gitlab-shell";
-  version = "13.19.0";
+  version = "13.19.1";
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "sha256-CmatKArkpDS3GGbIIkKjs4FwywLiU+lRL32GKEpOqZ0=";
+    sha256 = "sha256-F0TW0VjO5hc/lHqZhhMJJvpHazWRyR7Q7W324Fgn7fA=";
   };
 
   buildInputs = [ ruby ];
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index beee2c2c894..ffd6ff7d16c 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.1.1";
+  version = "14.1.2";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 2ac92ce9ae7..d1147c55c78 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -798,7 +798,7 @@ GEM
       nenv (~> 0.1)
       shellany (~> 0.0)
     numerizer (0.2.0)
-    oauth (0.5.4)
+    oauth (0.5.6)
     oauth2 (1.4.7)
       faraday (>= 0.8, < 2.0)
       jwt (>= 1.0, < 3.0)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index 236245ca001..933776ace73 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -3427,10 +3427,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zszdg8q1b135z7l7crjj234k4j0m347hywp5kj6zsq7q78pw09y";
+      sha256 = "1zwd6v39yqfdrpg1p3d9jvzs9ljg55ana2p06m0l7qn5w0lgx1a0";
       type = "gem";
     };
-    version = "0.5.4";
+    version = "0.5.6";
   };
   oauth2 = {
     dependencies = ["faraday" "jwt" "multi_json" "multi_xml" "rack"];
diff --git a/pkgs/applications/version-management/pijul/default.nix b/pkgs/applications/version-management/pijul/default.nix
index 4c4cedd5a12..e5a12dd9006 100644
--- a/pkgs/applications/version-management/pijul/default.nix
+++ b/pkgs/applications/version-management/pijul/default.nix
@@ -13,14 +13,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pijul";
-  version = "1.0.0-alpha.52";
+  version = "1.0.0-alpha.53";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "0m759zfh40kxswsv40z1l332lc8lfqppyv8188y4i6biqmgbx8f1";
+    sha256 = "1y5wnqscyfhd806qs6gfmssm7hvfdi7mxc9p1125jnmzca4wcsm2";
   };
 
-  cargoSha256 = "0f31hw2zjvhkhsb0ykvw4c3d0qy8zirgsaz7yr89hy01rs23bh8z";
+  cargoSha256 = "0m9zjagq59rxf5pysklal030f4n0dqgmjsgwcnljajxc2r26665h";
 
   cargoBuildFlags = lib.optional gitImportSupport "--features=git";
 
diff --git a/pkgs/applications/version-management/sublime-merge/common.nix b/pkgs/applications/version-management/sublime-merge/common.nix
index e6c83eb55d8..cb78411527d 100644
--- a/pkgs/applications/version-management/sublime-merge/common.nix
+++ b/pkgs/applications/version-management/sublime-merge/common.nix
@@ -83,7 +83,7 @@ in stdenv.mkDerivation (rec {
   inherit pname;
   version = buildVersion;
 
-  phases = [ "installPhase" ];
+  dontUnpack = true;
 
   ${primaryBinary} = binaryPackage;
 
diff --git a/pkgs/applications/video/ccextractor/default.nix b/pkgs/applications/video/ccextractor/default.nix
index d18ca43cbf7..6e47f96253e 100644
--- a/pkgs/applications/video/ccextractor/default.nix
+++ b/pkgs/applications/video/ccextractor/default.nix
@@ -1,7 +1,17 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, cmake
-, glew, glfw3, leptonica, libiconv, tesseract3, zlib }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, cmake
+, libiconv
+, zlib
+, enableOcr ? true
+, makeWrapper
+, tesseract4
+, leptonica
+, ffmpeg
+}:
 
-with lib;
 stdenv.mkDerivation rec {
   pname = "ccextractor";
   version = "0.91";
@@ -15,11 +25,20 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "source/src";
 
-  nativeBuildInputs = [ pkg-config cmake ];
+  nativeBuildInputs = [ pkg-config cmake makeWrapper ];
 
-  buildInputs = [ glew glfw3 leptonica tesseract3 zlib ] ++ lib.optional (!stdenv.isLinux) libiconv;
+  buildInputs = [ zlib ]
+    ++ lib.optional (!stdenv.isLinux) libiconv
+    ++ lib.optionals enableOcr [ leptonica tesseract4 ffmpeg ];
 
-  meta = {
+  cmakeFlags = lib.optionals enableOcr [ "-DWITH_OCR=on" "-DWITH_HARDSUBX=on" ];
+
+  postInstall = lib.optionalString enableOcr ''
+    wrapProgram "$out/bin/ccextractor" \
+      --set TESSDATA_PREFIX "${tesseract4}/share/"
+  '';
+
+  meta = with lib; {
     homepage = "https://www.ccextractor.org";
     description = "Tool that produces subtitles from closed caption data in videos";
     longDescription = ''
@@ -28,7 +47,13 @@ stdenv.mkDerivation rec {
       It works on Linux, Windows, and OSX.
     '';
     platforms = platforms.unix;
-    license = licenses.gpl2;
+    # undefined reference to `png_do_expand_palette_rgba8_neon'
+    # undefined reference to `png_riffle_palette_neon'
+    # undefined reference to `png_do_expand_palette_rgb8_neon'
+    # undefined reference to `png_init_filter_functions_neon'
+    # during Linking C executable ccextractor
+    broken = stdenv.isAarch64;
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ titanous ];
   };
 }
diff --git a/pkgs/applications/video/epgstation/default.nix b/pkgs/applications/video/epgstation/default.nix
index f1f89b10907..3d910ad4c0e 100644
--- a/pkgs/applications/video/epgstation/default.nix
+++ b/pkgs/applications/video/epgstation/default.nix
@@ -27,7 +27,7 @@ let
     # FIXME: This should be removed when a complete fix is available
     # https://github.com/svanderburg/node2nix/issues/145
     name = "workaround-opencollective-buildfailures";
-    phases = [ "installPhase" ];
+    dontUnpack = true;
     installPhase = ''
       mkdir -p $out/bin
       touch $out/bin/opencollective-postinstall
diff --git a/pkgs/applications/video/obs-studio/plugins/default.nix b/pkgs/applications/video/obs-studio/plugins/default.nix
index 67425e2fee0..95b41c1c86f 100644
--- a/pkgs/applications/video/obs-studio/plugins/default.nix
+++ b/pkgs/applications/video/obs-studio/plugins/default.nix
@@ -8,4 +8,5 @@
   obs-websocket = libsForQt5.callPackage ./obs-websocket.nix {};
   wlrobs = callPackage ./wlrobs.nix {};
   looking-glass-obs = callPackage ./looking-glass-obs.nix {};
+  obs-nvfbc = callPackage ./obs-nvfbc.nix {};
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix b/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix
new file mode 100644
index 00000000000..e64031ce7bb
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/plugins/obs-nvfbc.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, fetchFromGitLab, meson, ninja, pkg-config
+, obs-studio, libGL, libX11
+}:
+
+stdenv.mkDerivation rec {
+  pname = "obs-nvfbc";
+  version = "0.0.3";
+
+  src = fetchFromGitLab {
+    owner = "fzwoch";
+    repo = "obs-nvfbc";
+    rev = "v${version}";
+    sha256 = "0zyvks6gc6fr0a1j5b4y20rcx6ah35v6yiz05f6g3x6bhqi92l33";
+  };
+
+  nativeBuildInputs = [ meson pkg-config ninja ];
+  buildInputs = [ obs-studio libGL libX11 ];
+
+  meta = with lib; {
+    description = "OBS Studio source plugin for NVIDIA FBC API";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ babbaj ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/video/webtorrent_desktop/default.nix b/pkgs/applications/video/webtorrent_desktop/default.nix
index 3b486654aeb..b4f8af61fca 100644
--- a/pkgs/applications/video/webtorrent_desktop/default.nix
+++ b/pkgs/applications/video/webtorrent_desktop/default.nix
@@ -63,7 +63,6 @@
       url = "https://raw.githubusercontent.com/webtorrent/webtorrent-desktop/v${version}/static/linux/share/icons/hicolor/48x48/apps/webtorrent-desktop.png";
       sha256 = "00y96w9shbbrdbf6xcjlahqd08154kkrxmqraik7qshiwcqpw7p4";
     };
-    phases = [ "unpackPhase" "installPhase" ];
     nativeBuildInputs = [ dpkg ];
     installPhase = ''
       mkdir -p $out/share/{applications,icons/hicolor/{48x48,256x256}/apps}
diff --git a/pkgs/applications/virtualization/driver/win-qemu/default.nix b/pkgs/applications/virtualization/driver/win-qemu/default.nix
index d8e233e3523..7c1eb0055a3 100644
--- a/pkgs/applications/virtualization/driver/win-qemu/default.nix
+++ b/pkgs/applications/virtualization/driver/win-qemu/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation  {
   name = "win-qemu-0.1.105-1";
   version = "0.1.105-1";
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   src = fetchurl {
     url = "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.105-1/virtio-win.iso";
diff --git a/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix b/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix
index c4c5cb80728..e9ad3b86338 100644
--- a/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix
+++ b/pkgs/applications/virtualization/driver/win-signed-gplpv-drivers/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation  {
   name = "gplpv-0.11.0.373";
   version = "0.11.0.373";
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   buildPhase = ''
     mkdir -p x86
diff --git a/pkgs/applications/virtualization/driver/win-virtio/default.nix b/pkgs/applications/virtualization/driver/win-virtio/default.nix
index 7de6498ab5b..060cc4b4ebf 100644
--- a/pkgs/applications/virtualization/driver/win-virtio/default.nix
+++ b/pkgs/applications/virtualization/driver/win-virtio/default.nix
@@ -3,7 +3,7 @@ stdenv.mkDerivation rec {
   pname = "win-virtio";
   version = "0.1.196-1";
 
-  phases = [ "buildPhase" "installPhase" ];
+  dontUnpack = true;
 
   src = fetchurl {
     url = "https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-${version}/virtio-win.iso";
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index 198e3b694ce..bf4e14a6bab 100644
--- a/pkgs/applications/virtualization/lima/default.nix
+++ b/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
-    owner = "AkihiroSuda";
+    owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1952xGSfVFI2Fs5HLJKCyB6ZxKFf5uPKXIlctM/T+8o=";
+    sha256 = "sha256-UwsAeU7Me2UN9pUWvqGgQ7XSNcrClXYOA+9F6yO2aqA=";
   };
 
-  vendorSha256 = "sha256-rPL/jxMHMkKffoYLSI3FFtFRYGtARKmrODmL9w+rN0E=";
+  vendorSha256 = "sha256-vdqLdSXQ2ywZoG7ROQP9PLWUqhoOO7N5li+xjc2HtzM=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
@@ -44,7 +44,7 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/AkihiroSuda/lima";
+    homepage = "https://github.com/lima-vm/lima";
     description = "Linux virtual machines (on macOS, in most cases)";
     license = licenses.asl20;
     maintainers = with maintainers; [ anhduy ];
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index d4ee107df24..5bf5f169e47 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -31,20 +31,19 @@
 , nixosTestRunner ? false
 }:
 
-with lib;
 let
-  audio = optionalString alsaSupport "alsa,"
-    + optionalString pulseSupport "pa,"
-    + optionalString sdlSupport "sdl,";
+  audio = lib.optionalString alsaSupport "alsa,"
+    + lib.optionalString pulseSupport "pa,"
+    + lib.optionalString sdlSupport "sdl,";
 
 in
 
 stdenv.mkDerivation rec {
-  version = "6.0.0";
   pname = "qemu"
     + lib.optionalString xenSupport "-xen"
     + lib.optionalString hostCpuOnly "-host-cpu-only"
     + lib.optionalString nixosTestRunner "-for-vm-tests";
+  version = "6.0.0";
 
   src = fetchurl {
     url= "https://download.qemu.org/qemu-${version}.tar.xz";
@@ -52,32 +51,32 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ makeWrapper python python.pkgs.sphinx pkg-config flex bison meson ninja ]
-    ++ optionals gtkSupport [ wrapGAppsHook ]
-    ++ optionals stdenv.isLinux [ autoPatchelfHook ];
-  buildInputs =
-    [ zlib glib perl pixman
-      vde2 texinfo lzo snappy
-      gnutls nettle curl
-    ]
-    ++ optionals ncursesSupport [ ncurses ]
-    ++ optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
-    ++ optionals seccompSupport [ libseccomp ]
-    ++ optionals numaSupport [ numactl ]
-    ++ optionals pulseSupport [ libpulseaudio ]
-    ++ optionals sdlSupport [ SDL2 SDL2_image ]
-    ++ optionals gtkSupport [ gtk3 gettext vte ]
-    ++ optionals vncSupport [ libjpeg libpng ]
-    ++ optionals smartcardSupport [ libcacard ]
-    ++ optionals spiceSupport [ spice-protocol spice ]
-    ++ optionals usbredirSupport [ usbredir ]
-    ++ optionals stdenv.isLinux [ alsa-lib libaio libcap_ng libcap attr ]
-    ++ optionals xenSupport [ xen ]
-    ++ optionals cephSupport [ ceph ]
-    ++ optionals glusterfsSupport [ glusterfs libuuid ]
-    ++ optionals openGLSupport [ mesa epoxy libdrm ]
-    ++ optionals virglSupport [ virglrenderer ]
-    ++ optionals libiscsiSupport [ libiscsi ]
-    ++ optionals smbdSupport [ samba ];
+    ++ lib.optionals gtkSupport [ wrapGAppsHook ]
+    ++ lib.optionals stdenv.isLinux [ autoPatchelfHook ];
+
+  buildInputs = [ zlib glib perl pixman
+    vde2 texinfo lzo snappy
+    gnutls nettle curl
+  ]
+    ++ lib.optionals ncursesSupport [ ncurses ]
+    ++ lib.optionals stdenv.isDarwin [ CoreServices Cocoa Hypervisor rez setfile ]
+    ++ lib.optionals seccompSupport [ libseccomp ]
+    ++ lib.optionals numaSupport [ numactl ]
+    ++ lib.optionals pulseSupport [ libpulseaudio ]
+    ++ lib.optionals sdlSupport [ SDL2 SDL2_image ]
+    ++ lib.optionals gtkSupport [ gtk3 gettext vte ]
+    ++ lib.optionals vncSupport [ libjpeg libpng ]
+    ++ lib.optionals smartcardSupport [ libcacard ]
+    ++ lib.optionals spiceSupport [ spice-protocol spice ]
+    ++ lib.optionals usbredirSupport [ usbredir ]
+    ++ lib.optionals stdenv.isLinux [ alsa-lib libaio libcap_ng libcap attr ]
+    ++ lib.optionals xenSupport [ xen ]
+    ++ lib.optionals cephSupport [ ceph ]
+    ++ lib.optionals glusterfsSupport [ glusterfs libuuid ]
+    ++ lib.optionals openGLSupport [ mesa epoxy libdrm ]
+    ++ lib.optionals virglSupport [ virglrenderer ]
+    ++ lib.optionals libiscsiSupport [ libiscsi ]
+    ++ lib.optionals smbdSupport [ samba ];
 
   dontUseMesonConfigure = true; # meson's configurePhase isn't compatible with qemu build
 
@@ -96,8 +95,8 @@ stdenv.mkDerivation rec {
       url = "https://gitlab.com/qemu-project/qemu/-/commit/9f22893adcb02580aee5968f32baa2cd109b3ec2.patch";
       sha256 = "1vkhm9vl671y4cra60b6704339qk1h5dyyb3dfvmvpsvfyh2pm7n";
     })
-  ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch
-    ++ optionals stdenv.hostPlatform.isMusl [
+  ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
+    ++ lib.optionals stdenv.hostPlatform.isMusl [
     (fetchpatch {
       url = "https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/xattr_size_max.patch";
       sha256 = "1xfdjs1jlvs99hpf670yianb8c3qz2ars8syzyz8f2c2cp5y4bxb";
@@ -149,36 +148,35 @@ stdenv.mkDerivation rec {
       --replace '$source_path/VERSION' '$source_path/QEMU_VERSION'
     substituteInPlace meson.build \
       --replace "'VERSION'" "'QEMU_VERSION'"
-  '' + optionalString stdenv.hostPlatform.isMusl ''
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H"
   '';
 
-  configureFlags =
-    [ "--audio-drv-list=${audio}"
-      "--enable-docs"
-      "--enable-tools"
-      "--enable-guest-agent"
-      "--localstatedir=/var"
-      "--sysconfdir=/etc"
-    ]
-    ++ optional numaSupport "--enable-numa"
-    ++ optional seccompSupport "--enable-seccomp"
-    ++ optional smartcardSupport "--enable-smartcard"
-    ++ optional spiceSupport "--enable-spice"
-    ++ optional usbredirSupport "--enable-usb-redir"
-    ++ optional (hostCpuTargets != null) "--target-list=${lib.concatStringsSep "," hostCpuTargets}"
-    ++ optional stdenv.isDarwin "--enable-cocoa"
-    ++ optional stdenv.isDarwin "--enable-hvf"
-    ++ optional stdenv.isLinux "--enable-linux-aio"
-    ++ optional gtkSupport "--enable-gtk"
-    ++ optional xenSupport "--enable-xen"
-    ++ optional cephSupport "--enable-rbd"
-    ++ optional glusterfsSupport "--enable-glusterfs"
-    ++ optional openGLSupport "--enable-opengl"
-    ++ optional virglSupport "--enable-virglrenderer"
-    ++ optional tpmSupport "--enable-tpm"
-    ++ optional libiscsiSupport "--enable-libiscsi"
-    ++ optional smbdSupport "--smbd=${samba}/bin/smbd";
+  configureFlags = [
+    "--audio-drv-list=${audio}"
+    "--enable-docs"
+    "--enable-tools"
+    "--enable-guest-agent"
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+  ] ++ lib.optional numaSupport "--enable-numa"
+    ++ lib.optional seccompSupport "--enable-seccomp"
+    ++ lib.optional smartcardSupport "--enable-smartcard"
+    ++ lib.optional spiceSupport "--enable-spice"
+    ++ lib.optional usbredirSupport "--enable-usb-redir"
+    ++ lib.optional (hostCpuTargets != null) "--target-list=${lib.concatStringsSep "," hostCpuTargets}"
+    ++ lib.optional stdenv.isDarwin "--enable-cocoa"
+    ++ lib.optional stdenv.isDarwin "--enable-hvf"
+    ++ lib.optional stdenv.isLinux "--enable-linux-aio"
+    ++ lib.optional gtkSupport "--enable-gtk"
+    ++ lib.optional xenSupport "--enable-xen"
+    ++ lib.optional cephSupport "--enable-rbd"
+    ++ lib.optional glusterfsSupport "--enable-glusterfs"
+    ++ lib.optional openGLSupport "--enable-opengl"
+    ++ lib.optional virglSupport "--enable-virglrenderer"
+    ++ lib.optional tpmSupport "--enable-tpm"
+    ++ lib.optional libiscsiSupport "--enable-libiscsi"
+    ++ lib.optional smbdSupport "--smbd=${samba}/bin/smbd";
 
   doCheck = false; # tries to access /dev
   dontWrapGApps = true;
@@ -190,7 +188,7 @@ stdenv.mkDerivation rec {
     # copy qemu-ga (guest agent) to separate output
     mkdir -p $ga/bin
     cp $out/bin/qemu-ga $ga/bin/
-  '' + optionalString gtkSupport ''
+  '' + lib.optionalString gtkSupport ''
     # wrap GTK Binaries
     for f in $out/bin/qemu-system-*; do
       wrapGApp $f
diff --git a/pkgs/applications/virtualization/umoci/default.nix b/pkgs/applications/virtualization/umoci/default.nix
index 82e6ca9086f..22db5503c0d 100644
--- a/pkgs/applications/virtualization/umoci/default.nix
+++ b/pkgs/applications/virtualization/umoci/default.nix
@@ -21,7 +21,7 @@ buildGoModule rec {
 
   doCheck = false;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   nativeBuildInputs = [ go-md2man installShellFiles ];
 
diff --git a/pkgs/applications/window-managers/labwc/default.nix b/pkgs/applications/window-managers/labwc/default.nix
index afa391e09d8..3bbe0816464 100644
--- a/pkgs/applications/window-managers/labwc/default.nix
+++ b/pkgs/applications/window-managers/labwc/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , pkg-config
 , meson
 , ninja
@@ -22,43 +21,34 @@
 
 stdenv.mkDerivation rec {
   pname = "labwc";
-  version = "0.2.1"; # We're effectively using that version
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "johanmalm";
     repo = pname;
-    rev = "6744e103014bcb0480133a029ec0f82f9b017e60";
-    sha256 = "0sdr4zkix8x3vmna4i946y3whpj7fqizpaac6yj7w0as9d6hj0iq";
+    rev = version;
+    sha256 = "sha256-v8LGiQG/n1IXeVMPWyiP9MgZzZLW78JftvxnRVTswaM=";
   };
 
-  patches = [
-    # To fix the build with wlroots 0.14:
-    (fetchpatch {
-      # output: access texture width/height directly
-      url = "https://github.com/johanmalm/labwc/commit/892e93dd84c514b4e6f34a0fab01c727edd2d8de.patch";
-      sha256 = "1p1pg1kd98727wlcspa2sffl7ijhvsfad6bj2rxsw322q0bz3yrh";
-    })
-    (fetchpatch {
-      # xdg: chase swaywm/wlroots@9e58301
-      url = "https://github.com/johanmalm/labwc/commit/874cc9e63706dd54d9f9fcb071f2d2e0c19d3d7e.patch";
-      sha256 = "0ypd47q5ffq4wjkrcr3068qjknn2s66zszyxg3dl0f87q2pxh6wx";
-    })
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    scdoc
   ];
-
-  nativeBuildInputs = [ pkg-config meson ninja scdoc ];
   buildInputs = [
     cairo
     glib
+    libdrm
     libinput
+    libxcb
+    libxkbcommon
     libxml2
     pango
     wayland
     wayland-protocols
     wlroots
-    libxcb
-    libxkbcommon
     xwayland
-    libdrm
   ];
 
   mesonFlags = [ "-Dxwayland=enabled" ];
diff --git a/pkgs/applications/window-managers/mlvwm/default.nix b/pkgs/applications/window-managers/mlvwm/default.nix
new file mode 100644
index 00000000000..14170be53ac
--- /dev/null
+++ b/pkgs/applications/window-managers/mlvwm/default.nix
@@ -0,0 +1,53 @@
+{ lib, stdenv, fetchFromGitHub, gccmakedep, libX11, libXext, libXpm, imake, installShellFiles, ... }:
+
+stdenv.mkDerivation rec {
+  pname = "mlvwm";
+  version = "0.9.3";
+
+  src = fetchFromGitHub {
+    owner = "morgant";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-Sps2+XyMTcNuhQTLrW/8vSZIcSzMejoi1m64SK129YI=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  buildInputs = [ gccmakedep libX11 libXext libXpm imake ];
+
+  buildPhase = ''
+    (cd man && xmkmf)
+    (cd sample_rc && xmkmf)
+    (cd mlvwm && xmkmf)
+    xmkmf
+    make
+  '';
+
+  installPhase = ''
+    mkdir -p $out/{bin,etc}
+    cp mlvwm/mlvwm $out/bin
+    cp sample_rc/Mlvwmrc* $out/etc
+    runHook postInstall
+  '';
+
+  postInstall = ''
+    mv man/mlvwm.man man/mlvwm.1
+    installManPage man/mlvwm.1
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/morgant/mlvwm";
+    description = "Macintosh-like Virtual Window Manager";
+    license = licenses.mit;
+    longDescription = ''
+      MLVWM or Macintosh-Like Virtual Window Manager,
+      is an FVWM descendant created by Takashi Hasegawa
+      in 1997 while studying at Nagoya University and
+      was written entirely in the C programming language.
+      As its name implies, it attempts to emulate the
+      pre-Mac OS X Macintosh look and feel in its layout and window design.
+    '';
+    platforms = platforms.linux;
+    maintainers = [ maintainers.j0hax ];
+  };
+}
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 1001f90023a..221befadbc4 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -5,7 +5,6 @@
   callPackage,
   closureInfo,
   coreutils,
-  docker,
   e2fsprogs,
   fakeroot,
   findutils,
@@ -17,6 +16,7 @@
   moreutils,
   nix,
   pigz,
+  pkgs,
   rsync,
   runCommand,
   runtimeShell,
@@ -123,24 +123,7 @@ rec {
 
   # We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
   # And we cannot untar it, because then we cannot preserve permissions etc.
-  tarsum = runCommand "tarsum" {
-    nativeBuildInputs = [ go ];
-  } ''
-    mkdir tarsum
-    cd tarsum
-
-    cp ${./tarsum.go} tarsum.go
-    export GOPATH=$(pwd)
-    export GOCACHE="$TMPDIR/go-cache"
-    export GO111MODULE=off
-    mkdir -p src/github.com/docker/docker/pkg
-    ln -sT ${docker.moby-src}/pkg/tarsum src/github.com/docker/docker/pkg/tarsum
-    go build
-
-    mkdir -p $out/bin
-
-    cp tarsum $out/bin/
-  '';
+  tarsum = pkgs.tarsum;
 
   # buildEnv creates symlinks to dirs, which is hard to edit inside the overlay VM
   mergeDrvs = {
diff --git a/pkgs/build-support/docker/tarsum.nix b/pkgs/build-support/docker/tarsum.nix
new file mode 100644
index 00000000000..734c6b3d5ae
--- /dev/null
+++ b/pkgs/build-support/docker/tarsum.nix
@@ -0,0 +1,42 @@
+{ stdenv, go, docker, nixosTests }:
+
+stdenv.mkDerivation {
+  name = "tarsum";
+
+  nativeBuildInputs = [ go ];
+  disallowedReferences = [ go ];
+
+  dontUnpack = true;
+
+  CGO_ENABLED = 0;
+  GOFLAGS = "-trimpath";
+  GO111MODULE = "off";
+
+  buildPhase = ''
+    runHook preBuild
+    mkdir tarsum
+    cd tarsum
+    cp ${./tarsum.go} tarsum.go
+    export GOPATH=$(pwd)
+    export GOCACHE="$TMPDIR/go-cache"
+    mkdir -p src/github.com/docker/docker/pkg
+    ln -sT ${docker.moby-src}/pkg/tarsum src/github.com/docker/docker/pkg/tarsum
+    go build
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/bin
+    cp tarsum $out/bin/
+    runHook postInstall
+  '';
+
+  passthru = {
+    tests = {
+      dockerTools = nixosTests.docker-tools;
+    };
+  };
+
+  meta.platforms = go.meta.platforms;
+}
diff --git a/pkgs/data/fonts/comfortaa/default.nix b/pkgs/data/fonts/comfortaa/default.nix
index 525c2920dbe..39c228d235b 100644
--- a/pkgs/data/fonts/comfortaa/default.nix
+++ b/pkgs/data/fonts/comfortaa/default.nix
@@ -1,17 +1,22 @@
-{ lib, fetchzip }:
+{ lib, fetchFromGitHub }:
 
 let
-  version = "3.001";
-in fetchzip rec {
+  version = "3.101";
+in fetchFromGitHub rec {
   name = "comfortaa-${version}";
 
-  url = "https://orig00.deviantart.net/40a3/f/2017/093/d/4/comfortaa___font_by_aajohan-d1qr019.zip";
+  owner = "googlefonts";
+  repo = "comfortaa";
+  rev = version;
+
   postFetch = ''
-    mkdir -p $out/share/fonts $out/share/doc
-    unzip -j $downloadedFile \*.ttf                        -d $out/share/fonts/truetype
-    unzip -j $downloadedFile \*/FONTLOG.txt \*/donate.html -d $out/share/doc/${name}
+    tar -xf $downloadedFile --strip=1
+    mkdir -p $out/share/fonts/truetype $out/share/doc/comfortaa
+    cp fonts/TTF/*.ttf $out/share/fonts/truetype
+    cp FONTLOG.txt README.md $out/share/doc/comfortaa
   '';
-  sha256 = "0z7xr0cnn6ghwivrm5b5awq9bzhnay3y99qq6dkdgfkfdsaz0n9h";
+
+  sha256 = "06jhdrfzl01ma085bp354g002ypmkbp6a51jn1lsj77zfj2mfmfc";
 
   meta = with lib; {
     homepage = "http://aajohan.deviantart.com/art/Comfortaa-font-105395949";
diff --git a/pkgs/data/fonts/fira-mono/default.nix b/pkgs/data/fonts/fira-mono/default.nix
index 2aef2fc4b05..2cf1e7addbf 100644
--- a/pkgs/data/fonts/fira-mono/default.nix
+++ b/pkgs/data/fonts/fira-mono/default.nix
@@ -1,13 +1,14 @@
 { lib, fetchzip }:
 
-fetchzip {
-  name = "fira-mono-3.206";
+let version = "4.202";
+in fetchzip {
+  name = "fira-mono-${version}";
 
-  url = "https://github.com/mozilla/Fira/archive/4.106.zip";
+  url = "https://github.com/mozilla/Fira/archive/${version}.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
-    unzip -j $downloadedFile Fira-4.106/otf/FiraMono\*.otf -d $out/share/fonts/opentype
+    unzip -j $downloadedFile Fira-${version}/otf/FiraMono\*.otf -d $out/share/fonts/opentype
   '';
 
   sha256 = "1ci3fxhdwabvfj4nl16pwcgqnh7s2slp8vblribk8zkpx8cbp1dj";
diff --git a/pkgs/data/fonts/rubik/default.nix b/pkgs/data/fonts/rubik/default.nix
new file mode 100644
index 00000000000..37afebb5cc0
--- /dev/null
+++ b/pkgs/data/fonts/rubik/default.nix
@@ -0,0 +1,103 @@
+{ stdenv, lib, fetchurl }:
+let
+  # Latest commit touching the rubik tree
+  commit = "054aa9d546cd6308f8ff7139b332490e0967aebe";
+in
+stdenv.mkDerivation {
+  pname = "rubik";
+  version = "2.200";
+
+  srcs = [
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Black.ttf";
+      sha256 = "0h4mxqz0b5as7g964bv98aanaghp4wgs2g5wnf7apxnd2fng14dn";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-BlackItalic.ttf";
+      sha256 = "0x8j3fwavkf1jf7s97ncvs0jk463v1fyajcxqxvv7lpk55sjnbpy";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Bold.ttf";
+      sha256 = "0prjqdbdpnhwr66gjw9mc1590gmjl7fir8wnanzch6arvngmxaj9";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-BoldItalic.ttf";
+      sha256 = "1zyl55fkjr61k6yfvgi0cr2iz4s0kkv3mkjpdmpla9jnk10rd8lm";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-ExtraBold.ttf";
+      sha256 = "0vi01lc2dadgmw5z26nkfzn7vl3lsd0flhqqfp40nn8jvpdkb2mq";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-ExtraBoldItalic.ttf";
+      sha256 = "0ldcszzzrc44gldflman7kcfk38x77grjb3zjvxjvgn875ggwabk";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Italic.ttf";
+      sha256 = "09x7fh6ad4w6027410vhkvisgy8vqm2mzdsc19z3szlrxi0gl0rx";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Light.ttf";
+      sha256 = "19a6k0pprcra6nxk3l0k6wkg9g0qn5h1v71rw2m8im64kyjx4qpf";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-LightItalic.ttf";
+      sha256 = "0r9hbh9xnbp0584vjiiq72583j1ai3dw93gfy823c736y6bk0j2m";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Medium.ttf";
+      sha256 = "01nky9la4qjd80dy200j8l7zl0r2h9zw90k7aghzlb5abk4i3zvf";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-MediumItalic.ttf";
+      sha256 = "1i81x9h2cr65bj85z5b2mki59532nvlbh92wb84zfhfdz97s30cq";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-Regular.ttf";
+      sha256 = "1vk4n6yc4x1vlwfrp26jhagyl5l86jwa4lalccc320crrwqfc521";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-SemiBold.ttf";
+      sha256 = "0blmy1ywsf9hr1a66cl12bjn32i072w6ncvsir0s5smm2c0gksvb";
+    })
+    (fetchurl {
+      url = "https://raw.githubusercontent.com/googlefonts/rubik/${commit}/fonts/ttf/Rubik-SemiBoldItalic.ttf";
+      sha256 = "1sj22d3jrlxl6ka0naf5nby3k0i7pzadk5b8xgdhcslwijwiib3y";
+    })
+  ];
+
+  sourceRoot = "./";
+
+  unpackCmd = ''
+    ttfName=$(basename $(stripHash $curSrc))
+    cp $curSrc ./$ttfName
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp -a *.ttf $out/share/fonts/truetype/
+  '';
+
+  meta = with lib; {
+    homepage = "https://fonts.google.com/specimen/Rubik";
+    description = "Rubik Font - is a 5 weight Roman + Italic family.";
+    longDescription = ''
+      The Rubik Fonts project was initiated as part of the Chrome CubeLab
+      project.
+
+      Rubik is a 5 weight Roman + Italic family.
+
+      Rubik supports the Latin, Cyrillic and Hebrew scripts. The Latin and Cyrillic
+      were designed by Philipp Hubert and Sebastian Fischer at Hubert Fischer.
+
+      The Hebrew was initially designed by Philipp and Sebastian, and then revised by
+      type designer and Hebrew native reader Meir Sadan to adjust proportions,
+      spacing and other design details.
+
+      Cyrillic was initially designed by Philipp and Sebastian, and then revised and
+      expanded by Cyreal Fonts Team (Alexei Vanyashin and Nikita Kanarev). Exising
+      glyphs were improved, and glyph set was expanded to GF Cyrillic Plus.
+    '';
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/unifont/default.nix b/pkgs/data/fonts/unifont/default.nix
index 7fb7387179a..f7cb84f285a 100644
--- a/pkgs/data/fonts/unifont/default.nix
+++ b/pkgs/data/fonts/unifont/default.nix
@@ -4,16 +4,16 @@
 
 stdenv.mkDerivation rec {
   pname = "unifont";
-  version = "13.0.05";
+  version = "13.0.06";
 
   ttf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.ttf";
-    sha256 = "0ff7zbyqi45q0171rl9ckj6lpfhcj8a9850d8j89m7wbwky32isf";
+    sha256 = "0hp72lcj8q8cw490lxl5y1ygw9mcicryjwqr1mmkdz8zh4jh8g6p";
   };
 
   pcf = fetchurl {
     url = "mirror://gnu/unifont/${pname}-${version}/${pname}-${version}.pcf.gz";
-    sha256 = "16n666p6rs6l4r8grh67gy4ls33qfnbb5xk7cksywzjwdh42js0r";
+    sha256 = "0y030km1x8mai8zrk661dqsb0yq8rpx6akl7p2sw5ijkcdsfm85f";
   };
 
   nativeBuildInputs = [ libfaketime fonttosfnt mkfontscale ];
@@ -43,10 +43,10 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Unicode font for Base Multilingual Plane";
-    homepage = "http://unifoundry.com/unifont.html";
+    homepage = "https://unifoundry.com/unifont/";
 
     # Basically GPL2+ with font exception.
-    license = "http://unifoundry.com/LICENSE.txt";
+    license = "https://unifoundry.com/LICENSE.txt";
     maintainers = [ maintainers.rycee maintainers.vrthra ];
     platforms = platforms.all;
   };
diff --git a/pkgs/data/fonts/unifont_upper/default.nix b/pkgs/data/fonts/unifont_upper/default.nix
index 04480aaeec7..40799fafab7 100644
--- a/pkgs/data/fonts/unifont_upper/default.nix
+++ b/pkgs/data/fonts/unifont_upper/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "13.0.05";
+  version = "13.0.06";
 in fetchzip rec {
   name = "unifont_upper-${version}";
 
@@ -9,14 +9,14 @@ in fetchzip rec {
 
   postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf";
 
-  sha256 = "1cpi44fzsiq3yqg38763awgri1ma46421c3v8167bsxzsx7vzlkp";
+  sha256 = "0bqw30h5b787dw8bn1dj8shz22mlxr1zmcfp68fpyll5vg02540n";
 
   meta = with lib; {
     description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane";
-    homepage = "http://unifoundry.com/unifont.html";
+    homepage = "https://unifoundry.com/unifont/";
 
     # Basically GPL2+ with font exception.
-    license = "http://unifoundry.com/LICENSE.txt";
+    license = "https://unifoundry.com/LICENSE.txt";
     maintainers = [ maintainers.mathnerd314 maintainers.vrthra ];
     platforms = platforms.all;
   };
diff --git a/pkgs/desktops/plasma-5/default.nix b/pkgs/desktops/plasma-5/default.nix
index 9252aa7b39b..7e1bb2b1092 100644
--- a/pkgs/desktops/plasma-5/default.nix
+++ b/pkgs/desktops/plasma-5/default.nix
@@ -123,12 +123,14 @@ let
       kscreen = callPackage ./kscreen.nix {};
       kscreenlocker = callPackage ./kscreenlocker.nix {};
       ksshaskpass = callPackage ./ksshaskpass.nix {};
-      ksysguard = callPackage ./ksysguard.nix {};
+      ksysguard = throw "ksysguard has been replaced with plasma-systemmonitor";
+      ksystemstats = callPackage ./ksystemstats.nix {};
       kwallet-pam = callPackage ./kwallet-pam.nix {};
       kwayland-integration = callPackage ./kwayland-integration.nix {};
       kwayland-server = callPackage ./kwayland-server {};
       kwin = callPackage ./kwin {};
       kwrited = callPackage ./kwrited.nix {};
+      layer-shell-qt = callPackage ./layer-shell-qt.nix {};
       libkscreen = callPackage ./libkscreen {};
       libksysguard = callPackage ./libksysguard {};
       milou = callPackage ./milou.nix {};
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index f281e11544d..db200b4cd1e 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.21.5/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.22.4/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kdeplasma-addons.nix b/pkgs/desktops/plasma-5/kdeplasma-addons.nix
index 94cf73084bf..77e3cad8d48 100644
--- a/pkgs/desktops/plasma-5/kdeplasma-addons.nix
+++ b/pkgs/desktops/plasma-5/kdeplasma-addons.nix
@@ -2,7 +2,7 @@
   mkDerivation,
   extra-cmake-modules, kdoctools,
   kconfig, kconfigwidgets, kcoreaddons, kcmutils, kholidays,
-  kio, knewstuff, kpurpose, kross, krunner, kservice, ksysguard,
+  kio, knewstuff, kpurpose, kross, krunner, kservice,
   kunitconversion, ibus, plasma-framework, plasma-workspace, qtdeclarative,
   qtwebengine, qtx11extras
 }:
@@ -12,7 +12,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     kconfig kconfigwidgets kcoreaddons kcmutils kholidays kio
-    knewstuff kpurpose kross krunner kservice ksysguard kunitconversion ibus
+    knewstuff kpurpose kross krunner kservice kunitconversion ibus
     plasma-framework plasma-workspace qtdeclarative qtwebengine qtx11extras
   ];
 }
diff --git a/pkgs/desktops/plasma-5/kscreenlocker.nix b/pkgs/desktops/plasma-5/kscreenlocker.nix
index f9b8bb5cfc1..e6c70f8e8cc 100644
--- a/pkgs/desktops/plasma-5/kscreenlocker.nix
+++ b/pkgs/desktops/plasma-5/kscreenlocker.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules, kdoctools,
   kcmutils, kcrash, kdeclarative, kglobalaccel, kidletime,
   kwayland, libXcursor, pam, plasma-framework, qtbase, qtdeclarative, qtx11extras,
-  wayland,
+  wayland, layer-shell-qt,
 }:
 
 mkDerivation {
@@ -12,6 +12,7 @@ mkDerivation {
   buildInputs = [
     kcmutils kcrash kdeclarative kglobalaccel kidletime kwayland
     libXcursor pam plasma-framework qtdeclarative qtx11extras wayland
+    layer-shell-qt
   ];
   outputs = [ "out" "dev" ];
 }
diff --git a/pkgs/desktops/plasma-5/ksysguard.nix b/pkgs/desktops/plasma-5/ksysguard.nix
deleted file mode 100644
index 2c376b53750..00000000000
--- a/pkgs/desktops/plasma-5/ksysguard.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  mkDerivation, lib,
-  extra-cmake-modules, kdoctools,
-  libcap, libpcap, lm_sensors,
-  kconfig, kcoreaddons, ki18n, kiconthemes, kinit, kitemviews,
-  knewstuff, libksysguard, qtbase,
-  networkmanager-qt, libnl
-}:
-
-mkDerivation {
-  name = "ksysguard";
-  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
-  buildInputs = [
-    kconfig kcoreaddons kitemviews kinit kiconthemes knewstuff libksysguard
-    ki18n libcap libpcap lm_sensors networkmanager-qt libnl
-  ];
-}
diff --git a/pkgs/desktops/plasma-5/ksystemstats.nix b/pkgs/desktops/plasma-5/ksystemstats.nix
new file mode 100644
index 00000000000..f117872ce5c
--- /dev/null
+++ b/pkgs/desktops/plasma-5/ksystemstats.nix
@@ -0,0 +1,11 @@
+{ mkDerivation, lib
+, extra-cmake-modules
+, libksysguard, libnl, lm_sensors, networkmanager-qt
+}:
+
+mkDerivation {
+  name = "ksystemstats";
+  NIX_CFLAGS_COMPILE = [ "-I${lib.getBin libksysguard}/share" ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ libksysguard libnl lm_sensors networkmanager-qt ];
+}
diff --git a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
index 7216f54b6c8..d273e262226 100644
--- a/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
+++ b/pkgs/desktops/plasma-5/kwin/0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
@@ -9,13 +9,13 @@ file in-use according to the kernel!
 
 Wrappers cannot affect the `/proc/.../exe` symlink!
 ---
- service_utils.h | 28 +++++++++++++++++++++++++++-
+ src/service_utils.h | 28 +++++++++++++++++++++++++++-
  1 file changed, 27 insertions(+), 1 deletion(-)
 
-diff --git a/service_utils.h b/service_utils.h
+diff --git a/src/service_utils.h b/src/service_utils.h
 index 8a70c1fad..6674f553b 100644
---- a/service_utils.h
-+++ b/service_utils.h
+--- a/src/service_utils.h
++++ b/src/service_utils.h
 @@ -26,8 +26,34 @@ namespace KWin
  const static QString s_waylandInterfaceName = QStringLiteral("X-KDE-Wayland-Interfaces");
  const static QString s_dbusRestrictedInterfaceName = QStringLiteral("X-KDE-DBUS-Restricted-Interfaces");
diff --git a/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch b/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
index 06b3653acee..efde4f4dcf0 100644
--- a/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
+++ b/pkgs/desktops/plasma-5/kwin/0001-follow-symlinks.patch
@@ -4,13 +4,13 @@ Date: Mon, 27 Jan 2020 05:31:13 -0600
 Subject: [PATCH 1/3] follow symlinks
 
 ---
- plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
+ src/plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/plugins/kdecorations/aurorae/src/aurorae.cpp b/plugins/kdecorations/aurorae/src/aurorae.cpp
+diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.cpp b/src/plugins/kdecorations/aurorae/src/aurorae.cpp
 index 5242cb7..2e4ddae 100644
---- a/plugins/kdecorations/aurorae/src/aurorae.cpp
-+++ b/plugins/kdecorations/aurorae/src/aurorae.cpp
+--- a/src/plugins/kdecorations/aurorae/src/aurorae.cpp
++++ b/src/plugins/kdecorations/aurorae/src/aurorae.cpp
 @@ -201,7 +201,7 @@ void Helper::init()
      // so let's try to locate our plugin:
      QString pluginPath;
diff --git a/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch b/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
index 312daa09384..9e37d51c499 100644
--- a/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
+++ b/pkgs/desktops/plasma-5/kwin/0002-xwayland.patch
@@ -4,13 +4,13 @@ Date: Mon, 27 Jan 2020 05:31:23 -0600
 Subject: [PATCH 2/3] xwayland
 
 ---
- xwl/xwayland.cpp | 2 +-
+ src/xwl/xwayland.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/xwl/xwayland.cpp b/xwl/xwayland.cpp
+diff --git a/src/xwl/xwayland.cpp b/src/xwl/xwayland.cpp
 index 57efdde..a211a58 100644
---- a/xwl/xwayland.cpp
-+++ b/xwl/xwayland.cpp
+--- a/src/xwl/xwayland.cpp
++++ b/src/xwl/xwayland.cpp
 @@ -124,7 +124,7 @@ void Xwayland::start()
  
      m_xwaylandProcess = new Process(this);
diff --git a/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch b/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
index eaffaf59187..50c7cef3f8c 100644
--- a/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
+++ b/pkgs/desktops/plasma-5/kwin/0003-plugins-qpa-allow-using-nixos-wrapper.patch
@@ -5,13 +5,13 @@ Subject: [PATCH 3/3] plugins/qpa: allow using nixos wrapper
 
 Signed-off-by: Yaroslav  Bolyukin <iam@lach.pw>
 ---
- plugins/qpa/main.cpp | 2 +-
+ src/plugins/qpa/main.cpp | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/plugins/qpa/main.cpp b/plugins/qpa/main.cpp
+diff --git a/src/plugins/qpa/main.cpp b/src/plugins/qpa/main.cpp
 index efd236b..a69c046 100644
---- a/plugins/qpa/main.cpp
-+++ b/plugins/qpa/main.cpp
+--- a/src/plugins/qpa/main.cpp
++++ b/src/plugins/qpa/main.cpp
 @@ -23,7 +23,7 @@ public:
  QPlatformIntegration *KWinIntegrationPlugin::create(const QString &system, const QStringList &paramList)
  {
diff --git a/pkgs/desktops/plasma-5/layer-shell-qt.nix b/pkgs/desktops/plasma-5/layer-shell-qt.nix
new file mode 100644
index 00000000000..9e18bbb4bff
--- /dev/null
+++ b/pkgs/desktops/plasma-5/layer-shell-qt.nix
@@ -0,0 +1,10 @@
+{ mkDerivation, lib
+, extra-cmake-modules
+, kguiaddons, kidletime, kwayland, kwindowsystem, qtbase, wayland-scanner, wayland, wayland-protocols
+}:
+
+mkDerivation {
+  name = "layer-shell-qt";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kguiaddons kidletime kwindowsystem kwayland qtbase wayland-scanner wayland wayland-protocols ];
+}
diff --git a/pkgs/desktops/plasma-5/libksysguard/default.nix b/pkgs/desktops/plasma-5/libksysguard/default.nix
index e291bc5c4c4..ee9237a318c 100644
--- a/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes,
   knewstuff, kservice, kwidgetsaddons, kwindowsystem, plasma-framework,
-  qtbase, qtscript, qtwebengine, qtx11extras
+  qtbase, qtscript, qtwebengine, qtx11extras, libnl
 }:
 
 mkDerivation {
@@ -15,7 +15,7 @@ mkDerivation {
   buildInputs = [
     kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
     kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
-    qtwebengine knewstuff
+    qtwebengine knewstuff libnl
   ];
   outputs = [ "bin" "dev" "out" ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index e6b161a0723..d8ca0ddfdec 100644
--- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -12,7 +12,7 @@
   attica, baloo, kaccounts-integration, kactivities, kactivities-stats, kauth,
   kcmutils, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons,
   kglobalaccel, ki18n, kitemmodels, knewstuff, knotifications, knotifyconfig,
-  kpeople, krunner, kscreenlocker, ksysguard, kwallet, kwin, phonon,
+  kpeople, krunner, kscreenlocker, kwallet, kwin, phonon,
   plasma-framework, plasma-workspace, qqc2-desktop-style, xf86inputlibinput
 }:
 
@@ -28,7 +28,7 @@ mkDerivation {
     attica baloo kaccounts-integration kactivities kactivities-stats kauth
     kcmutils kdbusaddons kdeclarative kded kdelibs4support kemoticons
     kglobalaccel ki18n kitemmodels knewstuff knotifications knotifyconfig
-    kpeople krunner kscreenlocker ksysguard kwallet kwin plasma-framework
+    kpeople krunner kscreenlocker kwallet kwin plasma-framework
     plasma-workspace qqc2-desktop-style
   ];
 
@@ -41,11 +41,11 @@ mkDerivation {
   '';
   CXXFLAGS = [
     "-I${lib.getDev xorgserver}/include/xorg"
+    "-I${lib.getDev xf86inputsynaptics}/include/xorg"
     ''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/sbin/hwclock\"''
   ];
   cmakeFlags = [
     "-DEvdev_INCLUDE_DIRS=${lib.getDev xf86inputevdev}/include/xorg"
-    "-DSynaptics_INCLUDE_DIRS=${lib.getDev xf86inputsynaptics}/include/xorg"
     "-DXORGLIBINPUT_INCLUDE_DIRS=${lib.getDev xf86inputlibinput}/include/xorg"
   ];
   postInstall = ''
diff --git a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
index e1c325e1693..14f593ea60a 100644
--- a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
@@ -2,21 +2,18 @@ diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/
 index 628af7b..6edd38e 100644
 --- a/kded/engine/backends/encfs/encfsbackend.cpp
 +++ b/kded/engine/backends/encfs/encfsbackend.cpp
-@@ -137,7 +137,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
+@@ -100,12 +100,12 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
      auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
      KConfigGroup backendConfig(config, "EncfsBackend");
- 
--    return process("encfs",
-+    return process(NIXPKGS_ENCFS,
-                    arguments + backendConfig.readEntry("extraMountOptions", QStringList{}),
-                    {});
+
+-    return process("encfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
++    return process(NIXPKGS_ENCFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
  }
-@@ -146,7 +146,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
- 
+
  QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const
  {
 -    return process("encfsctl", arguments, {});
 +    return process(NIXPKGS_ENCFSCTL, arguments, {});
  }
- 
- 
+
+ } // namespace PlasmaVault
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 90d70bb8a70..0cd26b6a6cf 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -4,419 +4,427 @@
 
 {
   bluedevil = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/bluedevil-5.21.5.tar.xz";
-      sha256 = "12b23xr919lb9hjy0rd9hbcz0x0im2i879affdyjxz4px53kgc16";
-      name = "bluedevil-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/bluedevil-5.22.4.tar.xz";
+      sha256 = "10bqk46ygnf72aqxxaxlx4khv1gwj46la1czsjmlszvkcqxrpwa0";
+      name = "bluedevil-5.22.4.tar.xz";
     };
   };
   breeze = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-5.21.5.tar.xz";
-      sha256 = "034qfnqfhmvszjd4rc41av61qfk60bh5hlzq2r8w8lbxvaawcx4p";
-      name = "breeze-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-5.22.4.tar.xz";
+      sha256 = "1b4zrwpaayd6mlwsnwg416ryba32zpg8w2dlh56qbmg6jxzjnybx";
+      name = "breeze-5.22.4.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-grub-5.21.5.tar.xz";
-      sha256 = "1vqdq2kxzyrdy31c2xjp200b40892mvgzmlp7ndc9yp3zj6cj9z7";
-      name = "breeze-grub-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-grub-5.22.4.tar.xz";
+      sha256 = "19zlhq3k80id676sxlf8nhk0a11rkrwmbd256aggdwhz1fivxc1c";
+      name = "breeze-grub-5.22.4.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-gtk-5.21.5.tar.xz";
-      sha256 = "06f7y19xrn9lr7ra5fszhs69dkpdna7sn0apwl6xyivl4cphbaqg";
-      name = "breeze-gtk-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-gtk-5.22.4.tar.xz";
+      sha256 = "1p47vsr2xj00p1r2jhyns2wzchjlhymzzyv2xqy9xd4l8pkv8scb";
+      name = "breeze-gtk-5.22.4.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/breeze-plymouth-5.21.5.tar.xz";
-      sha256 = "0rjbbvmngy4m073z9dyy59cdcvkjbxlqg55n19k8m0f6k0r2ibgk";
-      name = "breeze-plymouth-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/breeze-plymouth-5.22.4.tar.xz";
+      sha256 = "0b9sjn8lfhgyc2sz1r9rnknkas79526qmwi5j3wbxb0va2rcap9z";
+      name = "breeze-plymouth-5.22.4.tar.xz";
     };
   };
   discover = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/discover-5.21.5.tar.xz";
-      sha256 = "112g5xigfpazkh5m8pvd8dhiq44g1vnx7md4789pp6axl88dbf19";
-      name = "discover-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/discover-5.22.4.tar.xz";
+      sha256 = "0ij7b1fyv9rgiw6ywgxzj35c9bd3937w3njzqmkzi2l9zlnrzwvg";
+      name = "discover-5.22.4.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/drkonqi-5.21.5.tar.xz";
-      sha256 = "1bn69i964467k3967934wkkypkzchdmnkxk5nqxs6md835sfb5a0";
-      name = "drkonqi-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/drkonqi-5.22.4.tar.xz";
+      sha256 = "1dy5v50icnlwa4pl5z30q5abv2sbznlrpgiy28hh1mf64hx6hl3w";
+      name = "drkonqi-5.22.4.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kactivitymanagerd-5.21.5.tar.xz";
-      sha256 = "1j7hkqlbhiq3hc2yb250x7zdidi4wndpnbm0x9aqrmi7mr63kdbp";
-      name = "kactivitymanagerd-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kactivitymanagerd-5.22.4.tar.xz";
+      sha256 = "1km0mlqyrvflq45gwffrbwvkrqirb44qn1rp37iif4d82pmx11yv";
+      name = "kactivitymanagerd-5.22.4.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kde-cli-tools-5.21.5.tar.xz";
-      sha256 = "0j8yv814qbyl5d5iyzcw5q6w08gkwhsvbdc19nmlbk9zldvy37rn";
-      name = "kde-cli-tools-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kde-cli-tools-5.22.4.tar.xz";
+      sha256 = "1kh8pba9q61qjjpc945nvx42mm63vrj5bny4iv60jgcfxxwy7qj4";
+      name = "kde-cli-tools-5.22.4.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kdecoration-5.21.5.tar.xz";
-      sha256 = "0k6mhwkv4r5q57bm7jc9wf51gdk8h8zwafmkfqp7ddg5zmxhnmdw";
-      name = "kdecoration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kdecoration-5.22.4.tar.xz";
+      sha256 = "0cc0lskm359lbg93bxny84cf1qnk0h53f64bxy3dvbyn5gmvzsch";
+      name = "kdecoration-5.22.4.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kde-gtk-config-5.21.5.tar.xz";
-      sha256 = "07gc8rydqnvsyrjvgy99ggl5imklzzrmhc36q7kdkp5zkjm7i4gk";
-      name = "kde-gtk-config-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kde-gtk-config-5.22.4.tar.xz";
+      sha256 = "0d56brzpk5yi7cdyvpqg3jlk5n3l2dvk98npw34fd4i3gw357px8";
+      name = "kde-gtk-config-5.22.4.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kdeplasma-addons-5.21.5.tar.xz";
-      sha256 = "0zbxc58z4v3hl2m9p8gc035k4bmimwv1k0y6gsdviclvdhkdfv9w";
-      name = "kdeplasma-addons-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kdeplasma-addons-5.22.4.tar.xz";
+      sha256 = "1flf4mq0zcjh7fnv155hklliidfvflh20d1s84rj8q2ka7phcwk0";
+      name = "kdeplasma-addons-5.22.4.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kgamma5-5.21.5.tar.xz";
-      sha256 = "1qaqcns4xnlxw6pjn7h3gdmwly8w94p9l03bnar7gb75ir342jz6";
-      name = "kgamma5-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kgamma5-5.22.4.tar.xz";
+      sha256 = "0fgx9i031iqrp7w7v7px1vha079cjcdv9w5ah4k1m53g8abriddl";
+      name = "kgamma5-5.22.4.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/khotkeys-5.21.5.tar.xz";
-      sha256 = "04wwz6ji4pna4jd8ps14i9r1s86fdmm7dh8qfy3qz4jzf2gjjn1d";
-      name = "khotkeys-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/khotkeys-5.22.4.tar.xz";
+      sha256 = "1lm1xrbrpym7nhvnzljdgr5nsas8z3i0hgda53j5k6svzk5r3qg8";
+      name = "khotkeys-5.22.4.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kinfocenter-5.21.5.tar.xz";
-      sha256 = "177llrwhk54s91f69ny5v17w1kvqizap55h40kc1a5bndlgqfnki";
-      name = "kinfocenter-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kinfocenter-5.22.4.tar.xz";
+      sha256 = "14vfz5j3fxhfb1fip00fgg9k6dc9ffjf0ss8ij1cx7bga14nmzvw";
+      name = "kinfocenter-5.22.4.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kmenuedit-5.21.5.tar.xz";
-      sha256 = "0yzdx80jgjiaw7nk897m151pg67q11qyww2j8r8rx22bz06rfi70";
-      name = "kmenuedit-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kmenuedit-5.22.4.tar.xz";
+      sha256 = "186j8ky5z3l0mmxx327xzahhsyf7wlds1rsmzzmlxficpg43n90b";
+      name = "kmenuedit-5.22.4.tar.xz";
     };
   };
   kscreen = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kscreen-5.21.5.tar.xz";
-      sha256 = "1nl43888jib16z0djzy3mck6h9rahdwwdwk76y1hp3nhbbaqnsa6";
-      name = "kscreen-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kscreen-5.22.4.tar.xz";
+      sha256 = "0hkn7ap55x4rzm6x3qdinjar9qhnb742zgzmvswy1kn3a8mxby17";
+      name = "kscreen-5.22.4.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kscreenlocker-5.21.5.tar.xz";
-      sha256 = "0drnj3xdza9cbw8124ja2bic8y37k8q1p7mwfxvhgqciqyvpdb8x";
-      name = "kscreenlocker-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kscreenlocker-5.22.4.tar.xz";
+      sha256 = "0i7c6a378h7366h7nl5051mwrx7cadzfaryfnhpskhlgy3l7119j";
+      name = "kscreenlocker-5.22.4.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/ksshaskpass-5.21.5.tar.xz";
-      sha256 = "06gi254yq4cr8f5rl83aprsvvham9h5q4jk6cfd67ghwk6ln7yd2";
-      name = "ksshaskpass-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/ksshaskpass-5.22.4.tar.xz";
+      sha256 = "01f2rz1xqb1jy83427f7rmsb3a7ivkgf2qmm04kwjv29zplg796f";
+      name = "ksshaskpass-5.22.4.tar.xz";
     };
   };
-  ksysguard = {
-    version = "5.21.5";
+  ksystemstats = {
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/ksysguard-5.21.5.tar.xz";
-      sha256 = "1c0vr85j3b1pshyd4w12w9i57bg21gkpvdh1rgqimsnj7yw38fqh";
-      name = "ksysguard-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/ksystemstats-5.22.4.tar.xz";
+      sha256 = "1daz3890v7qbkcsb9m535mfnijdq3rbasxwqs0ixhn2m400yivvg";
+      name = "ksystemstats-5.22.4.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwallet-pam-5.21.5.tar.xz";
-      sha256 = "0svf0iabgfm0sizgar1cbxn2577r04nxh91fznq7jp5zj3lk0gxz";
-      name = "kwallet-pam-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwallet-pam-5.22.4.tar.xz";
+      sha256 = "1ljrrgjvkvs3fsiijgaxj82hzp1fhsiy39r4amwp21v411c80jwq";
+      name = "kwallet-pam-5.22.4.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwayland-integration-5.21.5.tar.xz";
-      sha256 = "1wh44hy1mmrn4kg8jppqvxk9zzfrbiyqzc2i6lfnzic4llz7275x";
-      name = "kwayland-integration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwayland-integration-5.22.4.tar.xz";
+      sha256 = "17nl033vl8i9a92bjbgwwwrkf03lg4726lwdbj3y8xajdp8ql1nb";
+      name = "kwayland-integration-5.22.4.tar.xz";
     };
   };
   kwayland-server = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwayland-server-5.21.5.tar.xz";
-      sha256 = "1j91iqzrip5ady4cz5ipiirs0dhvib05wwa8h7dqa7ysidpc3krg";
-      name = "kwayland-server-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwayland-server-5.22.4.tar.xz";
+      sha256 = "0z3ni5ar2bwpc75ssb3qmkbff85a489sxr7vzqhxa40n48bp85ns";
+      name = "kwayland-server-5.22.4.tar.xz";
     };
   };
   kwin = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwin-5.21.5.tar.xz";
-      sha256 = "0cc3h1n6g902ff50aj3w631cmg6gjaqfvqsfa5jkbxrvl7xfv1m2";
-      name = "kwin-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwin-5.22.4.tar.xz";
+      sha256 = "1x5338aib7kn1lgpb06b8s06bfj2ybfgyr6k0q91zlc53x61qamh";
+      name = "kwin-5.22.4.tar.xz";
     };
   };
   kwrited = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/kwrited-5.21.5.tar.xz";
-      sha256 = "0ki9j44ccgrnm7nh8ddwwkv0144yn2ygfijf0yjyyzb5p5391rz1";
-      name = "kwrited-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/kwrited-5.22.4.tar.xz";
+      sha256 = "1rbkbqf5v8wqd2aldpg396ki8a9fsw82jmzmdhsirq33r5yznn4i";
+      name = "kwrited-5.22.4.tar.xz";
+    };
+  };
+  layer-shell-qt = {
+    version = "5.22.4";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma/5.22.4/layer-shell-qt-5.22.4.tar.xz";
+      sha256 = "11iqk4bla0y0w2frmvzxi4a3jxj3cj2m8y473z3nfb0z8i5yca0m";
+      name = "layer-shell-qt-5.22.4.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/libkscreen-5.21.5.tar.xz";
-      sha256 = "1fkw3rykpj4vvc1iw19kcjhvdbbll6bag91icaxznpir3bvry18k";
-      name = "libkscreen-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/libkscreen-5.22.4.tar.xz";
+      sha256 = "0z2mzha22f2yl7l0ijy4pqpab6n1ivib3grnd583znff02wvj4d2";
+      name = "libkscreen-5.22.4.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/libksysguard-5.21.5.tar.xz";
-      sha256 = "1s7b336ljvnyjsqfn6f6jqbr7k9l4afh2b5rqj7d4ifjm63wdy2z";
-      name = "libksysguard-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/libksysguard-5.22.4.tar.xz";
+      sha256 = "14h66gs7z6gf7wrpdhpd1461431q2plv7kvfsh02fj52l1dzpcc0";
+      name = "libksysguard-5.22.4.tar.xz";
     };
   };
   milou = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/milou-5.21.5.tar.xz";
-      sha256 = "061vd1slk1h0m4l22sxzkzliag4f8bmrv6cbfhdhhk5a90xxph1i";
-      name = "milou-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/milou-5.22.4.tar.xz";
+      sha256 = "11fa9bj3yzriaydfk8q9kc626yv0s0sal5ws13pcd6ksbhslz83s";
+      name = "milou-5.22.4.tar.xz";
     };
   };
   oxygen = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/oxygen-5.21.5.tar.xz";
-      sha256 = "0j9nv00fxy7l62w7486410ivn8hyfnv736740dqqpl1q4jvd62mc";
-      name = "oxygen-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/oxygen-5.22.4.tar.xz";
+      sha256 = "1p5hklryi02xw0byy5zcaxx5zw81vd6vq3s1h8dyhj07vspimpzw";
+      name = "oxygen-5.22.4.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-browser-integration-5.21.5.tar.xz";
-      sha256 = "16v43m5nd48if8j2rbrkklk3w1rg6icggx9hdcw6765q0h1251ab";
-      name = "plasma-browser-integration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-browser-integration-5.22.4.tar.xz";
+      sha256 = "023qbp77ga0jblhhx3437v9jjxx5va7q58abmnpv2nls1xwyq8hb";
+      name = "plasma-browser-integration-5.22.4.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-desktop-5.21.5.tar.xz";
-      sha256 = "09qsnc7dck4j54aj19g94jrd2ifgs7gbxql1ccidj8c0bhq7wl6y";
-      name = "plasma-desktop-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-desktop-5.22.4.tar.xz";
+      sha256 = "0c225lckhsmhig7xsnv5yfajys3w67g6xj4w1hvz1x3hqs79z3kj";
+      name = "plasma-desktop-5.22.4.tar.xz";
     };
   };
   plasma-disks = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-disks-5.21.5.tar.xz";
-      sha256 = "1850ms6nmff4mlfshdbbjlf77siv9h6isldhxk36n555mrrq4791";
-      name = "plasma-disks-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-disks-5.22.4.tar.xz";
+      sha256 = "02brm36akqfhjz9fzyzfinjnb954glrrlwpyhiq1sx073v2ibyap";
+      name = "plasma-disks-5.22.4.tar.xz";
     };
   };
   plasma-firewall = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-firewall-5.21.5.tar.xz";
-      sha256 = "1wal8izrwhm20jkjiqf55y6pk2l3ljk16racb8isr73m568ii6ak";
-      name = "plasma-firewall-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-firewall-5.22.4.tar.xz";
+      sha256 = "1c1mzpd45hd4sb6qsylqgq2x4fay1nskkgmcc1vswmnapcm9gp91";
+      name = "plasma-firewall-5.22.4.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-integration-5.21.5.tar.xz";
-      sha256 = "0x8chc6r3ibv4xxmgi27c0mkr5ym9imw8zzxl596llm4r5q5ax0y";
-      name = "plasma-integration-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-integration-5.22.4.tar.xz";
+      sha256 = "0rslli0jsyyhm6prac3xgilwf58gjxqhsijgvr25sipg6200r2z0";
+      name = "plasma-integration-5.22.4.tar.xz";
     };
   };
   plasma-nano = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-nano-5.21.5.tar.xz";
-      sha256 = "04irqa41y6j4582035inkgwy1q27w0fq7fckfj7pbbjz4p9wqx26";
-      name = "plasma-nano-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-nano-5.22.4.tar.xz";
+      sha256 = "1ag57nphgkj3f17s42d81npk0z2n27623szbiz1hpgp7f6994l90";
+      name = "plasma-nano-5.22.4.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-nm-5.21.5.tar.xz";
-      sha256 = "18qbf2n08qcdw6pshhipnpr7sab8nmhj7bfr3qb23s4ildhfd64h";
-      name = "plasma-nm-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-nm-5.22.4.tar.xz";
+      sha256 = "1cvfawsqzk3yzjwnz6gc6l7p3pz9brbh0n6km23i1bis08rks168";
+      name = "plasma-nm-5.22.4.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-pa-5.21.5.tar.xz";
-      sha256 = "00lhr8j5aj1xhyfsdzvm67d1bhqihrp3ki4zl0bqgvy89fi1xvzn";
-      name = "plasma-pa-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-pa-5.22.4.tar.xz";
+      sha256 = "1p000y08p89wvv73glv9ic0gdbdhc9fpzvphx72y420g5hhmnnwa";
+      name = "plasma-pa-5.22.4.tar.xz";
     };
   };
   plasma-phone-components = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-phone-components-5.21.5.tar.xz";
-      sha256 = "0sg78n5fr38n629h0mf66d61hh43hq2r1ag69krb5g0cdycdj6w1";
-      name = "plasma-phone-components-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-phone-components-5.22.4.tar.xz";
+      sha256 = "0mkr7amxvr325y7f98y1368iv4gs6j2x6bkpi20rp8c2vifkvg5b";
+      name = "plasma-phone-components-5.22.4.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-sdk-5.21.5.tar.xz";
-      sha256 = "15ay8jiyyg2h25w4lnvxjnl606bqjk5j3asgnzjkz3n9ny9c1ah1";
-      name = "plasma-sdk-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-sdk-5.22.4.tar.xz";
+      sha256 = "0nrh3zbff25wr59hbsvrygjix56as8rd95smr5075qwdyamcqnhf";
+      name = "plasma-sdk-5.22.4.tar.xz";
     };
   };
   plasma-systemmonitor = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-systemmonitor-5.21.5.tar.xz";
-      sha256 = "1kwfk3b0y2ssj90qwv3diazl5bpf75aigxy7wvp6izbjsjn7yk9w";
-      name = "plasma-systemmonitor-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-systemmonitor-5.22.4.tar.xz";
+      sha256 = "1gl6kjk6b8xwcfrk6xf41jf1lh3zxr5b6qvdv7z6i8wb3pll63cb";
+      name = "plasma-systemmonitor-5.22.4.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-tests-5.21.5.tar.xz";
-      sha256 = "107a0rq220mjhd2g77xaxgs9k29iyzfg5s64rbxrqs8kjzb0h90k";
-      name = "plasma-tests-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-tests-5.22.4.tar.xz";
+      sha256 = "1wf33c0izm9yyjcysiimcpiwmsa64b4ypklga2rbg7kkk7q0nq82";
+      name = "plasma-tests-5.22.4.tar.xz";
     };
   };
   plasma-thunderbolt = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-thunderbolt-5.21.5.tar.xz";
-      sha256 = "161c94haajs7vnbb0lk94h4mb9kd0by7jai1f8lj0zksk6g5vf51";
-      name = "plasma-thunderbolt-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-thunderbolt-5.22.4.tar.xz";
+      sha256 = "1c5ihvam5hfk7xiy3m707jjhpv2rxgl7d2f6m0d764zynm6zax79";
+      name = "plasma-thunderbolt-5.22.4.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-vault-5.21.5.tar.xz";
-      sha256 = "16wpv37jvcbl0p3s3jh15rsjf81bblpc4vxn508mg7z543dba6bm";
-      name = "plasma-vault-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-vault-5.22.4.tar.xz";
+      sha256 = "1p6bl8as8rx36nzwx2rymqmx4rg7dg0bfrxr0flx9jqp1adclf39";
+      name = "plasma-vault-5.22.4.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-workspace-5.21.5.tar.xz";
-      sha256 = "02p931b0iz7gak8i7bhig3j9p7xs6fam7k6hhb5f1bd9pks6xccw";
-      name = "plasma-workspace-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-workspace-5.22.4.tar.xz";
+      sha256 = "1fi0c66f2cgqcbshbaxzch75r28l5w4l3flggccil5c73lavf5mg";
+      name = "plasma-workspace-5.22.4.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plasma-workspace-wallpapers-5.21.5.tar.xz";
-      sha256 = "0jj0092mhnf45qk84zbisqbndvwg0c160dnra73p5qp1dldwv6km";
-      name = "plasma-workspace-wallpapers-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plasma-workspace-wallpapers-5.22.4.tar.xz";
+      sha256 = "0abz3qic8m7dcbd0m1ci8qspfds3fdsqhgv8m6ks2jkcm7z4vnnr";
+      name = "plasma-workspace-wallpapers-5.22.4.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/plymouth-kcm-5.21.5.tar.xz";
-      sha256 = "1janrgz8934pzz83npk02p63vxasbmr3dy39x36qr4qmk9b8qzv0";
-      name = "plymouth-kcm-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/plymouth-kcm-5.22.4.tar.xz";
+      sha256 = "0vh39lidm0dqah14y7nkzqpanlkxpmylf7wc40giavady3d2i1y1";
+      name = "plymouth-kcm-5.22.4.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.21.5";
+    version = "1-5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/polkit-kde-agent-1-5.21.5.tar.xz";
-      sha256 = "1bc9sqg77xywly7yllzrr81agny96hj5as7gi8n0ji4i9l4av2z6";
-      name = "polkit-kde-agent-1-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/polkit-kde-agent-1-5.22.4.tar.xz";
+      sha256 = "0pxrrn4qs96a5p9cp890vdq2g79ah72p655643ciqdb14936p0z2";
+      name = "polkit-kde-agent-1-5.22.4.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/powerdevil-5.21.5.tar.xz";
-      sha256 = "18yxs115qk9mgq0mi2ycaqs43c2m9rha7wz245yz2ib3axdk1c7x";
-      name = "powerdevil-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/powerdevil-5.22.4.tar.xz";
+      sha256 = "17427sv6yh16hmgl94lyb4d7gds0r4hvx8vbbqhzysih2x81xl6m";
+      name = "powerdevil-5.22.4.tar.xz";
     };
   };
   qqc2-breeze-style = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/qqc2-breeze-style-5.21.5.tar.xz";
-      sha256 = "01z91xr2m9j2ch2d3g10vqy60lflvzp8x9wa7p0nsjm5h3fd9jiy";
-      name = "qqc2-breeze-style-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/qqc2-breeze-style-5.22.4.tar.xz";
+      sha256 = "15h9rjc4ry3kw18aw18r8y8av4cn2wckab8gyyi7zx7s54n6zpvc";
+      name = "qqc2-breeze-style-5.22.4.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/sddm-kcm-5.21.5.tar.xz";
-      sha256 = "0v9drq9dlgrv5lkxj3sr2a7ky2h2cqghkq2csh43h8v7a7kwi02j";
-      name = "sddm-kcm-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/sddm-kcm-5.22.4.tar.xz";
+      sha256 = "08j0qd288a5msagpyaqwrw0w6wymxsgqq3rlk8kv3n6qvrsm7174";
+      name = "sddm-kcm-5.22.4.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/systemsettings-5.21.5.tar.xz";
-      sha256 = "1kbsk37fmin0afw5wrn70504bn0cd5pm7i0bppmpi5y81mplwy4m";
-      name = "systemsettings-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/systemsettings-5.22.4.tar.xz";
+      sha256 = "1ap2h1sa6hdakhf6lzy4bhaq5pxc8g7p32iz04894hd7dbb2iv8h";
+      name = "systemsettings-5.22.4.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.21.5";
+    version = "5.22.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.21.5/xdg-desktop-portal-kde-5.21.5.tar.xz";
-      sha256 = "11c2ndmb432j4gwnvmyliycmd0fqyxj76ywki9hi66cv1lifm9xh";
-      name = "xdg-desktop-portal-kde-5.21.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.22.4/xdg-desktop-portal-kde-5.22.4.tar.xz";
+      sha256 = "1xmlw66bw60cl530hjjab8g4krv6di4wpimjaz0a9mv3dnq9xz7m";
+      name = "xdg-desktop-portal-kde-5.22.4.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch b/pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch
new file mode 100644
index 00000000000..8de4c9f57f6
--- /dev/null
+++ b/pkgs/development/compilers/dictu/0001-force-sqlite-to-be-found.patch
@@ -0,0 +1,46 @@
+From bb4767f8fc413ca4cb42879a9a226fd26f10e094 Mon Sep 17 00:00:00 2001
+From: Lucas Ransan <lucas@ransan.tk>
+Date: Tue, 3 Aug 2021 20:39:11 +0200
+Subject: [PATCH] force sqlite to be found
+
+---
+ src/CMakeLists.txt | 16 +++++-----------
+ 1 file changed, 5 insertions(+), 11 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a0f3fee..58b4d0b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -9,7 +9,7 @@ set(INCLUDE_DIR include/)
+ list(FILTER sources EXCLUDE REGEX "(main|linenoise|utf8).c")
+ list(FILTER headers EXCLUDE REGEX "(linenoise|utf8).h")
+ 
+-find_library(SQLITE_LIB SQLite3)
++find_package(SQLite3 REQUIRED)
+ set(THREADS)
+ 
+ if(DISABLE_HTTP)
+@@ -20,16 +20,10 @@ else()
+     list(APPEND libraries curl)
+ endif()
+ 
+-if(NOT SQLITE_LIB)
+-    set(THREADS_PREFER_PTHREAD_FLAG ON)
+-    find_package(Threads REQUIRED)
+-    set(THREADS Threads::Threads)
+-else()
+-    list(FILTER sources EXCLUDE REGEX "sqlite3.c")
+-    list(FILTER headers EXCLUDE REGEX "sqlite3.h")
+-    list(APPEND libraries ${SQLITE_LIB})
+-    add_compile_definitions(INCLUDE_SQLITE_LIB)
+-endif()
++list(FILTER sources EXCLUDE REGEX "sqlite3.c")
++list(FILTER headers EXCLUDE REGEX "sqlite3.h")
++list(APPEND libraries ${SQLite3_LIBRARIES})
++add_compile_definitions(SQLite3_INCLUDE_DIR)
+ 
+ if(WIN32)
+     # ws2_32 is required for winsock2.h to work correctly
+-- 
+2.32.0
+
diff --git a/pkgs/development/compilers/dictu/default.nix b/pkgs/development/compilers/dictu/default.nix
new file mode 100644
index 00000000000..c67afee81db
--- /dev/null
+++ b/pkgs/development/compilers/dictu/default.nix
@@ -0,0 +1,84 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, cmake
+, sqlite
+, httpSupport ? true, curl
+, cliSupport ? true
+, linenoiseSupport ? cliSupport, linenoise
+, enableLTO ? stdenv.cc.isGNU
+}:
+
+assert enableLTO -> stdenv.cc.isGNU;
+
+stdenv.mkDerivation rec {
+  pname = "dictu";
+  version = "0.19.0";
+
+  src = fetchFromGitHub {
+    owner = "dictu-lang";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "5Sfmzz4I0dhcbz14LmXx5cHELRFENunLbZmU93uSEJo=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [
+    sqlite
+  ] ++ lib.optional httpSupport curl
+  ++ lib.optional linenoiseSupport linenoise;
+
+  patches = [
+    ./0001-force-sqlite-to-be-found.patch
+  ];
+
+  postPatch = lib.optionalString (!enableLTO) ''
+    sed -i src/CMakeLists.txt \
+        -e 's/-flto/${lib.optionalString stdenv.cc.isGNU "-Wno-error=format-truncation"}/'
+  '';
+
+  cmakeFlags = [
+    "-DBUILD_CLI=${if cliSupport then "ON" else "OFF"}"
+    "-DDISABLE_HTTP=${if httpSupport then "OFF" else "ON"}"
+    "-DDISABLE_LINENOISE=${if linenoiseSupport then "OFF" else "ON"}"
+  ] ++ lib.optionals enableLTO [ # TODO: LTO with LLVM
+    "-DCMAKE_AR=${stdenv.cc.cc}/bin/gcc-ar"
+    "-DCMAKE_RANLIB=${stdenv.cc.cc}/bin/gcc-ranlib"
+  ];
+
+  doCheck = cliSupport;
+
+  preCheck = ''
+    cd ..
+    sed -i tests/runTests.du \
+        -e '/http/d'
+    sed -i tests/path/realpath.du \
+        -e 's/usr/build/g'
+    sed -i tests/path/isDir.du \
+        -e 's,/usr/bin,/build/source,' \
+        -e '/home/d'
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    ./dictu tests/runTests.du
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -r /build/source/src/include $out/include
+    mkdir -p $out/lib
+    cp /build/source/build/src/libdictu_api* $out/lib
+  '' + lib.optionalString cliSupport ''
+    install -Dm755 /build/source/dictu $out/bin/dictu
+  '';
+
+  meta = with lib; {
+    description = "High-level dynamically typed, multi-paradigm, interpreted programming language";
+    homepage = "https://dictu-lang.com";
+    license = licenses.mit;
+    maintainers = with maintainers; [ luc65r ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/go/1.15.nix b/pkgs/development/compilers/go/1.15.nix
index 74ab1342dab..f9bba06d633 100644
--- a/pkgs/development/compilers/go/1.15.nix
+++ b/pkgs/development/compilers/go/1.15.nix
@@ -51,11 +51,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.15.14";
+  version = "1.15.15";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-YKSlxI1j0KE+yohJAJtiRin/QpyLxdGmqMPE2p805wo=";
+    sha256 = "sha256-BmKuOBMzAoDV8al6LuI7vb46Wnz6YAGySphzoZoNx+w=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix
index 49a2f9656f3..a97aa4fe80d 100644
--- a/pkgs/development/compilers/go/1.16.nix
+++ b/pkgs/development/compilers/go/1.16.nix
@@ -51,11 +51,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.16.6";
+  version = "1.16.7";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-o6XUvEAbUdsGXk+TtSM0ek00OuDAsIplw0I7BaE4A30=";
+    sha256 = "sha256-Gp8olNPYeHKfcEUHLzC+zr4kNSTPL85OCnskix4GVKw=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/graalvm/community-edition.nix b/pkgs/development/compilers/graalvm/community-edition.nix
deleted file mode 100644
index ef35ce9d0c4..00000000000
--- a/pkgs/development/compilers/graalvm/community-edition.nix
+++ /dev/null
@@ -1,288 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, autoPatchelfHook
-, setJavaClassPath
-, makeWrapper
-# minimum dependencies
-, Foundation
-, alsa-lib
-, fontconfig
-, freetype
-, glibc
-, openssl
-, perl
-, unzip
-, xorg
-, zlib
-# runtime dependencies
-, cups
-# runtime dependencies for GTK+ Look and Feel
-, gtkSupport ? true
-, cairo
-, glib
-, gtk3
-}:
-
-let
-  platform = if stdenv.isDarwin then "darwin-amd64" else "linux-amd64";
-  runtimeDependencies = [
-    cups
-  ] ++ lib.optionals gtkSupport [
-    cairo glib gtk3
-  ];
-  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
-  common = javaVersion:
-    let
-      javaVersionPlatform = "${javaVersion}-${platform}";
-      graalvmXXX-ce = stdenv.mkDerivation rec {
-        pname = "graalvm${javaVersion}-ce";
-        version = "21.0.0";
-        srcs = [
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "18q1plrpclp02rlwn3vvv2fcyspvqv2gkzn14f0b59pnladmlv1j";
-                        "11-linux-amd64"  = "1g1xjbr693rimdy2cy6jvz4vgnbnw76wa87xcmaszka206fmpnsc";
-                         "8-darwin-amd64" = "0giv8f7ybdykadzmxjy91i6njbdx6dclyx7g6vyhwk2l1cvxi4li";
-                        "11-darwin-amd64" = "1a8gjp6fp11ms05pd62h1x1ifkkr3wv0hrxic670v90bbps9lsqf";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/graalvm-ce-java${javaVersionPlatform}-${version}.tar.gz";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "0hpq2g9hc8b7j4d8a08kq1mnl6pl7a4kwaj0a3gka3d4m6r7cscg";
-                        "11-linux-amd64"  = "0z3hb2bf0lqzw760civ3h1wvx22a75n7baxc0l2i9h5wxas002y7";
-                         "8-darwin-amd64" = "1izbgl4hjg5jyi422xnkx006qnw163r1i1djf76q1plms40y01ph";
-                        "11-darwin-amd64" = "1d9z75gil0if74ndla9yw3xx9i2bfbcs32qa0z6wi5if66cmknb8";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/native-image-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "122p8psgmzhqnjb2fy1lwghg0kw5qa8xkzgyjp682lwg4j8brz43";
-                        "11-linux-amd64"  = "1vdc90m6s013cbhmj58nb4vyxllbxirw0idlgv0iv9cyhx90hzgz";
-                         "8-darwin-amd64" = "04q0s9xsaskqn9kbhz0mgdk28j2qnxrzqfmw6jn2znr8s8jsc6yp";
-                        "11-darwin-amd64" = "1pw4xd8g5cc9bm52awmm1zxs96ijws43vws7y10wxa6a0nhv7z5f";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/oracle/truffleruby/releases/download/vm-${version}/ruby-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "19m7n4f5jrmsfvgv903sarkcjh55l0nlnw99lvjlcafw5hqzyb91";
-                        "11-linux-amd64"  = "18ibb7l7b4hmbnvyr8j7mrs11mvlsf2j0c8rdd2s93x2114f26ba";
-                         "8-darwin-amd64" = "1zlzi00339kvg4ym2j75ypfkzn8zbwdpriqmkaz4fh28qjmc1dwq";
-                        "11-darwin-amd64" = "0x301i1fimakhi2x29ldr0fsqkb3qs0g9jsmjv27d62dpqx8kgc8";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalpython/releases/download/vm-${version}/python-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-          (fetchurl {
-             sha256 = {  "8-linux-amd64"  = "0dlgbg6kri89r9zbk6n0ch3g8356j1g35bwjng87c2y5y0vcw0b5";
-                        "11-linux-amd64"  = "1yby65hww6zmd2g5pjwbq5pv3iv4gfv060b8fq75fjhwrisyj5gd";
-                         "8-darwin-amd64" = "1smdj491g23i3z7p5rybid18nnz8bphrqjkv0lg2ffyrpn8k6g93";
-                        "11-darwin-amd64" = "056zyn0lpd7741k1szzjwwacka0g7rn0j4ypfmav4h1245mjg8lx";
-                      }.${javaVersionPlatform};
-             url    = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/wasm-installable-svm-java${javaVersionPlatform}-${version}.jar";
-          })
-        ];
-
-        buildInputs = lib.optionals stdenv.isLinux [
-          alsa-lib # libasound.so wanted by lib/libjsound.so
-          fontconfig
-          freetype
-          openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
-          stdenv.cc.cc.lib # libstdc++.so.6
-          xorg.libX11
-          xorg.libXext
-          xorg.libXi
-          xorg.libXrender
-          xorg.libXtst
-          zlib
-        ];
-
-        # Workaround for libssl.so.10 wanted by TruffleRuby
-        # Resulting TruffleRuby cannot use `openssl` library.
-        autoPatchelfIgnoreMissingDeps = true;
-
-        nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ];
-
-        unpackPhase = ''
-           unpack_jar() {
-             jar=$1
-             unzip -q -o $jar -d $out
-             perl -ne 'use File::Path qw(make_path);
-                       use File::Basename qw(dirname);
-                       if (/^(.+) = (.+)$/) {
-                         make_path dirname("$ENV{out}/$1");
-                         system "ln -s $2 $ENV{out}/$1";
-                       }' $out/META-INF/symlinks
-             perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
-                         my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4  eq 'x' ? 0100 : 0) +
-                                    ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7  eq 'x' ? 0010 : 0) +
-                                    ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
-                         chmod $mode, "$ENV{out}/$1";
-                       }' $out/META-INF/permissions
-             rm -rf $out/META-INF
-           }
-
-           mkdir -p $out
-           arr=($srcs)
-
-           # The tarball on Linux has the following directory structure:
-           #
-           #   graalvm-ce-java11-20.3.0/*
-           #
-           # while on Darwin it looks like this:
-           #
-           #   graalvm-ce-java11-20.3.0/Contents/Home/*
-           #
-           # We therefor use --strip-components=1 vs 3 depending on the platform.
-           tar xf ''${arr[0]} -C $out --strip-components=${if stdenv.isLinux then "1" else "3"}
-
-           # Sanity check
-           if [ ! -d $out/bin ]; then
-              echo "The `bin` is directory missing after extracting the graalvm"
-              echo "tarball, please compare the directory structure of the"
-              echo "tarball with what happens in the unpackPhase (in particular"
-              echo "with regards to the `--strip-components` flag)."
-              exit 1
-           fi
-
-           unpack_jar ''${arr[1]}
-           unpack_jar ''${arr[2]}
-           unpack_jar ''${arr[3]}
-           unpack_jar ''${arr[4]}
-        '';
-
-        installPhase = {
-          "8-linux-amd64" = ''
-            # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
-            substituteInPlace $out/jre/lib/security/java.security \
-              --replace file:/dev/random    file:/dev/./urandom \
-              --replace NativePRNGBlocking  SHA1PRNG
-
-            # provide libraries needed for static compilation
-            for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
-              ln -s $f $out/jre/lib/svm/clibraries/${platform}/$(basename $f)
-            done
-
-            # allow using external truffle-api.jar and languages not included in the distrubution
-            rm $out/jre/lib/jvmci/parentClassLoader.classpath
-          '';
-          "11-linux-amd64" = ''
-            # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
-            substituteInPlace $out/conf/security/java.security \
-              --replace file:/dev/random    file:/dev/./urandom \
-              --replace NativePRNGBlocking  SHA1PRNG
-
-            # provide libraries needed for static compilation
-            for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
-              ln -s $f $out/lib/svm/clibraries/${platform}/$(basename $f)
-            done
-          '';
-          "8-darwin-amd64" = ''
-            # allow using external truffle-api.jar and languages not included in the distrubution
-            rm $out/jre/lib/jvmci/parentClassLoader.classpath
-          '';
-          "11-darwin-amd64" = ''
-            # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
-            substituteInPlace $out/conf/security/java.security \
-              --replace file:/dev/random    file:/dev/./urandom \
-              --replace NativePRNGBlocking  SHA1PRNG
-          '';
-        }.${javaVersionPlatform} + ''
-          # jni.h expects jni_md.h to be in the header search path.
-          ln -s $out/include/linux/*_md.h $out/include/
-        '';
-
-        dontStrip = true;
-
-        preFixup = ''
-          # We cannot use -exec since wrapProgram is a function but not a
-          # command.
-          #
-          # jspawnhelper is executed from JVM, so it doesn't need to wrap it,
-          # and it breaks building OpenJDK (#114495).
-          for bin in $( find "$out" -executable -type f -not -path '*/languages/ruby/lib/gems/*' -not -name jspawnhelper ); do
-            if patchelf --print-interpreter "$bin" &> /dev/null || head -n 1 "$bin" | grep '^#!' -q; then
-              wrapProgram "$bin" \
-                --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
-            fi
-          done
-
-          # copy-paste openjdk's preFixup
-          # Set JAVA_HOME automatically.
-          mkdir -p $out/nix-support
-          cat <<EOF > $out/nix-support/setup-hook
-            if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
-          EOF
-
-          find "$out" -name libfontmanager.so -exec \
-            patchelf --add-needed libfontconfig.so {} \;
-        '';
-
-        # $out/bin/native-image needs zlib to build native executables.
-        propagatedBuildInputs = [ setJavaClassPath zlib ] ++
-          # On Darwin native-image calls clang and it
-          # tries to include <Foundation/Foundation.h>,
-          # and Interactive Ruby (irb) requires OpenSSL
-          # headers.
-          lib.optionals stdenv.hostPlatform.isDarwin [ Foundation openssl ];
-
-        doInstallCheck = true;
-        installCheckPhase = ''
-          echo ${lib.escapeShellArg ''
-                   public class HelloWorld {
-                     public static void main(String[] args) {
-                       System.out.println("Hello World");
-                     }
-                   }
-                 ''} > HelloWorld.java
-          $out/bin/javac HelloWorld.java
-
-          # run on JVM with Graal Compiler
-          $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
-
-          # Ahead-Of-Time compilation
-          $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces --no-server HelloWorld
-          ./helloworld | fgrep 'Hello World'
-
-          ${lib.optionalString stdenv.isLinux ''
-            # Ahead-Of-Time compilation with --static
-            # --static flag doesn't work for darwin
-            $out/bin/native-image --no-server --static HelloWorld
-            ./helloworld | fgrep 'Hello World'
-          ''}
-
-          echo "Testing interpreted languages"
-          $out/bin/graalpython -c 'print(1 + 1)'
-          $out/bin/ruby -e 'puts(1 + 1)'
-          $out/bin/node -e 'console.log(1 + 1)'
-
-          echo '1 + 1' | $out/bin/graalpython
-
-          ${lib.optionalString stdenv.isLinux ''
-            # TODO: `irb` on MacOS gives an error saying "Could not find OpenSSL
-            # headers, install via Homebrew or MacPorts or set OPENSSL_PREFIX", even
-            # though `openssl` is in `propagatedBuildInputs`. For more details see:
-            # https://github.com/NixOS/nixpkgs/pull/105815
-            echo '1 + 1' | $out/bin/irb
-          ''}
-
-          echo '1 + 1' | $out/bin/node -i
-        ${lib.optionalString (javaVersion == "11" && stdenv.isLinux) ''
-          # Doesn't work on MacOS, we have this error: "Launching JShell execution engine threw: Operation not permitted (Bind failed)"
-          echo '1 + 1' | $out/bin/jshell
-        ''}'';
-
-        passthru.home = graalvmXXX-ce;
-
-        meta = with lib; {
-          homepage = "https://www.graalvm.org/";
-          description = "High-Performance Polyglot VM";
-          license = with licenses; [ upl gpl2Classpath bsd3 ];
-          maintainers = with maintainers; [ bandresen volth hlolli glittershark babariviere ];
-          platforms = [ "x86_64-linux" "x86_64-darwin" ];
-        };
-      };
-    in
-      graalvmXXX-ce;
-in {
-  graalvm8-ce  = common  "8";
-  graalvm11-ce = common "11";
-}
diff --git a/pkgs/development/compilers/graalvm/community-edition/default.nix b/pkgs/development/compilers/graalvm/community-edition/default.nix
new file mode 100644
index 00000000000..54cc917a5be
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/community-edition/default.nix
@@ -0,0 +1,21 @@
+{ callPackage, Foundation }:
+
+let
+  mkGraal = opts: callPackage (import ./repository.nix opts) {
+    inherit Foundation;
+  };
+in {
+  inherit mkGraal;
+
+  graalvm8-ce = mkGraal rec {
+    version = "21.2.0";
+    javaVersion = "8";
+    platforms = ["x86_64-linux"];
+  };
+
+  graalvm11-ce = mkGraal rec {
+    version = "21.2.0";
+    javaVersion = "11";
+    platforms = ["x86_64-linux" "x86_64-darwin"];
+  };
+}
diff --git a/pkgs/development/compilers/graalvm/community-edition/repository.nix b/pkgs/development/compilers/graalvm/community-edition/repository.nix
new file mode 100644
index 00000000000..50a3b53c579
--- /dev/null
+++ b/pkgs/development/compilers/graalvm/community-edition/repository.nix
@@ -0,0 +1,271 @@
+{ version, javaVersion, platforms }:
+
+{ stdenv, lib, fetchurl, autoPatchelfHook, setJavaClassPath, makeWrapper
+# minimum dependencies
+, Foundation, alsa-lib, fontconfig, freetype, glibc, openssl, perl, unzip, xorg
+, zlib
+# runtime dependencies
+, cups
+# runtime dependencies for GTK+ Look and Feel
+, gtkSupport ? true, cairo, glib, gtk3 }:
+
+let
+  platform = if stdenv.isDarwin then "darwin-amd64" else "linux-amd64";
+  runtimeDependencies = [ cups ]
+    ++ lib.optionals gtkSupport [ cairo glib gtk3 ];
+  runtimeLibraryPath = lib.makeLibraryPath runtimeDependencies;
+  javaVersionPlatform = "${javaVersion}-${platform}";
+  graalvmXXX-ce = stdenv.mkDerivation rec {
+    name = "graalvm${javaVersion}-ce";
+    srcs = [
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "01gyxjmfp7wpcyn7x8b184fn0lp3xryfw619bqch120pzvr6z88f";
+          "11-linux-amd64" = "0w7lhvxm4nggqdcl4xrhdd3y6dqw9jhyca9adjkp508n4lqf1lxv";
+          "11-darwin-amd64" = "0dnahicdl0vhrbiml9z9nbb7k75hbsjj8rs246i1lwril12dqb7n";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/graalvm-ce-java${javaVersionPlatform}-${version}.tar.gz";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "1jlvrxdlbsmlk3ia43h9m29kmmdn83h6zdlnf8qb7bm38c84nhsc";
+          "11-linux-amd64" = "1ybd7a6ii6582skr0nkxx7bccsa7gkg0yriql2h1lcz0rfzcdi3g";
+          "11-darwin-amd64" = "1jdy845vanmz05zx5b9227gb1msh9wdrz2kf3fx9z54ssd9qgdhm";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/native-image-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "18ip0ay06q1pryqs8ja988mvk9vw475c0nfjcznnsd1zp296p6jc";
+          "11-linux-amd64" = "1jszz97mkqavxzyhx5jxhi43kqjxk9c36j5l5hy3kn8sdfmbplm4";
+          "11-darwin-amd64" = "1767ryhv2cn5anlys63ysax1p8ag79bykac1xfrjfan8yv6d8ybl";
+        }.${javaVersionPlatform};
+        url = "https://github.com/oracle/truffleruby/releases/download/vm-${version}/ruby-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "0il15438qnikqsxdsl7fcdg0c8zs3cbm4ry7pys7fxxr1ckd8szq";
+          "11-linux-amd64" = "07759sr8nijvqm8aqn69x9vq7lyppns7a6l6xribv43jvfmwpfkl";
+          "11-darwin-amd64" = "01l3as8dihc7xqy5sdkrpxmpzrqbcvvg84m2s6j1j8y2db1khf2s";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalpython/releases/download/vm-${version}/python-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+      (fetchurl {
+        sha256 = {
+          "8-linux-amd64" = "08s36rjy5irg25b7lqx0m4v2wpywin3cqyhdrywhvq14f7zshsd5";
+          "11-linux-amd64" = "1ybjaknmbsdg8qzb986x39fq0h7fyiymdcigc7y86swk8dd916hv";
+          "11-darwin-amd64" = "02dwlb62kqr4rjjmvkhn2xk9l1p47ahg9xyyfkw7im1jwlqmqnzf";
+        }.${javaVersionPlatform};
+        url = "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-${version}/wasm-installable-svm-java${javaVersionPlatform}-${version}.jar";
+      })
+    ];
+
+    buildInputs = lib.optionals stdenv.isLinux [
+      alsa-lib # libasound.so wanted by lib/libjsound.so
+      fontconfig
+      freetype
+      openssl # libssl.so wanted by languages/ruby/lib/mri/openssl.so
+      stdenv.cc.cc.lib # libstdc++.so.6
+      xorg.libX11
+      xorg.libXext
+      xorg.libXi
+      xorg.libXrender
+      xorg.libXtst
+      zlib
+    ];
+
+    # Workaround for libssl.so.10 wanted by TruffleRuby
+    # Resulting TruffleRuby cannot use `openssl` library.
+    autoPatchelfIgnoreMissingDeps = true;
+
+    nativeBuildInputs = [ unzip perl autoPatchelfHook makeWrapper ];
+
+    unpackPhase = ''
+      unpack_jar() {
+        jar=$1
+        unzip -q -o $jar -d $out
+        perl -ne 'use File::Path qw(make_path);
+                  use File::Basename qw(dirname);
+                  if (/^(.+) = (.+)$/) {
+                    make_path dirname("$ENV{out}/$1");
+                    system "ln -s $2 $ENV{out}/$1";
+                  }' $out/META-INF/symlinks
+        perl -ne 'if (/^(.+) = ([r-])([w-])([x-])([r-])([w-])([x-])([r-])([w-])([x-])$/) {
+                    my $mode = ($2 eq 'r' ? 0400 : 0) + ($3 eq 'w' ? 0200 : 0) + ($4  eq 'x' ? 0100 : 0) +
+                               ($5 eq 'r' ? 0040 : 0) + ($6 eq 'w' ? 0020 : 0) + ($7  eq 'x' ? 0010 : 0) +
+                               ($8 eq 'r' ? 0004 : 0) + ($9 eq 'w' ? 0002 : 0) + ($10 eq 'x' ? 0001 : 0);
+                    chmod $mode, "$ENV{out}/$1";
+                  }' $out/META-INF/permissions
+        rm -rf $out/META-INF
+      }
+
+      mkdir -p $out
+      arr=($srcs)
+
+      # The tarball on Linux has the following directory structure:
+      #
+      #   graalvm-ce-java11-20.3.0/*
+      #
+      # while on Darwin it looks like this:
+      #
+      #   graalvm-ce-java11-20.3.0/Contents/Home/*
+      #
+      # We therefor use --strip-components=1 vs 3 depending on the platform.
+      tar xf ''${arr[0]} -C $out --strip-components=${
+        if stdenv.isLinux then "1" else "3"
+      }
+
+      # Sanity check
+      if [ ! -d $out/bin ]; then
+         echo "The `bin` is directory missing after extracting the graalvm"
+         echo "tarball, please compare the directory structure of the"
+         echo "tarball with what happens in the unpackPhase (in particular"
+         echo "with regards to the `--strip-components` flag)."
+         exit 1
+      fi
+
+      unpack_jar ''${arr[1]}
+      unpack_jar ''${arr[2]}
+      unpack_jar ''${arr[3]}
+      unpack_jar ''${arr[4]}
+    '';
+
+    installPhase = {
+      "8-linux-amd64" = ''
+        # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
+        substituteInPlace $out/jre/lib/security/java.security \
+          --replace file:/dev/random    file:/dev/./urandom \
+          --replace NativePRNGBlocking  SHA1PRNG
+
+        # provide libraries needed for static compilation
+        for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
+          ln -s $f $out/jre/lib/svm/clibraries/${platform}/$(basename $f)
+        done
+
+        # allow using external truffle-api.jar and languages not included in the distrubution
+        rm $out/jre/lib/jvmci/parentClassLoader.classpath
+      '';
+      "11-linux-amd64" = ''
+        # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
+        substituteInPlace $out/conf/security/java.security \
+          --replace file:/dev/random    file:/dev/./urandom \
+          --replace NativePRNGBlocking  SHA1PRNG
+
+        # provide libraries needed for static compilation
+        for f in ${glibc}/lib/* ${glibc.static}/lib/* ${zlib.static}/lib/*; do
+          ln -s $f $out/lib/svm/clibraries/${platform}/$(basename $f)
+        done
+      '';
+      "11-darwin-amd64" = ''
+        # BUG workaround http://mail.openjdk.java.net/pipermail/graal-dev/2017-December/005141.html
+        substituteInPlace $out/conf/security/java.security \
+          --replace file:/dev/random    file:/dev/./urandom \
+          --replace NativePRNGBlocking  SHA1PRNG
+      '';
+    }.${javaVersionPlatform} + ''
+      # jni.h expects jni_md.h to be in the header search path.
+      ln -s $out/include/linux/*_md.h $out/include/
+    '';
+
+    dontStrip = true;
+
+    preFixup = ''
+      # We cannot use -exec since wrapProgram is a function but not a
+      # command.
+      #
+      # jspawnhelper is executed from JVM, so it doesn't need to wrap it,
+      # and it breaks building OpenJDK (#114495).
+      for bin in $( find "$out" -executable -type f -not -path '*/languages/ruby/lib/gems/*' -not -name jspawnhelper ); do
+        if patchelf --print-interpreter "$bin" &> /dev/null || head -n 1 "$bin" | grep '^#!' -q; then
+          wrapProgram "$bin" \
+            --prefix LD_LIBRARY_PATH : "${runtimeLibraryPath}"
+        fi
+      done
+
+      # copy-paste openjdk's preFixup
+      # Set JAVA_HOME automatically.
+      mkdir -p $out/nix-support
+      cat <<EOF > $out/nix-support/setup-hook
+        if [ -z "\''${JAVA_HOME-}" ]; then export JAVA_HOME=$out; fi
+      EOF
+
+      find "$out" -name libfontmanager.so -exec \
+        patchelf --add-needed libfontconfig.so {} \;
+    '';
+
+    # $out/bin/native-image needs zlib to build native executables.
+    propagatedBuildInputs = [ setJavaClassPath zlib ] ++
+      # On Darwin native-image calls clang and it
+      # tries to include <Foundation/Foundation.h>,
+      # and Interactive Ruby (irb) requires OpenSSL
+      # headers.
+      lib.optionals stdenv.hostPlatform.isDarwin [ Foundation openssl ];
+
+    doInstallCheck = true;
+    installCheckPhase = ''
+        echo ${
+          lib.escapeShellArg ''
+            public class HelloWorld {
+              public static void main(String[] args) {
+                System.out.println("Hello World");
+              }
+            }
+          ''
+        } > HelloWorld.java
+        $out/bin/javac HelloWorld.java
+
+        # run on JVM with Graal Compiler
+        $out/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler HelloWorld | fgrep 'Hello World'
+
+        # Ahead-Of-Time compilation
+        $out/bin/native-image -H:-CheckToolchain -H:+ReportExceptionStackTraces --no-server HelloWorld
+        ./helloworld | fgrep 'Hello World'
+
+        ${
+          lib.optionalString stdenv.isLinux ''
+            # Ahead-Of-Time compilation with --static
+            # --static flag doesn't work for darwin
+            $out/bin/native-image --no-server --static HelloWorld
+            ./helloworld | fgrep 'Hello World'
+          ''
+        }
+
+        echo "Testing interpreted languages"
+        $out/bin/graalpython -c 'print(1 + 1)'
+        $out/bin/ruby -e 'puts(1 + 1)'
+
+        echo '1 + 1' | $out/bin/graalpython
+
+        ${
+          lib.optionalString stdenv.isLinux ''
+            # TODO: `irb` on MacOS gives an error saying "Could not find OpenSSL
+            # headers, install via Homebrew or MacPorts or set OPENSSL_PREFIX", even
+            # though `openssl` is in `propagatedBuildInputs`. For more details see:
+            # https://github.com/NixOS/nixpkgs/pull/105815
+            echo '1 + 1' | $out/bin/irb
+          ''
+        }
+
+      ${lib.optionalString (javaVersion == "11" && stdenv.isLinux) ''
+        # Doesn't work on MacOS, we have this error: "Launching JShell execution engine threw: Operation not permitted (Bind failed)"
+        echo '1 + 1' | $out/bin/jshell
+      ''}'';
+
+    passthru.home = graalvmXXX-ce;
+
+    meta = with lib; {
+      homepage = "https://www.graalvm.org/";
+      description = "High-Performance Polyglot VM";
+      license = with licenses; [ upl gpl2Classpath bsd3 ];
+      maintainers = with maintainers; [
+        bandresen
+        volth
+        hlolli
+        glittershark
+        babariviere
+        ericdallo
+      ];
+      platforms = platforms;
+    };
+  };
+in graalvmXXX-ce
diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix
index fb6bd41344a..a31e1ff3f6a 100644
--- a/pkgs/development/compilers/iasl/default.nix
+++ b/pkgs/development/compilers/iasl/default.nix
@@ -1,24 +1,27 @@
-{lib, stdenv, fetchurl, fetchpatch, bison, flex}:
+{lib, stdenv, fetchurl, bison, flex}:
 
 stdenv.mkDerivation rec {
   pname = "iasl";
-  version = "20200110";
+  version = "20210730";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "1cb6aa6acrixmdzvj9vv4qs9lmlsbkd27pjlz14i1kq1x3xn0gwx";
+    sha256 = "1pmm977nyl3bs71ipzcl4dh30qm8x9wm2p2ml0m62rl62kai832a";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
 
   buildFlags = [ "iasl" ];
 
-  buildInputs = [ bison flex ];
+  nativeBuildInputs = [ bison flex ];
 
   installPhase =
     ''
-      install -d $out/bin
-      install generate/unix/bin*/iasl $out/bin
+      runHook preInstall
+
+      install -Dm755 generate/unix/bin*/iasl -t $out/bin
+
+      runHook postInstall
     '';
 
   meta = {
diff --git a/pkgs/development/compilers/openjdk/jre_minimal_test1.nix b/pkgs/development/compilers/openjdk/jre_minimal_test1.nix
deleted file mode 100644
index eebd11fb2fd..00000000000
--- a/pkgs/development/compilers/openjdk/jre_minimal_test1.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ runCommand
-, callPackage
-, jdk
-, jre_minimal
-}:
-
-let
-  hello = callPackage tests/hello.nix {
-    jdk = jdk;
-    jre = jre_minimal;
-  };
-in
-  runCommand "test" {} ''
-    ${hello}/bin/hello | grep "Hello, world!"
-    touch $out
-  ''
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 968664f81c7..5ab5818a6c1 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -10,6 +10,9 @@
 # Go linker flags, passed to go via -ldflags
 , ldflags ? []
 
+# Go tags, passed to go via -tag
+, tags ? []
+
 # A function to override the go-modules derivation
 , overrideModAttrs ? (_oldAttrs : {})
 
@@ -26,6 +29,10 @@
 # Whether to run the vend tool to regenerate the vendor directory.
 # This is useful if any dependency contain C files.
 , runVend ? false
+# Whether to fetch (go mod download) and proxy the vendor directory.
+# This is useful if any dependency has case-insensitive conflicts
+# which will produce platform dependant `vendorSha256` checksums.
+, proxyVendor ? false
 
 # We want parallel builds by default
 , enableParallelBuilding ? true
@@ -43,6 +50,8 @@
 
 with builtins;
 
+assert (runVend == true && proxyVendor == true) -> throw "can't use `runVend` and `proxyVendor` together";
+
 assert goPackagePath != "" -> throw "`goPackagePath` is not needed with `buildGoModule`";
 
 let
@@ -94,6 +103,9 @@ let
     ${if runVend then ''
       echo "running 'vend' to rewrite vendor folder"
       ${vend}/bin/vend
+    '' else if proxyVendor then ''
+      mkdir -p "''${GOPATH}/pkg/mod/cache/download"
+      go mod download
     '' else ''
       go mod vendor
     ''}
@@ -106,8 +118,12 @@ let
     installPhase = args.modInstallPhase or ''
       runHook preInstall
 
-      # remove cached lookup results and tiles
+    ${if proxyVendor then ''
+      rm -rf "''${GOPATH}/pkg/mod/cache/download/sumdb"
+      cp -r --reflink=auto "''${GOPATH}/pkg/mod/cache/download" $out
+    '' else ''
       cp -r --reflink=auto vendor $out
+    ''}
 
       runHook postInstall
     '';
@@ -127,7 +143,7 @@ let
     inherit (go) GOOS GOARCH;
 
     GO111MODULE = "on";
-    GOFLAGS = [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ];
+    GOFLAGS = lib.optionals (!proxyVendor) [ "-mod=vendor" ] ++ lib.optionals (!allowGoReference) [ "-trimpath" ];
 
     configurePhase = args.configurePhase or ''
       runHook preConfigure
@@ -135,11 +151,15 @@ let
       export GOCACHE=$TMPDIR/go-cache
       export GOPATH="$TMPDIR/go"
       export GOSUMDB=off
-      export GOPROXY=off
       cd "$modRoot"
     '' + lib.optionalString (go-modules != "") ''
-      rm -rf vendor
-      cp -r --reflink=auto ${go-modules} vendor
+      ${if proxyVendor then ''
+        export GOPROXY=file://${go-modules}
+      '' else ''
+        export GOPROXY=off
+        rm -rf vendor
+        cp -r --reflink=auto ${go-modules} vendor
+      ''}
     '' + ''
 
       runHook postConfigure
@@ -156,7 +176,7 @@ let
         echo "$d" | grep -q "\(/_\|examples\|Godeps\|testdata\)" && return 0
         [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
         local OUT
-        if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
+        if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
           if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then
             echo "$OUT" >&2
             return 1
diff --git a/pkgs/development/go-packages/generic/default.nix b/pkgs/development/go-packages/generic/default.nix
index 0fb51b68eca..6700dec082b 100644
--- a/pkgs/development/go-packages/generic/default.nix
+++ b/pkgs/development/go-packages/generic/default.nix
@@ -10,6 +10,9 @@
 # Go linker flags, passed to go via -ldflags
 , ldflags ? []
 
+# Go tags, passed to go via -tag
+, tags ? []
+
 # We want parallel builds by default
 , enableParallelBuilding ? true
 
@@ -151,7 +154,7 @@ let
         echo "$d" | grep -q "\(/_\|examples\|Godeps\)" && return 0
         [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && return 0
         local OUT
-        if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
+        if ! OUT="$(go $cmd $buildFlags "''${buildFlagsArray[@]}" ''${tags:+-tags=${lib.concatStringsSep "," tags}} ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES $d 2>&1)"; then
           if ! echo "$OUT" | grep -qE '(no( buildable| non-test)?|build constraints exclude all) Go (source )?files'; then
             echo "$OUT" >&2
             return 1
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index 1b6edcd1dd4..145391229ed 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -52,6 +52,7 @@ stdenv.mkDerivation rec {
           "--no-server"
           "--report-unsupported-elements-at-runtime"
           "--initialize-at-run-time=org.postgresql.sspi.SSPIClient"
+          "--initialize-at-run-time=org.httpkit.client.ClientSslEngineFactory\$SSLHolder"
           "--native-image-info"
           "--verbose"
           "-H:ServiceLoaderFeatureExcludeServices=javax.sound.sampled.spi.AudioFileReader"
diff --git a/pkgs/development/interpreters/pixie/dust.nix b/pkgs/development/interpreters/pixie/dust.nix
index e6818cb03ed..bbe9ae3dcc4 100644
--- a/pkgs/development/interpreters/pixie/dust.nix
+++ b/pkgs/development/interpreters/pixie/dust.nix
@@ -1,35 +1,43 @@
 { lib, stdenv, pixie, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "dust-0-91";
+  pname = "dust";
+  version = "0-91";
+
   src = fetchFromGitHub {
     owner = "pixie-lang";
     repo = "dust";
     rev = "efe469661e749a71e86858fd006f61464810575a";
     sha256 = "09n57b6haxwask9m8vimv42ikczf7lgfc7m9izjrcqgs0padvfzc";
   };
+
   buildInputs = [ pixie ];
+
   patches = [ ./make-paths-configurable.patch ];
+
   configurePhase = ''
     pixiePath="${pixie}/bin/pixie-vm" \
     basePath="$out/share/dust" \
       substituteAll dust.in dust
     chmod +x dust
   '';
-# FIXME: AOT for dust
-#  buildPhase = ''
-#    find . -name "*.pxi" -exec pixie-vm -c {} \;
-#  '';
+
+  # FIXME: AOT for dust
+  #  buildPhase = ''
+  #    find . -name "*.pxi" -exec pixie-vm -c {} \;
+  #  '';
+
   installPhase = ''
     mkdir -p $out/bin $out/share/dust
     cp -a src/ run.pxi $out/share/dust
     mv dust $out/bin/dust
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Provides tooling around pixie, e.g. a nicer repl, running tests and fetching dependencies";
     homepage = src.meta.homepage;
-    license = lib.licenses.lgpl3;
-    platforms = lib.platforms.linux ++ lib.platforms.darwin;
+    maintainers = with maintainers; [ ];
+    license = licenses.lgpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix
index e63f2c3cfd6..92f6accd426 100644
--- a/pkgs/development/libraries/duckdb/default.nix
+++ b/pkgs/development/libraries/duckdb/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.2.7";
+  version = "0.2.8";
 
   src = fetchFromGitHub {
     owner = "cwida";
     repo = "duckdb";
     rev = "v${version}";
-    sha256 = "0cnqq2n1424fqg7gfyvrwkk6nvjal2fm5n08xc8q28ynyhq4sfmj";
+    sha256 = "sha256-X8zk9D7BQQ6iHdfvpaTZ8wS779wt3nRthH7OG4p9bTg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/goocanvas/3.x.nix b/pkgs/development/libraries/goocanvas/3.x.nix
new file mode 100644
index 00000000000..c5decffe74e
--- /dev/null
+++ b/pkgs/development/libraries/goocanvas/3.x.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, gettext
+, gobject-introspection
+, gtk-doc
+, python3
+, cairo
+, gtk3
+, glib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "goocanvas";
+  version = "3.0.0";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/goocanvas/${lib.versions.majorMinor version}/goocanvas-${version}.tar.xz";
+    sha256 = "06j05g2lmwvklmv51xsb7gm7rszcarhm01sal41jfp0qzrbpa2k7";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    gettext
+    gobject-introspection
+    gtk-doc
+    python3
+  ];
+
+  buildInputs = [
+    cairo
+    gtk3
+    glib
+  ];
+
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0";
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0";
+
+  meta = with lib; {
+    description = "Canvas widget for GTK based on the the Cairo 2D library";
+    homepage = "https://wiki.gnome.org/Projects/GooCanvas";
+    license = licenses.lgpl2; # https://gitlab.gnome.org/GNOME/goocanvas/-/issues/12
+    maintainers = with maintainers; [ bobby285271 ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/gtkextra/default.nix b/pkgs/development/libraries/gtkextra/default.nix
new file mode 100644
index 00000000000..4c2f739cd96
--- /dev/null
+++ b/pkgs/development/libraries/gtkextra/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, lib
+, fetchurl
+, pkg-config
+, gobject-introspection
+, file
+, gtk2
+, glib
+, cairo
+, atk
+, pango
+, libtiff
+, libpng
+, libjpeg
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gtkextra";
+  version = "3.3.4";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/gtkextra/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz";
+    sha256 = "1mpihbyzhv3ymfim93l9xnxmzhwyqdba5xb4rdn5vggdg25766v5";
+  };
+
+  postPatch = ''
+    substituteInPlace configure \
+      --replace "/usr/bin/file" "${file}/bin/file"
+  '';
+
+  nativeBuildInputs = [ gobject-introspection pkg-config ];
+
+  buildInputs = [ gtk2 glib cairo atk pango libtiff libpng libjpeg ];
+
+  meta = with lib; {
+    homepage = "http://gtkextra.sourceforge.net/";
+    description = "GtkExtra is a useful set of widgets for creating GUI's for GTK+.";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tesq0 ];
+  };
+}
diff --git a/pkgs/development/libraries/kde-frameworks/baloo.nix b/pkgs/development/libraries/kde-frameworks/baloo.nix
index 8497ec73a3a..7b092653a32 100644
--- a/pkgs/development/libraries/kde-frameworks/baloo.nix
+++ b/pkgs/development/libraries/kde-frameworks/baloo.nix
@@ -12,5 +12,6 @@ mkDerivation {
     kauth kconfig kcrash kdbusaddons ki18n kio kidletime lmdb qtdeclarative
     solid
   ];
+  outputs = [ "dev" "out" ];
   propagatedBuildInputs = [ kcoreaddons kfilemetadata qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 94d403b9e34..a5b0bfdae8d 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -28,7 +28,7 @@ existing packages here and modify it as necessary.
 
 let
 
-  minQtVersion = "5.14";
+  minQtVersion = "5.15";
   broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;
   maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
   license = with lib.licenses; [
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 55c1e02a955..93d7cbef74c 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.81/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.84/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 00a9ef015f2..97b413e805c 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, fetchpatch,
+  mkDerivation, lib,
   extra-cmake-modules,
   ilmbase, karchive, openexr, libavif, qtbase
 }:
@@ -9,19 +9,6 @@ let inherit (lib) getDev; in
 mkDerivation {
   name = "kimageformats";
 
-  patches = [
-    (fetchpatch { # included in kimageformats >= 5.83
-      name = "avif-0.9.2.diff";
-      url = "https://invent.kde.org/frameworks/kimageformats/-/commit/bf3f94da766d66a0470ab744dbe1ced4697b572d.diff";
-      sha256 = "18d67l5kj9sv88jdpi061k9rl3adzkx9l51ng7saylrkfddwc3ig";
-    })
-    (fetchpatch { # included in kimageformats >= 5.82
-      name = "CVE-2021-36083.patch";
-      url = "https://invent.kde.org/frameworks/kimageformats/-/commit/297ed9a2fe339bfe36916b9fce628c3242e5be0f.diff";
-      sha256 = "16axaljgaar0j5796x1mjps93y92393x8zywh3nzw7rm9w2qxzml";
-    })
-  ];
-
   nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ karchive openexr libavif qtbase ];
   outputs = [ "out" ]; # plugins only
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch b/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
index 5967bdaccf5..1edf2a1c63c 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/0002-QDirIterator-follow-symlinks.patch
@@ -12,28 +12,15 @@ diff --git a/src/kpackage/packageloader.cpp b/src/kpackage/packageloader.cpp
 index f03d882..d5aee56 100644
 --- a/src/kpackage/packageloader.cpp
 +++ b/src/kpackage/packageloader.cpp
-@@ -234,7 +234,7 @@ QList<KPluginMetaData> PackageLoader::listPackages(const QString &packageFormat,
-         } else {
-             qCDebug(KPACKAGE_LOG) << "kpluginindex: Not cached" << plugindir;
-             // If there's no cache file, fall back to listing the directory
--            const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories;
-+            const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks;
-             const QStringList nameFilters = {QStringLiteral("metadata.json"), QStringLiteral("metadata.desktop")};
- 
-             QDirIterator it(plugindir, nameFilters, QDir::Files, flags);
-diff --git a/src/kpackage/private/packagejobthread.cpp b/src/kpackage/private/packagejobthread.cpp
-index 3eed307..dd6ca6e 100644
---- a/src/kpackage/private/packagejobthread.cpp
-+++ b/src/kpackage/private/packagejobthread.cpp
-@@ -108,7 +108,7 @@ bool indexDirectory(const QString &dir, const QString &dest)
- 
-     QJsonArray plugins;
- 
--    QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories);
-+    QDirIterator it(dir, *metaDataFiles, QDir::Files, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
-     while (it.hasNext()) {
-         it.next();
-         const QString path = it.fileInfo().absoluteFilePath();
+@@ -210,7 +210,7 @@ QList<KPluginMetaData> PackageLoader::listPackages(const QString &packageFormat,
+     }
+
+     for (auto const &plugindir : qAsConst(paths)) {
+-        const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories;
++        const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories | QDirIterator::FollowSymlinks;
+         const QStringList nameFilters = {QStringLiteral("metadata.json"), QStringLiteral("metadata.desktop")};
+
+         QDirIterator it(plugindir, nameFilters, QDir::Files, flags);
 -- 
 2.30.1
 
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch b/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
index 609376e33e4..0093eb556bf 100644
--- a/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
+++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem/0001-platform-plugins-path.patch
@@ -16,7 +16,7 @@ index a255d83..9699b08 100644
      QStringList ret;
      const auto paths = QCoreApplication::libraryPaths();
 -    for (const QString &path : paths) {
--        static const QStringList searchFolders {
+-        static const QStringList searchFolders{
 -            QStringLiteral("/kf5/org.kde.kwindowsystem.platforms"),
 -            QStringLiteral("/kf5/kwindowsystem"),
 -        };
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 3d5ad663dd3..34792d254e7 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/attica-5.81.0.tar.xz";
-      sha256 = "0x1ga3y0kmr2ybgvsmns7imd0agfd5bfc2lf0010ks5s1v50whqr";
-      name = "attica-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/attica-5.84.0.tar.xz";
+      sha256 = "1q5imda1p26rw3lzz7p6wlg63d2kjl6yx93pxryy129xwyxszf5d";
+      name = "attica-5.84.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/baloo-5.81.0.tar.xz";
-      sha256 = "0mnm282mc1yph9x08fkrycb22gsah4km8r7yk3kz20vnrs0wgljy";
-      name = "baloo-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/baloo-5.84.0.tar.xz";
+      sha256 = "15ldfq9qryw2xna6kr316fqldrfd2r09qj9ig8i2x391x18dzhg4";
+      name = "baloo-5.84.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/bluez-qt-5.81.0.tar.xz";
-      sha256 = "13wy3nzbq26616s7pa0sx0jrq81v3bvf6a6dlmp1zzycvbk06jp3";
-      name = "bluez-qt-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/bluez-qt-5.84.0.tar.xz";
+      sha256 = "0pg6zj0b7j9v339g1q5a9dm1l0a7n1c388n26x6k2s1q785vk6lh";
+      name = "bluez-qt-5.84.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/breeze-icons-5.81.0.tar.xz";
-      sha256 = "1844jyair0kjflfq98cakis7xfgbdn7an383f02hp4072kjg127g";
-      name = "breeze-icons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/breeze-icons-5.84.0.tar.xz";
+      sha256 = "1320c84pr39541lb4zk33brxx593dbvvnij5x8as4rp99mcjd6h4";
+      name = "breeze-icons-5.84.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/extra-cmake-modules-5.81.0.tar.xz";
-      sha256 = "10svwghxf5vhbfwz7lza7xid2n1mj6r1n1amv6c616q68fwf8msz";
-      name = "extra-cmake-modules-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/extra-cmake-modules-5.84.0.tar.xz";
+      sha256 = "0h8w5ahjpbb524qgabzbgd4x2j8qnfv1d1cq8vzq5hbpw7r5w25v";
+      name = "extra-cmake-modules-5.84.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/frameworkintegration-5.81.0.tar.xz";
-      sha256 = "0vcbm0364zwkyp33nvcl42px6i9hgnp4wl3lg913qvxv1f7pd61v";
-      name = "frameworkintegration-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/frameworkintegration-5.84.0.tar.xz";
+      sha256 = "0jzrsw5fkbgk8xpdjfjprqm1vpa61x32zikyj370shcg3qsaiyir";
+      name = "frameworkintegration-5.84.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kactivities-5.81.0.tar.xz";
-      sha256 = "0sskfpc8yfic2s8hvzf7cjk92pxd0idd0xl0azrjnn28ci5kvzvq";
-      name = "kactivities-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kactivities-5.84.0.tar.xz";
+      sha256 = "0lihxr9jvmg2h7k36djdfvsz5slxzzgxpxmv9745ynvc92fr1c46";
+      name = "kactivities-5.84.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kactivities-stats-5.81.0.tar.xz";
-      sha256 = "0839g6y101qr5mr98ynfm74f554lxx7srnwm3anh7nj6zrlyxrq2";
-      name = "kactivities-stats-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kactivities-stats-5.84.0.tar.xz";
+      sha256 = "1mb80jzccvha6rnd9q0xych1k4p0nfdyh7s9ryafv9fqqhzr5fh4";
+      name = "kactivities-stats-5.84.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kapidox-5.81.0.tar.xz";
-      sha256 = "1wq4py1djmcnqf51l52cij43qw44n5fafz00qslxjb0rdakrvzs2";
-      name = "kapidox-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kapidox-5.84.0.tar.xz";
+      sha256 = "0h8isigbgc02df3kb875p7yzy04i41lss2r5awlh5b1np89l5g51";
+      name = "kapidox-5.84.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/karchive-5.81.0.tar.xz";
-      sha256 = "1flnylyglc2jdb9lfk3dl56wzxdliaaqpg2rzrlclzj14lz3l9hy";
-      name = "karchive-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/karchive-5.84.0.tar.xz";
+      sha256 = "1xjykx94xn0p1926my4f82dn9bsv2b2mv1l4pjpzzfwyn26df34s";
+      name = "karchive-5.84.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kauth-5.81.0.tar.xz";
-      sha256 = "1gf93wk95x1fmi4w3ybkj7acwrv7rlz9nw7f1n4nd1w3w7pn403y";
-      name = "kauth-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kauth-5.84.0.tar.xz";
+      sha256 = "1jwynarchwbgdnfzpp3r8ggr8mz2gwgwiv9j2kxmh0m607sqzj04";
+      name = "kauth-5.84.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kbookmarks-5.81.0.tar.xz";
-      sha256 = "0bqgl3vhr5lngajxz7v4l325kcyylj3d1qznaa946dcbsn2wrgzm";
-      name = "kbookmarks-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kbookmarks-5.84.0.tar.xz";
+      sha256 = "1k3mamhd55j3hvkw7h0gfizy5hg37d57h26xz9hbxrw1lb1p9gyc";
+      name = "kbookmarks-5.84.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcalendarcore-5.81.0.tar.xz";
-      sha256 = "0a8m8l94cni1fv38sa9wa1mx1m7bnd7qb66wrjrhdd57cfrjij5s";
-      name = "kcalendarcore-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcalendarcore-5.84.0.tar.xz";
+      sha256 = "06asygdsk4bnn29cc8khpzy68fiyrqwajl55fixmja7kvzsnq4cb";
+      name = "kcalendarcore-5.84.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcmutils-5.81.0.tar.xz";
-      sha256 = "15q2wvnz8s1g508jbssszzfcgssamdsp7s1vply1677ga8pcspmj";
-      name = "kcmutils-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcmutils-5.84.0.tar.xz";
+      sha256 = "1ackicsg2xnjl8gid9v4a72vvqhn7536s0w1g50hss142hp0b9zf";
+      name = "kcmutils-5.84.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcodecs-5.81.0.tar.xz";
-      sha256 = "0r757k1rbz1bjk7mc0b2m0ybixai4qfidrs5wvbci971lfsaz4j3";
-      name = "kcodecs-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcodecs-5.84.0.tar.xz";
+      sha256 = "0fjjz40kchw38p74zvgrcfsgclg54w6b8bl6ly72qmj5n0ip2gr3";
+      name = "kcodecs-5.84.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcompletion-5.81.0.tar.xz";
-      sha256 = "15bw6g4ag1s0s3x6390r05i299kl279jrfajna9fxgq3fbjigb7p";
-      name = "kcompletion-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcompletion-5.84.0.tar.xz";
+      sha256 = "1kbj1f3c3qpfxn4jyldhzlmgxfxn0af5rbs0irzwd9wqgk9i94vs";
+      name = "kcompletion-5.84.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kconfig-5.81.0.tar.xz";
-      sha256 = "13xfy3mhi73na4mv0a8l75ba5c8ddnkkdssmsnxp5kj084w9xpqx";
-      name = "kconfig-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kconfig-5.84.0.tar.xz";
+      sha256 = "0wshg4hx4d6m1r17mc7l9ivhx6mw0h1qx8fd46hmydmbjp030jma";
+      name = "kconfig-5.84.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kconfigwidgets-5.81.0.tar.xz";
-      sha256 = "1v7xxn6cd17z71cpdyw2qzfqw4vkzy96wwr1zn9dylnvl8mh4xg0";
-      name = "kconfigwidgets-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kconfigwidgets-5.84.0.tar.xz";
+      sha256 = "17hyf495wlm5jqc0qxxymy1kcjybbihg8093kf59hvvpcci5xsin";
+      name = "kconfigwidgets-5.84.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcontacts-5.81.0.tar.xz";
-      sha256 = "15wkspgxqj6zh2pr3f7xqcahihbhf45qnqay1v56ry3vl42gncg4";
-      name = "kcontacts-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcontacts-5.84.0.tar.xz";
+      sha256 = "0gvskvfwfmrs884fkfl0gvmnic4hhymffs7jhq6yaixbsjl2mznl";
+      name = "kcontacts-5.84.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcoreaddons-5.81.0.tar.xz";
-      sha256 = "1nzyijd8753p9n9fqfb14q30jid2k1j7cvwjqv99l5fxhwbcn35c";
-      name = "kcoreaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcoreaddons-5.84.0.tar.xz";
+      sha256 = "1c0z2cn02jqanisq5rr6iry1hx9p5ffm59353mknyyg5xyk3qkbm";
+      name = "kcoreaddons-5.84.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kcrash-5.81.0.tar.xz";
-      sha256 = "1irw9blm1xsn26mcyaimd8xnygkdpaqh9m8gpf5gpn2s19iz4f81";
-      name = "kcrash-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kcrash-5.84.0.tar.xz";
+      sha256 = "0asr7llkdbr6wzq31vnmga7haxddz1b6xqp3smw7hvgzs0f8vrv5";
+      name = "kcrash-5.84.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdav-5.81.0.tar.xz";
-      sha256 = "0cxiif5pb8frz0dpqx0f9j7g29iaspx13alwzvzavbmi0bwzs00b";
-      name = "kdav-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdav-5.84.0.tar.xz";
+      sha256 = "09wly717cp86b3gahj79nfplx71f78zyb5mhpw9xm0dkdf1qf56q";
+      name = "kdav-5.84.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdbusaddons-5.81.0.tar.xz";
-      sha256 = "0gbrmgpd8x16zapbqbyh2ipbvysz3z07qk1fc0cmx5x84x1j7xa9";
-      name = "kdbusaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdbusaddons-5.84.0.tar.xz";
+      sha256 = "0a4v2g86lss1wq359mssg142dp1qccn17yrdhbgy55qi6id6pvl5";
+      name = "kdbusaddons-5.84.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdeclarative-5.81.0.tar.xz";
-      sha256 = "0s6kal2ppw0vskv7baxvbqfip4hzh8s3399c1j7rahdw67nf9k3x";
-      name = "kdeclarative-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdeclarative-5.84.0.tar.xz";
+      sha256 = "0ygp3jwz0fjixiq7bkjchsxzvg6fn50qw7si9nil5hkkg6lwxir6";
+      name = "kdeclarative-5.84.0.tar.xz";
     };
   };
   kded = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kded-5.81.0.tar.xz";
-      sha256 = "1100jrccadj50blq5wmr83wdc3ry46rn86y28dfy4h97cvn1nfsi";
-      name = "kded-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kded-5.84.0.tar.xz";
+      sha256 = "0c6klrchbxy57f7hjvsk640bg6s8gp1ilrzvzg7f8m825yg1b5jc";
+      name = "kded-5.84.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kdelibs4support-5.81.0.tar.xz";
-      sha256 = "1ck3i46k8sjkqgnaygy5pjqbw1np35sc6nhgxxcm7q84q3cdj536";
-      name = "kdelibs4support-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kdelibs4support-5.84.0.tar.xz";
+      sha256 = "1qkiqv0fq8q6i18mi7gm58qhnqra8xkslzjprap6zjq49g9lcgrp";
+      name = "kdelibs4support-5.84.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kdesignerplugin-5.81.0.tar.xz";
-      sha256 = "1rgnj6bns9dnn0g53xk374knc69ajpprjhyb50ffr0dn7cfcs1s3";
-      name = "kdesignerplugin-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kdesignerplugin-5.84.0.tar.xz";
+      sha256 = "0k51pjkh4dfc8bkw0pbsa260fifvcm0wrbpckvd1xd32b0r1n2ax";
+      name = "kdesignerplugin-5.84.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdesu-5.81.0.tar.xz";
-      sha256 = "176531kcvpmb4sklrqpvx4msna1radd2ki410700yvk0l2v4l2yy";
-      name = "kdesu-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdesu-5.84.0.tar.xz";
+      sha256 = "0b3ljqj86crccyqzlqg0fkjryi654pi5q84c11zywmws72bjjx9d";
+      name = "kdesu-5.84.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kdewebkit-5.81.0.tar.xz";
-      sha256 = "022dpmw8r5wkb3pr87fycrybv9j5k2wy8d39rilhjvkqk8s65277";
-      name = "kdewebkit-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kdewebkit-5.84.0.tar.xz";
+      sha256 = "0rhjdqr5g4gphszz70nhvv9wgr0g048pnc36w4w2jpzyy75nwjq2";
+      name = "kdewebkit-5.84.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdnssd-5.81.0.tar.xz";
-      sha256 = "1hl49w55r57abnnwdf4hvyjk7566zbqa24bai3zsq24a4nnm6vii";
-      name = "kdnssd-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdnssd-5.84.0.tar.xz";
+      sha256 = "1ayscd05m20i4nldidxdx83xsa66ybsyrf3f8sm3h99hgwb1yxm9";
+      name = "kdnssd-5.84.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kdoctools-5.81.0.tar.xz";
-      sha256 = "11qayqx47h4h1y2yqzbm8bysdd7xwb2qjmkk59jxpih7xbmpg1ir";
-      name = "kdoctools-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kdoctools-5.84.0.tar.xz";
+      sha256 = "1x0dimayl1pj6r4cjwsvzvyc5j79308bcdi27bn0lq1769wm7rlp";
+      name = "kdoctools-5.84.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kemoticons-5.81.0.tar.xz";
-      sha256 = "17zv96cfmqg9fxrgm91pn8xwp4f03644g2203c3s7iq3bh8ig3gc";
-      name = "kemoticons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kemoticons-5.84.0.tar.xz";
+      sha256 = "0h8ilgwd5y8mbmvr89qkq81km216gs2lx7ln4rijamv2380gwcq7";
+      name = "kemoticons-5.84.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kfilemetadata-5.81.0.tar.xz";
-      sha256 = "0cba7lsjk563ql0hw2rcjxn2khadx1rz7hx4agjb40145f7x931i";
-      name = "kfilemetadata-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kfilemetadata-5.84.0.tar.xz";
+      sha256 = "19a6lsnh7vxjgvy780bgispgxycj2838gyak6ivd9lxzn6d9jw6i";
+      name = "kfilemetadata-5.84.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kglobalaccel-5.81.0.tar.xz";
-      sha256 = "0adqlfmpfsbbfjiljvbyi4f4blx77qp18anx7npkwh5gjn32hczz";
-      name = "kglobalaccel-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kglobalaccel-5.84.0.tar.xz";
+      sha256 = "0v3j4zx6p45lwd7jpbc9y43l5fh247dm6g21w5r56cq6asapx3k5";
+      name = "kglobalaccel-5.84.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kguiaddons-5.81.0.tar.xz";
-      sha256 = "1q9yrbbsjh98xl3k4yss5h39fd8nz8y5v9sd7vqjmy49mqsyxxz3";
-      name = "kguiaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kguiaddons-5.84.0.tar.xz";
+      sha256 = "0p98xzml58fv2cv8x382bmcrbk39q89mrxy52hkqy759g4ffj919";
+      name = "kguiaddons-5.84.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kholidays-5.81.0.tar.xz";
-      sha256 = "1pcqzwpmyl6jp9w4xvlgj81iyzbazz2kd07g82cjybz0z3jcxs2c";
-      name = "kholidays-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kholidays-5.84.0.tar.xz";
+      sha256 = "0fzcdlvai0p3l58wbs8ia7vmd9ll2akzzab12ask8kkaz7iwaqqs";
+      name = "kholidays-5.84.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/khtml-5.81.0.tar.xz";
-      sha256 = "0ag23xwl2f9hiwxnwxvwiz3xr07dxpin49li3q98vqq1qzaj1ngp";
-      name = "khtml-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/khtml-5.84.0.tar.xz";
+      sha256 = "13j2plfgx4zx99i3s70424v8b7qj2xf6gndp7hhmdka0vjhm5bv9";
+      name = "khtml-5.84.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/ki18n-5.81.0.tar.xz";
-      sha256 = "12m7ddyzw80y9y5gqyr7jgdyc5a0fmxa8zzsd41l7418i2sdajrc";
-      name = "ki18n-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/ki18n-5.84.0.tar.xz";
+      sha256 = "1530jxpbfky3mhr1dv3pr7lrvi96q4ai8fn85h5gnjp7s7h1wgv0";
+      name = "ki18n-5.84.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kiconthemes-5.81.0.tar.xz";
-      sha256 = "053a7zdig796zc3rnwdlkscylg6wldn1dk0dxqzn14cb8vkbwizw";
-      name = "kiconthemes-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kiconthemes-5.84.0.tar.xz";
+      sha256 = "0r90cdxs6x9bnqb6qb7p2szavqw2lfk9khhxhzgp2z9121smxpgn";
+      name = "kiconthemes-5.84.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kidletime-5.81.0.tar.xz";
-      sha256 = "12zrd9k27hx8ncywd9ahhbcv5xrn7rrw82pcvdkjmyniz0nazrqv";
-      name = "kidletime-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kidletime-5.84.0.tar.xz";
+      sha256 = "0akkzj05399f72klr8qf5q0w9v8x1jw2961m3h4hcg1zfsmb6pv4";
+      name = "kidletime-5.84.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kimageformats-5.81.0.tar.xz";
-      sha256 = "0kl68dy1v4p403f52y7igv2w3wq6q2pb7n0r7fbnwz2113bs0cm3";
-      name = "kimageformats-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kimageformats-5.84.0.tar.xz";
+      sha256 = "1xzddqc6wj188dhwcw1haa2a28r2d8c4aqhmgymwdwhs7k4ibpds";
+      name = "kimageformats-5.84.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kinit-5.81.0.tar.xz";
-      sha256 = "1wv8qyv4mayi80vczf47mdxxa6km4v7r2kz2j483w53nck5hjz4j";
-      name = "kinit-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kinit-5.84.0.tar.xz";
+      sha256 = "0a5i2rvamw95y9bqscdg6fk1fjsib7rcis9fbk504qk4n7jdp9gw";
+      name = "kinit-5.84.0.tar.xz";
     };
   };
   kio = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kio-5.81.0.tar.xz";
-      sha256 = "0zn0xh07hajcj3h1v5246a167ffm113k8j36p2xn7lbq368sway6";
-      name = "kio-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kio-5.84.0.tar.xz";
+      sha256 = "1lz07745w3549n7lc174p4rz5w12mm4q08y5xn2a95xg5xrjpgln";
+      name = "kio-5.84.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kirigami2-5.81.0.tar.xz";
-      sha256 = "1bcc2mfb2s4w67q9q35k04mc9154dx1x03vqzclh9ipzdvyjqmyn";
-      name = "kirigami2-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kirigami2-5.84.0.tar.xz";
+      sha256 = "05hpw2ba7g5kzg6z0slngrfz45kih8w1zmahbjhss9i7blj9x32r";
+      name = "kirigami2-5.84.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kitemmodels-5.81.0.tar.xz";
-      sha256 = "0vs75q08x9yi1953rihk3y234wcsjawdxb3g5xb597f961y634w0";
-      name = "kitemmodels-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kitemmodels-5.84.0.tar.xz";
+      sha256 = "1v19vc155jh421z8djhrigc83ajz9qvb6qz9cpscdzrcimhaarns";
+      name = "kitemmodels-5.84.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kitemviews-5.81.0.tar.xz";
-      sha256 = "0nmhc675bmilqah9fwwzy4p8rksib90cv8iihxd5c9d9snykk01n";
-      name = "kitemviews-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kitemviews-5.84.0.tar.xz";
+      sha256 = "14rammhm5zp8h37a794z3pmgkpnb606izqy1zlk8lwvnw6aj0kwb";
+      name = "kitemviews-5.84.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kjobwidgets-5.81.0.tar.xz";
-      sha256 = "1gl8ia858jbmj2i9wp4x0mw27p42xm6mg84nj1a8yvvvbazs3hpa";
-      name = "kjobwidgets-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kjobwidgets-5.84.0.tar.xz";
+      sha256 = "0gcdd07ma7wg6rqygfhmq2nc3cq78zcxbd7mx0fgirdns5fbp8p5";
+      name = "kjobwidgets-5.84.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kjs-5.81.0.tar.xz";
-      sha256 = "049aplmp1nlxshwaw0lfhfr09aazxh4vazvb78429gs84j8ir9xr";
-      name = "kjs-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kjs-5.84.0.tar.xz";
+      sha256 = "0qi1xk6pq7nyzkh6jlp4l1v1b5gq9hryq2a81hgfl7q9xgrx00qy";
+      name = "kjs-5.84.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kjsembed-5.81.0.tar.xz";
-      sha256 = "0zkazfcrmd0gklzda0hbb4mc493ihsd3dafnmyj6cmgk4lz2w3q9";
-      name = "kjsembed-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kjsembed-5.84.0.tar.xz";
+      sha256 = "1av326byza162ds5vn54nmpd9ndr7yb0cpl8hxmwzfbym1favhvb";
+      name = "kjsembed-5.84.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kmediaplayer-5.81.0.tar.xz";
-      sha256 = "0z1ji717kwq84i6b2ay9wjhgc4vdkgn1jvwpzgpc1hqs9zly278b";
-      name = "kmediaplayer-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kmediaplayer-5.84.0.tar.xz";
+      sha256 = "1zzx7d9wcc1qh9zg83c2ihid0c2f5p23gpc475ql056ny71fdvv3";
+      name = "kmediaplayer-5.84.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/knewstuff-5.81.0.tar.xz";
-      sha256 = "0wmf86nndnxs1850bjzbwaag6kjdabz0si7b0p1r6hnwm2km9bnk";
-      name = "knewstuff-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/knewstuff-5.84.0.tar.xz";
+      sha256 = "1y1b7704xlf7kmw7c41b3ngsmi5304mvdgphcqsinav6bq48ka5f";
+      name = "knewstuff-5.84.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/knotifications-5.81.0.tar.xz";
-      sha256 = "04yfrhd098asr45swslnfkzxkb9892izvyam5rf0h93pw78ggmqs";
-      name = "knotifications-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/knotifications-5.84.0.tar.xz";
+      sha256 = "02az98aqk8alq1cqrxym5idnlzvl6i4jvgnv34q6g4x7j5h4v75h";
+      name = "knotifications-5.84.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/knotifyconfig-5.81.0.tar.xz";
-      sha256 = "0xrd9771g1x0s796pw6wkhl9jj9607pffmlxrj171c8n8hdfyjbs";
-      name = "knotifyconfig-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/knotifyconfig-5.84.0.tar.xz";
+      sha256 = "1x7jp2c2a1bawl3nl46zfnp8d5al1z19za58g76wn40jy9ksnpy2";
+      name = "knotifyconfig-5.84.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kpackage-5.81.0.tar.xz";
-      sha256 = "1r1yv5y2swll38l88w559d8q0n4xizwgjp4qd8bh0vvsn24l65ka";
-      name = "kpackage-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kpackage-5.84.0.tar.xz";
+      sha256 = "166cc85y49xqk4r8k6003rlwphxxx2rmik24d7yhmq8p1qig4qb7";
+      name = "kpackage-5.84.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kparts-5.81.0.tar.xz";
-      sha256 = "1gjqmwg5pjj41vwfsdffvr1gfbkbm12f77rlyfn9gg4z6bjdx47b";
-      name = "kparts-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kparts-5.84.0.tar.xz";
+      sha256 = "1fbmywx1fvv9hnznpiy8cp27dfn2ysskymyppqi1hsw01gqs7vfy";
+      name = "kparts-5.84.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kpeople-5.81.0.tar.xz";
-      sha256 = "1a63s8c946wrivqs8n680jpmcys8iafyy9j3isl4z5n88df2nnih";
-      name = "kpeople-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kpeople-5.84.0.tar.xz";
+      sha256 = "0llggx56xb3y10j0avm4vdmjfl4pwqbvpb5w7kk1gb43nxpz7h3p";
+      name = "kpeople-5.84.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kplotting-5.81.0.tar.xz";
-      sha256 = "1s368amqfqjmr99bz4xc0xfm2sf29s99z3zpwbx2lbjvqh3p5yyb";
-      name = "kplotting-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kplotting-5.84.0.tar.xz";
+      sha256 = "007cvy57ck2frnr5dvs80k3n7lv1q2xw1zadmw13wwdqqsl0kzag";
+      name = "kplotting-5.84.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kpty-5.81.0.tar.xz";
-      sha256 = "0la3jpkki1hskxg12nf3r59fw7r9q8n3sc7wcdik9r9c9rhlyjpk";
-      name = "kpty-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kpty-5.84.0.tar.xz";
+      sha256 = "04q6qz62vwywzaxxmsq0g28k036ljrcyvn5hywdns58zi5d7nab2";
+      name = "kpty-5.84.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kquickcharts-5.81.0.tar.xz";
-      sha256 = "00w2m0pwilldip873w97l9hvgm6gfy1aj6blyzcxn7x1688lv1jz";
-      name = "kquickcharts-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kquickcharts-5.84.0.tar.xz";
+      sha256 = "01q1ncvk8dc9jkm9x6q7wkcnj1z1377824gj7m83pzgy3g51vcdg";
+      name = "kquickcharts-5.84.0.tar.xz";
     };
   };
   kross = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kross-5.81.0.tar.xz";
-      sha256 = "02jsyarn7ihv547b3vv5xwjm1bs58x5lhdnb74v02cwsgb82wlm3";
-      name = "kross-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kross-5.84.0.tar.xz";
+      sha256 = "0fz4q2m16f4zy6pajcrmhm5a9fjrfjfqyns1lm6aimdsrvkwpc93";
+      name = "kross-5.84.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/krunner-5.81.0.tar.xz";
-      sha256 = "1yf04qw82hmz8g9hddyalh73b2dxk492n8g856d5m6ccq89c7ga5";
-      name = "krunner-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/krunner-5.84.0.tar.xz";
+      sha256 = "15ai1x9v5hm5vj7qhh7c4ajiiaf56h3yy3qnb4kamkv146g09a1p";
+      name = "krunner-5.84.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kservice-5.81.0.tar.xz";
-      sha256 = "1kb6wz8d879b57hpfi4ybpc9d3r67b205xdjmp3bhz21894haszc";
-      name = "kservice-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kservice-5.84.0.tar.xz";
+      sha256 = "1lbx51wpsc7qdp480yl08wsp6lb1lww5ix5hpxxmv0x7galcgsf2";
+      name = "kservice-5.84.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/ktexteditor-5.81.0.tar.xz";
-      sha256 = "1pbxkkqzk4l8n9am5r6w2s1smqwwcc2wagy9in0k80gbyszp9rvm";
-      name = "ktexteditor-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/ktexteditor-5.84.0.tar.xz";
+      sha256 = "0znpls5ap33yjcjw1ayl6zja8qnqx5glk2bvig5aajriqbpw8irk";
+      name = "ktexteditor-5.84.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/ktextwidgets-5.81.0.tar.xz";
-      sha256 = "04mn22xmhkxqb138b9wf6jxz39dfp8rigdg3pzr5llx6gmrln9y8";
-      name = "ktextwidgets-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/ktextwidgets-5.84.0.tar.xz";
+      sha256 = "069qk1frsfa9iqgchpvkq4sgh973fc2fy1hjymc2zv3mahz23qfl";
+      name = "ktextwidgets-5.84.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kunitconversion-5.81.0.tar.xz";
-      sha256 = "1g9i253f3qjpcmfiy12zmbi41gld9fxy89d742b44xc88fhj3z1y";
-      name = "kunitconversion-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kunitconversion-5.84.0.tar.xz";
+      sha256 = "0a8jc3vw4ydsfff1qis9323vcd7nhigwyjxqa57qzvswrk7wmlxf";
+      name = "kunitconversion-5.84.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwallet-5.81.0.tar.xz";
-      sha256 = "1i05j20847bb9b7348f85fln6spqnkp3c9ysr7yvnm8wfyzrd1gz";
-      name = "kwallet-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwallet-5.84.0.tar.xz";
+      sha256 = "1m08q820zl9wrc04i0inb7n0r35p0lzcv3hiwvzxmgdcm9zm2n3c";
+      name = "kwallet-5.84.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwayland-5.81.0.tar.xz";
-      sha256 = "1a23zcf6aax1fyq4d6y88flyap8wwkbwnq4vkbybpbnxnkbwl8ny";
-      name = "kwayland-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwayland-5.84.0.tar.xz";
+      sha256 = "1lpmbqkfbjq3445lj42zqc90wk437kzyjlpzji0wh4p9nqa4a27s";
+      name = "kwayland-5.84.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwidgetsaddons-5.81.0.tar.xz";
-      sha256 = "0hmnlda1hgk6zwx6wnjzqc0b2awv835736sjyczrxcfaxlkfj99g";
-      name = "kwidgetsaddons-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwidgetsaddons-5.84.0.tar.xz";
+      sha256 = "1xffbmi3a3qp781aay964b30l9y170imxaa05r3xpj77saq673kp";
+      name = "kwidgetsaddons-5.84.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kwindowsystem-5.81.0.tar.xz";
-      sha256 = "11ma5vhq8z570danzq9vdwwcq5n6drsm9m3rpvc1vd3kn2mslls7";
-      name = "kwindowsystem-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kwindowsystem-5.84.0.tar.xz";
+      sha256 = "19fa8j4paq245rwvnmnz2mnwgh8y6c26wbw25v8kgd7a33ryg0fg";
+      name = "kwindowsystem-5.84.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/kxmlgui-5.81.0.tar.xz";
-      sha256 = "1l3a9qzc1x1ai2g1g551w05n2jxshxr03rcy0n8m8lbf518288yv";
-      name = "kxmlgui-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/kxmlgui-5.84.0.tar.xz";
+      sha256 = "1ddfvjwww2270zx4f86w0xmd45pyir95llhc4x2ixicx94jvsg1c";
+      name = "kxmlgui-5.84.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/portingAids/kxmlrpcclient-5.81.0.tar.xz";
-      sha256 = "15q3w6wdn5ynhyv5244irq51qbm66bl7799zfs964c0y6dmmm3hg";
-      name = "kxmlrpcclient-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/portingAids/kxmlrpcclient-5.84.0.tar.xz";
+      sha256 = "10jddyak99wd4x3vm9d6xzh45pl1lhhfw9isrdkgzcixip2s4p6i";
+      name = "kxmlrpcclient-5.84.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/modemmanager-qt-5.81.0.tar.xz";
-      sha256 = "01rr4j09xqsja7h699yk58xif7qrlbszd0mim4cncy7pkgwn43h6";
-      name = "modemmanager-qt-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/modemmanager-qt-5.84.0.tar.xz";
+      sha256 = "1k0dbgq3zbg1rhy775vbxwqssbdin4wm7rw4fkcdra4z9hf39xin";
+      name = "modemmanager-qt-5.84.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/networkmanager-qt-5.81.0.tar.xz";
-      sha256 = "1j26ja4r6ry7134yh8i6rkf6dy6kapnrjap9476mr78ig0d6r2if";
-      name = "networkmanager-qt-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/networkmanager-qt-5.84.0.tar.xz";
+      sha256 = "1qd58p2hj1rnzjvd6sskmry7gq7gp9fvp115ihc8dkaq8xvwah77";
+      name = "networkmanager-qt-5.84.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/oxygen-icons5-5.81.0.tar.xz";
-      sha256 = "1s0gvicrfw6dl164cccj05rfhp627mqa9ml0j4dvgvknnrgip6hz";
-      name = "oxygen-icons5-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/oxygen-icons5-5.84.0.tar.xz";
+      sha256 = "06h1c2lvvs41lcibgv5iz31g7j1x7fdyi7lnh21hkgd7747vk42l";
+      name = "oxygen-icons5-5.84.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/plasma-framework-5.81.0.tar.xz";
-      sha256 = "0g36a632kafsvhamk33w46cafg1gyir3kkx12fkhyqll2vlpn0v7";
-      name = "plasma-framework-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/plasma-framework-5.84.0.tar.xz";
+      sha256 = "0chmmb04m1bq4d1w67bw3ppc2iycw7wzsdpams6c4y9f59iwrd8r";
+      name = "plasma-framework-5.84.0.tar.xz";
     };
   };
   prison = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/prison-5.81.0.tar.xz";
-      sha256 = "1mrrwhg98br4r9g7lj6gn3w1z2gfh9kr7ycispssjalyp6bdf4yg";
-      name = "prison-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/prison-5.84.0.tar.xz";
+      sha256 = "17bd40fqp88j5dwxixrhf1d4xwri574l4593rdhzg8qgi9jm2ypj";
+      name = "prison-5.84.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/purpose-5.81.0.tar.xz";
-      sha256 = "0188wxxy6rg6sm722db02nzhmlv3c540zs2qh6h9fbbf1k4h82jf";
-      name = "purpose-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/purpose-5.84.0.tar.xz";
+      sha256 = "01rh85fc4c4gl0lxw2rbcrh001akggnz7aahkc2spsgd64m7vfv7";
+      name = "purpose-5.84.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/qqc2-desktop-style-5.81.0.tar.xz";
-      sha256 = "1ac4jc6yi6fwndyivc11brlaz3sncxyxzwrfdak8gg579z67zjx5";
-      name = "qqc2-desktop-style-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/qqc2-desktop-style-5.84.0.tar.xz";
+      sha256 = "0vz68nh6iy92whjlkgf1jmmlhr5261rgsy1r7k3bfd91a41qh2qw";
+      name = "qqc2-desktop-style-5.84.0.tar.xz";
     };
   };
   solid = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/solid-5.81.0.tar.xz";
-      sha256 = "0w144jdhspjgqpv0xyxr6l6bnh2bazn9jfbw5iim8fj4q5dyr6c1";
-      name = "solid-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/solid-5.84.0.tar.xz";
+      sha256 = "0lrims7zfr5xr5y25v63d08m6cm27z6mxbdg9j06xsrqf93vyz4s";
+      name = "solid-5.84.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/sonnet-5.81.0.tar.xz";
-      sha256 = "0kin6xngk4bxxn7y06q1pm0vk5s66gh6riv58l051px27m6lwz2a";
-      name = "sonnet-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/sonnet-5.84.0.tar.xz";
+      sha256 = "0xnbi1rbb2awl5bvyjxjvzq5a8n9xpmiqvlzcgprmqgmsygzlnnq";
+      name = "sonnet-5.84.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/syndication-5.81.0.tar.xz";
-      sha256 = "1fxdhnd8kl0q13434vbkmjan9dakhn9bdrad9d4vd3x11c77ggkn";
-      name = "syndication-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/syndication-5.84.0.tar.xz";
+      sha256 = "0m245vp5dkw88rz9kgym4ka729p688wspm8mv6zzsfffggvfkwrc";
+      name = "syndication-5.84.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/syntax-highlighting-5.81.0.tar.xz";
-      sha256 = "0paazw8y8kdvwg2waa45az5qgyxi2w5nkfbjg84v1is7yhb065yb";
-      name = "syntax-highlighting-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/syntax-highlighting-5.84.0.tar.xz";
+      sha256 = "1mb4di9k2rxf6f7n53z94q5awmwzfd516kv757ifd323w9xkmyxa";
+      name = "syntax-highlighting-5.84.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.81.0";
+    version = "5.84.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.81/threadweaver-5.81.0.tar.xz";
-      sha256 = "03mz4zibvmriaa9qxvqsnp3ahjnhylzjj80w5c6nc4jjywmi89af";
-      name = "threadweaver-5.81.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.84/threadweaver-5.84.0.tar.xz";
+      sha256 = "0hmxkqwxjvk6m3h3l12bw01xgwqxzja5cismqrwcc3yxf8fyd572";
+      name = "threadweaver-5.84.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/lemon-graph/default.nix b/pkgs/development/libraries/lemon-graph/default.nix
new file mode 100644
index 00000000000..04f0514781b
--- /dev/null
+++ b/pkgs/development/libraries/lemon-graph/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, stdenv
+, fetchurl
+, cmake
+}:
+
+stdenv.mkDerivation rec {
+  pname = "lemon-graph";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "https://lemon.cs.elte.hu/pub/sources/lemon-${version}.tar.gz";
+    sha256 = "1j6kp9axhgna47cfnmk1m7vnqn01hwh7pf1fp76aid60yhjwgdvi";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = true;
+
+  meta = with lib; {
+    homepage = "https://lemon.cs.elte.hu/trac/lemon";
+    description = "Efficient library for combinatorial optimization tasks on graphs and networks";
+    license = licenses.boost;
+    maintainers = with maintainers; [ trepetti ];
+    platforms = platforms.all;
+    broken = stdenv.isAarch64 || stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/development/libraries/libvarlink/default.nix b/pkgs/development/libraries/libvarlink/default.nix
new file mode 100644
index 00000000000..099fae07dac
--- /dev/null
+++ b/pkgs/development/libraries/libvarlink/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, meson
+, ninja
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libvarlink";
+  version = "22";
+
+  src = fetchFromGitHub {
+    owner = "varlink";
+    repo = pname;
+    rev = version;
+    sha256 = "1i15227vlc9k4276r833ndhxrcys9305pf6dga1j0alx2vj85yz2";
+  };
+
+  nativeBuildInputs = [ meson ninja ];
+
+  postPatch = ''
+    substituteInPlace varlink-wrapper.py \
+      --replace "/usr/bin/env python3" "${python3}/bin/python3"
+
+    # test-object: ../lib/test-object.c:129: main: Assertion `setlocale(LC_NUMERIC, "de_DE.UTF-8") != 0' failed.
+    # PR that added it https://github.com/varlink/libvarlink/pull/27
+    substituteInPlace lib/test-object.c \
+      --replace 'assert(setlocale(LC_NUMERIC, "de_DE.UTF-8") != 0);' ""
+
+    patchShebangs lib/test-symbols.sh
+  '';
+
+  doCheck = true;
+
+  meta = with lib; {
+    description = "C implementation of the Varlink protocol and command line tool";
+    homepage = "https://github.com/varlink/libvarlink";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ artturin ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/ndi/default.nix b/pkgs/development/libraries/ndi/default.nix
index 81465b61acc..90032f774bb 100644
--- a/pkgs/development/libraries/ndi/default.nix
+++ b/pkgs/development/libraries/ndi/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "ndi";
-  fullVersion = "4.6.0";
+  fullVersion = "4.6.2";
   version = builtins.head (builtins.splitVersion fullVersion);
 
   src = requireFile rec {
     name    = "InstallNDISDK_v${version}_Linux.tar.gz";
-    sha256  = "19jrj2v7x1amdpc9pdq3042vm2l3szwqbzb83lirgbc24s2q043m";
+    sha256  = "181ypfj1bl0kljzrfr6037i14ykg2y4plkzdhym6m3z7kcrnm1fl";
     message = ''
       In order to use NDI SDK version ${fullVersion}, you need to comply with
       NewTek's license and download the appropriate Linux tarball from:
diff --git a/pkgs/development/libraries/plasma-wayland-protocols/default.nix b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
index ea02eb428db..fff25d5bb44 100644
--- a/pkgs/development/libraries/plasma-wayland-protocols/default.nix
+++ b/pkgs/development/libraries/plasma-wayland-protocols/default.nix
@@ -5,11 +5,11 @@
 
 mkDerivation rec {
   pname = "plasma-wayland-protocols";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/${pname}/${pname}-v${version}.tar.xz";
-    sha256 = "sha256-KHuQkD+afzlMdedcsYdCaGLq9kqS8b5+LvaOmf2Muqo=";
+    url = "mirror://kde/stable/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "sha256-DaojYvLg0V954OAG6NfxkI6I43tcUgi0DJyw1NbcqbU=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch b/pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch
deleted file mode 100644
index 4cd7214e61e..00000000000
--- a/pkgs/development/libraries/qtkeychain/0001-Fixes-build-with-Qt4.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From f72e5b67ee1137a0ccd57db5d077a197b01b3cdc Mon Sep 17 00:00:00 2001
-From: Samuel Dionne-Riel <samuel@dionne-riel.com>
-Date: Tue, 4 Sep 2018 23:19:29 -0400
-Subject: [PATCH] Fixes build with Qt4.
-
----
- keychain_unix.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/keychain_unix.cpp b/keychain_unix.cpp
-index 30b26c3..b27ebef 100644
---- a/keychain_unix.cpp
-+++ b/keychain_unix.cpp
-@@ -91,7 +91,7 @@ static bool isKwallet5Available()
-     // a wallet can be opened.
- 
-     iface.setTimeout(500);
--    QDBusMessage reply = iface.call(QStringLiteral("networkWallet"));
-+    QDBusMessage reply = iface.call("networkWallet");
-     return reply.type() == QDBusMessage::ReplyMessage;
- }
- 
--- 
-2.16.4
-
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
index 3da0587210d..0d3528e92f8 100644
--- a/pkgs/development/libraries/qtkeychain/default.nix
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -1,27 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qt4 ? null
-, withQt5 ? false, qtbase ? null, qttools ? null
-, darwin ? null
+{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, qtbase, qttools
+, CoreFoundation, Security
 , libsecret
 }:
 
-assert withQt5 -> qtbase != null;
-assert withQt5 -> qttools != null;
-assert stdenv.isDarwin -> darwin != null;
-
 stdenv.mkDerivation rec {
-  name = "qtkeychain-${if withQt5 then "qt5" else "qt4"}-${version}";
-  version = "0.9.1";            # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
+  pname = "qtkeychain";
+  version = "0.12.0";            # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
 
   src = fetchFromGitHub {
     owner = "frankosterfeld";
     repo = "qtkeychain";
     rev = "v${version}";
-    sha256 = "0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"; # v0.9.1
+    sha256 = "0gi1nx4bcc1vwfw41cif3xi2i59229vy0kc2r5959d8n6yv31kfr"; # v0.9.1
   };
 
   dontWrapQtApps = true;
 
-  patches = (if withQt5 then [] else [ ./0001-Fixes-build-with-Qt4.patch ]) ++ (if stdenv.isDarwin then [ ./0002-Fix-install-name-Darwin.patch ] else []);
+  patches = [ ./0002-Fix-install-name-Darwin.patch ];
 
   cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
 
@@ -30,10 +25,10 @@ stdenv.mkDerivation rec {
   ;
 
   buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
-    ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ])
-    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ++ [ qtbase qttools ]
+    ++ lib.optionals stdenv.isDarwin [
       CoreFoundation Security
-    ])
+    ]
   ;
 
   meta = {
diff --git a/pkgs/development/libraries/sentry-native/default.nix b/pkgs/development/libraries/sentry-native/default.nix
new file mode 100644
index 00000000000..a20cc7d917b
--- /dev/null
+++ b/pkgs/development/libraries/sentry-native/default.nix
@@ -0,0 +1,28 @@
+{ lib, stdenv, fetchFromGitHub, cmake, curl, breakpad, pkg-config }:
+
+stdenv.mkDerivation rec {
+  pname = "sentry-native";
+  version = "0.4.11";
+
+  src = fetchFromGitHub {
+    owner = "getsentry";
+    repo = "sentry-native";
+    rev = version;
+    sha256 = "sha256-kasZ5OAtl32Oxed4BkxvHXEFqEvBaBwyslHO7Ga5TRY=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ curl breakpad pkg-config ];
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
+    "-DSENTRY_BREAKPAD_SYSTEM=On"
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/getsentry/sentry-native";
+    description = "Sentry SDK for C, C++ and native applications.";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ wheelsandmetal ];
+  };
+}
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 0737706d404..e70ad2a91f1 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -17,6 +17,7 @@
 , "aws-azure-login"
 , "balanceofsatoshis"
 , "bash-language-server"
+, "beancount-langserver"
 , "bower"
 , "bower2nix"
 , "browserify"
@@ -262,6 +263,7 @@
 , "uglify-js"
 , "undollar"
 , "ungit"
+, "unified-language-server"
 , "vega-cli"
 , "vega-lite"
 , "vim-language-server"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 2d2202569df..0d01b75583e 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -220,13 +220,13 @@ let
         sha512 = "GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==";
       };
     };
-    "@apollo/client-3.4.1" = {
+    "@apollo/client-3.4.4" = {
       name = "_at_apollo_slash_client";
       packageName = "@apollo/client";
-      version = "3.4.1";
+      version = "3.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apollo/client/-/client-3.4.1.tgz";
-        sha512 = "CT7ZBSHQD4UG1PDvMS9qOz5ACRIR0b4mBkqjCXEVjteOxA4wpFqUX3dg2bNl+Ok3LwPxFT4b3FwC3+LVcWFa6w==";
+        url = "https://registry.npmjs.org/@apollo/client/-/client-3.4.4.tgz";
+        sha512 = "XuFudJUA/YDBeEbxxkUK80FEhpABaphvOuKu8VPwgvu9681Rrqju9e6tGpsoCBIBtcBjFMrFkEafAai7H+dVNw==";
       };
     };
     "@apollo/protobufjs-1.2.2" = {
@@ -355,6 +355,15 @@ let
         sha512 = "p3QjZmMGHDGdpcwEYYWu7i7oJShJvtgMjJeb0W95PPhSm++3lm8YXYOh45Y6iCN9PkZLTZ7CIX5nFrp7pw7TXw==";
       };
     };
+    "@babel/compat-data-7.15.0" = {
+      name = "_at_babel_slash_compat-data";
+      packageName = "@babel/compat-data";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz";
+        sha512 = "0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==";
+      };
+    };
     "@babel/core-7.10.5" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
@@ -373,6 +382,15 @@ let
         sha512 = "/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q==";
       };
     };
+    "@babel/core-7.15.0" = {
+      name = "_at_babel_slash_core";
+      packageName = "@babel/core";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz";
+        sha512 = "tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==";
+      };
+    };
     "@babel/core-7.9.0" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
@@ -391,6 +409,15 @@ let
         sha512 = "4yoHbhDYzFa0GLfCzLp5GxH7vPPMAHdZjyE7M/OajM9037zhx0rf+iNsJwp4PT0MSFpwjG7BsHEbPkBQpZ6cYA==";
       };
     };
+    "@babel/generator-7.15.0" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz";
+        sha512 = "eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==";
+      };
+    };
     "@babel/helper-annotate-as-pure-7.14.5" = {
       name = "_at_babel_slash_helper-annotate-as-pure";
       packageName = "@babel/helper-annotate-as-pure";
@@ -418,6 +445,15 @@ let
         sha512 = "v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==";
       };
     };
+    "@babel/helper-compilation-targets-7.15.0" = {
+      name = "_at_babel_slash_helper-compilation-targets";
+      packageName = "@babel/helper-compilation-targets";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz";
+        sha512 = "h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==";
+      };
+    };
     "@babel/helper-create-class-features-plugin-7.14.8" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
@@ -427,6 +463,15 @@ let
         sha512 = "bpYvH8zJBWzeqi1o+co8qOrw+EXzQ/0c74gVmY205AWXy9nifHrOg77y+1zwxX5lXE7Icq4sPlSQ4O2kWBrteQ==";
       };
     };
+    "@babel/helper-create-class-features-plugin-7.15.0" = {
+      name = "_at_babel_slash_helper-create-class-features-plugin";
+      packageName = "@babel/helper-create-class-features-plugin";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.0.tgz";
+        sha512 = "MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==";
+      };
+    };
     "@babel/helper-create-regexp-features-plugin-7.14.5" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
@@ -490,6 +535,15 @@ let
         sha512 = "TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==";
       };
     };
+    "@babel/helper-member-expression-to-functions-7.15.0" = {
+      name = "_at_babel_slash_helper-member-expression-to-functions";
+      packageName = "@babel/helper-member-expression-to-functions";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz";
+        sha512 = "Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==";
+      };
+    };
     "@babel/helper-module-imports-7.14.5" = {
       name = "_at_babel_slash_helper-module-imports";
       packageName = "@babel/helper-module-imports";
@@ -508,6 +562,15 @@ let
         sha512 = "RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA==";
       };
     };
+    "@babel/helper-module-transforms-7.15.0" = {
+      name = "_at_babel_slash_helper-module-transforms";
+      packageName = "@babel/helper-module-transforms";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz";
+        sha512 = "RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==";
+      };
+    };
     "@babel/helper-optimise-call-expression-7.14.5" = {
       name = "_at_babel_slash_helper-optimise-call-expression";
       packageName = "@babel/helper-optimise-call-expression";
@@ -553,6 +616,15 @@ let
         sha512 = "3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==";
       };
     };
+    "@babel/helper-replace-supers-7.15.0" = {
+      name = "_at_babel_slash_helper-replace-supers";
+      packageName = "@babel/helper-replace-supers";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz";
+        sha512 = "6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==";
+      };
+    };
     "@babel/helper-simple-access-7.14.8" = {
       name = "_at_babel_slash_helper-simple-access";
       packageName = "@babel/helper-simple-access";
@@ -643,6 +715,15 @@ let
         sha512 = "RdUTOseXJ8POjjOeEBEvNMIZU/nm4yu2rufRkcibzkkg7DmQvXU8v3M4Xk9G7uuI86CDGkKcuDWgioqZm+mScQ==";
       };
     };
+    "@babel/parser-7.15.0" = {
+      name = "_at_babel_slash_parser";
+      packageName = "@babel/parser";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.15.0.tgz";
+        sha512 = "0v7oNOjr6YT9Z2RAOTv4T9aP+ubfx4Q/OhVtAet7PFDt0t9Oy6Jn+/rfC6b8HJ5zEqrQCiMxJfgtHpmIminmJQ==";
+      };
+    };
     "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5" = {
       name = "_at_babel_slash_plugin-bugfix-v8-spread-parameters-in-optional-chaining";
       packageName = "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining";
@@ -1156,6 +1237,15 @@ let
         sha512 = "en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A==";
       };
     };
+    "@babel/plugin-transform-modules-commonjs-7.15.0" = {
+      name = "_at_babel_slash_plugin-transform-modules-commonjs";
+      packageName = "@babel/plugin-transform-modules-commonjs";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.0.tgz";
+        sha512 = "3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==";
+      };
+    };
     "@babel/plugin-transform-modules-systemjs-7.14.5" = {
       name = "_at_babel_slash_plugin-transform-modules-systemjs";
       packageName = "@babel/plugin-transform-modules-systemjs";
@@ -1363,6 +1453,15 @@ let
         sha512 = "XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==";
       };
     };
+    "@babel/plugin-transform-typescript-7.15.0" = {
+      name = "_at_babel_slash_plugin-transform-typescript";
+      packageName = "@babel/plugin-transform-typescript";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.0.tgz";
+        sha512 = "WIIEazmngMEEHDaPTx0IZY48SaAmjVWe3TRSX7cmJXn0bEv9midFzAjxiruOWYIVf5iQ10vFx7ASDpgEO08L5w==";
+      };
+    };
     "@babel/plugin-transform-unicode-escapes-7.14.5" = {
       name = "_at_babel_slash_plugin-transform-unicode-escapes";
       packageName = "@babel/plugin-transform-unicode-escapes";
@@ -1390,6 +1489,15 @@ let
         sha512 = "BV5JvCwBDebkyh67bPKBYVCC6gGw0MCzU6HfKe5Pm3upFpPVqiC/hB33zkOe0tVdAzaMywah0LSXQeD9v/BYdQ==";
       };
     };
+    "@babel/preset-env-7.15.0" = {
+      name = "_at_babel_slash_preset-env";
+      packageName = "@babel/preset-env";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.0.tgz";
+        sha512 = "FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==";
+      };
+    };
     "@babel/preset-flow-7.14.5" = {
       name = "_at_babel_slash_preset-flow";
       packageName = "@babel/preset-flow";
@@ -1444,6 +1552,15 @@ let
         sha512 = "u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==";
       };
     };
+    "@babel/preset-typescript-7.15.0" = {
+      name = "_at_babel_slash_preset-typescript";
+      packageName = "@babel/preset-typescript";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.15.0.tgz";
+        sha512 = "lt0Y/8V3y06Wq/8H/u0WakrqciZ7Fz7mwPDHWUJAXlABL5hiUG42BNlRXiELNjeWjO5rWmnNKlx+yzJvxezHow==";
+      };
+    };
     "@babel/register-7.14.5" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
@@ -1516,6 +1633,15 @@ let
         sha512 = "bldh6dtB49L8q9bUyB7bC20UKgU+EFDwKJylwl234Kv+ySZeMD31Xeht6URyueQ6LrRRpF2tmkfcZooZR9/e8g==";
       };
     };
+    "@babel/traverse-7.15.0" = {
+      name = "_at_babel_slash_traverse";
+      packageName = "@babel/traverse";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz";
+        sha512 = "392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==";
+      };
+    };
     "@babel/types-7.13.12" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
@@ -1534,6 +1660,15 @@ let
         sha512 = "u0bLTnv3DFHeaQLYzb7oRJ1JHr1sv/SYDM7JSqHFFLwXG1wTZRughxFI5NCP8qBEo1rVVsn7Yg2Lvw49nne/Ow==";
       };
     };
+    "@babel/types-7.15.0" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz";
+        sha512 = "OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==";
+      };
+    };
     "@braintree/sanitize-url-3.1.0" = {
       name = "_at_braintree_slash_sanitize-url";
       packageName = "@braintree/sanitize-url";
@@ -1642,13 +1777,13 @@ let
         sha512 = "sR9Go0U6puXoXyW9UgIiIQhRcJ8jVOvGl4BptUiXAtheMs72WcakZ1udh6J0ZOivr3o8jAM+MTCHLP8FZMbVpQ==";
       };
     };
-    "@corestore/networker-1.1.0" = {
+    "@corestore/networker-1.2.0" = {
       name = "_at_corestore_slash_networker";
       packageName = "@corestore/networker";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@corestore/networker/-/networker-1.1.0.tgz";
-        sha512 = "Pj5Cfyfck1OJfVd4diO4UVo8qabW9O/wgDz5HeY6Okuan98KjMxrAJZG8MPk7I+mjRoYDFgFPVgssx9zv420Ag==";
+        url = "https://registry.npmjs.org/@corestore/networker/-/networker-1.2.0.tgz";
+        sha512 = "ErfgH7yuwh6C7Y4AYM6A+Vv0lYV2c3sx9NNzCkIOB8pgp1cPmht4T4ZbLu0GiVj1XJ67AOPI0nhYfi4DB/h2rA==";
       };
     };
     "@cronvel/get-pixels-3.4.0" = {
@@ -2254,13 +2389,13 @@ let
         sha512 = "o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==";
       };
     };
-    "@fluentui/date-time-utilities-8.2.1" = {
+    "@fluentui/date-time-utilities-8.2.2" = {
       name = "_at_fluentui_slash_date-time-utilities";
       packageName = "@fluentui/date-time-utilities";
-      version = "8.2.1";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.2.1.tgz";
-        sha512 = "0AYXaXFQ3bPsOtiOi3bJSihzf+w3L44iQK38EiQgp3uAXei/i36VtDCToHZehYV+eS4s1qb/QGksoL0F4G6WCQ==";
+        url = "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.2.2.tgz";
+        sha512 = "djHrX/38ty+F93qLQjzmRzPzK598CW9g/RPhQH6GyrFBLPSWM1swYKB5TP6E7FrIf+fT4pVqrNUSYZhgi2rrOQ==";
       };
     };
     "@fluentui/dom-utilities-1.1.2" = {
@@ -2272,31 +2407,31 @@ let
         sha512 = "XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==";
       };
     };
-    "@fluentui/dom-utilities-2.1.3" = {
+    "@fluentui/dom-utilities-2.1.4" = {
       name = "_at_fluentui_slash_dom-utilities";
       packageName = "@fluentui/dom-utilities";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.3.tgz";
-        sha512 = "i2YECSldnkzPAhVmrxksuKSbqBKfMbHrexGqDJm7dy6KoIx+JSilbA5Lz0YNhA7VEgCy1X01GHlWBvqhCNQW8g==";
+        url = "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.4.tgz";
+        sha512 = "+gsAnEjgoKB37o+tsMdSLtgqZ9z2PzpvnHx/2IqhRWjQQd7Xc7MbQsbZaQ5qfkioFHLnWGc/+WORpqKPy/sWrg==";
       };
     };
-    "@fluentui/font-icons-mdl2-8.1.7" = {
+    "@fluentui/font-icons-mdl2-8.1.8" = {
       name = "_at_fluentui_slash_font-icons-mdl2";
       packageName = "@fluentui/font-icons-mdl2";
-      version = "8.1.7";
+      version = "8.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.1.7.tgz";
-        sha512 = "piTdL/rKTx3cNBaMBc+u7YtluLfKYt9NY7Z341h3gZyYfgzeO8djU4RD7KpSozocPPGjooMjCjfPWDVh3DZqkw==";
+        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.1.8.tgz";
+        sha512 = "kZkCHM/mP8WWLLExz3x3wK5yQHPP4tAcvlHVqe69TbG8+3fxRGJSMOxzZO/04CFQp2A7/wOskSRtqeIBtaXJfw==";
       };
     };
-    "@fluentui/foundation-legacy-8.1.7" = {
+    "@fluentui/foundation-legacy-8.1.8" = {
       name = "_at_fluentui_slash_foundation-legacy";
       packageName = "@fluentui/foundation-legacy";
-      version = "8.1.7";
+      version = "8.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.1.7.tgz";
-        sha512 = "hzzgbtMFp0gPi5qG9+Wa2ImYrfEuld3880g3xsxfrjRgVQ5zcRIkNFNc5//YfiLRqi0y9wNUuDrEI08ZMvxSBA==";
+        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.1.8.tgz";
+        sha512 = "m0zbRbZaJbzBjv8Ziv3zpwoGFjuzzPIAmhsn58g66MZvQBd9vN92hFJBNG2bO2+ivlprns4WnLEAiPK8CjoAsA==";
       };
     };
     "@fluentui/keyboard-key-0.2.17" = {
@@ -2308,22 +2443,22 @@ let
         sha512 = "iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==";
       };
     };
-    "@fluentui/keyboard-key-0.3.3" = {
+    "@fluentui/keyboard-key-0.3.4" = {
       name = "_at_fluentui_slash_keyboard-key";
       packageName = "@fluentui/keyboard-key";
-      version = "0.3.3";
+      version = "0.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.3.tgz";
-        sha512 = "3qX1WNCgJlKq7uGH76rLC4cdESgwdLhMH9WjcQUkQNJKtBpL4vs5O99M1keEhd3pfooW7zasr6AcYcWq4BRB4g==";
+        url = "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.4.tgz";
+        sha512 = "pVY2m3IC5+LLmMzsaPApX9eKTzpOzdgQwrR3FNTE6mGx3N/+QWYM7fdF+T1ldZQt87dCRSeQnmAo5kqjtxeA/w==";
       };
     };
-    "@fluentui/merge-styles-8.1.3" = {
+    "@fluentui/merge-styles-8.1.4" = {
       name = "_at_fluentui_slash_merge-styles";
       packageName = "@fluentui/merge-styles";
-      version = "8.1.3";
+      version = "8.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.1.3.tgz";
-        sha512 = "5vZUyXnbOb9M1rMLzQ7Kj5uadHgSTsp3gv0xDv6bfPvzB9RgQa3dEuJ6TA34tLezw8sFYuA6NnKd57nlb4aXMA==";
+        url = "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.1.4.tgz";
+        sha512 = "zCAEjZyALk0CGW1H9YNJU+e/MW0P5sFJfrDvac27K4S/dIQvKnOwMUNOWRkNz3yUEt0R9vo0NtiO3cW04cZq3A==";
       };
     };
     "@fluentui/react-7.174.0" = {
@@ -2353,22 +2488,22 @@ let
         sha512 = "JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==";
       };
     };
-    "@fluentui/react-focus-8.1.9" = {
+    "@fluentui/react-focus-8.1.10" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
-      version = "8.1.9";
+      version = "8.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.1.9.tgz";
-        sha512 = "vYnenLKUj2Uxj5sjuv6AJJ1kYCqq/stM4ZMCQmJWq2qiMm2TpqW3vMpRspuxwD9BqOVbIFNoj9pEWpxAaTCEqw==";
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.1.10.tgz";
+        sha512 = "sojXA6epu2QJbFf+XqP1AHOrrWssoQJWJNuzp0MCzQOWCUlLLqRpRUHtUKZzCnrbD9G5MOW8/192m/rSPyM7eA==";
       };
     };
-    "@fluentui/react-hooks-8.2.5" = {
+    "@fluentui/react-hooks-8.2.6" = {
       name = "_at_fluentui_slash_react-hooks";
       packageName = "@fluentui/react-hooks";
-      version = "8.2.5";
+      version = "8.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.2.5.tgz";
-        sha512 = "8x0sK59kM2naaps88vG++uY5DmYOJX7okGRSHtda8vtgE/03edpGkIgwBGloYJnk3b/EJvcLBjyVlkd1LcbvbQ==";
+        url = "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.2.6.tgz";
+        sha512 = "nz0iycSUmGX6eBKsmW23ocmKn/HdV7c8HnMHx5fcGIQbOqOH8Hv4wq8t3RozsZBapIi/nDjpZs2UvB4zDFsg1g==";
       };
     };
     "@fluentui/react-window-provider-1.0.2" = {
@@ -2380,31 +2515,31 @@ let
         sha512 = "fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==";
       };
     };
-    "@fluentui/react-window-provider-2.1.3" = {
+    "@fluentui/react-window-provider-2.1.4" = {
       name = "_at_fluentui_slash_react-window-provider";
       packageName = "@fluentui/react-window-provider";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.3.tgz";
-        sha512 = "3NWL3Kkqp3elD/aTrUaEufRUrN7K7hYsXEsOY2bDCDjPadLGtZlTGWNYFbUYNsaL/v79gZHhH+voCECP85HqRg==";
+        url = "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.4.tgz";
+        sha512 = "RztmJ7ol2eMDr3NCs2OcAA1cQjZdPPUEa4aurgh4Aq+JM/BiY0aK6S4SeFtVD7F8Q7PBOz/xwOG4HlnSMQtlsg==";
       };
     };
-    "@fluentui/set-version-8.1.3" = {
+    "@fluentui/set-version-8.1.4" = {
       name = "_at_fluentui_slash_set-version";
       packageName = "@fluentui/set-version";
-      version = "8.1.3";
+      version = "8.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.3.tgz";
-        sha512 = "QYLFBnwa6xJj0phEy6r+iO5bXWXxkhS1uNngUwfWsHaTskDa4PXDDdjZAXjTVV935xqmoM4GZhZk+Tcoe/OaXA==";
+        url = "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.4.tgz";
+        sha512 = "2otMyJ+s+W+hjBD4BKjwYKKinJUDeIKYKz93qKrrJS0i3fKfftNroy9dHFlIblZ7n747L334plLi3bzQO1bnvA==";
       };
     };
-    "@fluentui/style-utilities-8.2.1" = {
+    "@fluentui/style-utilities-8.2.2" = {
       name = "_at_fluentui_slash_style-utilities";
       packageName = "@fluentui/style-utilities";
-      version = "8.2.1";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.2.1.tgz";
-        sha512 = "+ZSl7Hz/C9DX1dYTZBnmP/57fHPK2qrLr0oTLJTq4uLjmG5Hxyo6gZ9/YCrEnW0h1d3tZlNa4LH5X8rux+D8kg==";
+        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.2.2.tgz";
+        sha512 = "PKixlYfY93XOZRPNi+I8Qw9SkcBZsnG/qg2+3IxLGXpCVYKOmP52oR7N5j/nmspQZXdEoHehYa2z/lsKC2xw1w==";
       };
     };
     "@fluentui/theme-1.7.4" = {
@@ -2416,22 +2551,22 @@ let
         sha512 = "o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==";
       };
     };
-    "@fluentui/theme-2.2.0" = {
+    "@fluentui/theme-2.2.1" = {
       name = "_at_fluentui_slash_theme";
       packageName = "@fluentui/theme";
-      version = "2.2.0";
+      version = "2.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.2.0.tgz";
-        sha512 = "LKM2ML05WU22It39iw523wGrpLG5qcvmQkSV7HV5NERSeZkI79TYntmXecaKaKWZjdUFTsZDijuhCOkWypNG5Q==";
+        url = "https://registry.npmjs.org/@fluentui/theme/-/theme-2.2.1.tgz";
+        sha512 = "1G92TftVulrGXklL5upaN/WrrSzY/va39RM1eo0XO/Q3+kAhAajclQAXb7XanqOsVFcAqK1DbVvWayrY9DG2Qg==";
       };
     };
-    "@fluentui/utilities-8.2.1" = {
+    "@fluentui/utilities-8.2.2" = {
       name = "_at_fluentui_slash_utilities";
       packageName = "@fluentui/utilities";
-      version = "8.2.1";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.2.1.tgz";
-        sha512 = "ezRkBUDhHQjrqAWA6H1TwWU3STauW/EjthDAe/upJbmXeP3ynn7tTpx1gpNi/vHjJlRkO1JjNoiSc6P4MZWkYw==";
+        url = "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.2.2.tgz";
+        sha512 = "aM2/CgoTIssMDs7MoTla+q/VXN5Gkk4s12S8GZNp87cmEzDy008tKkiRpHj6PXZuvJL5bctZco9YQgusO0jZEg==";
       };
     };
     "@google-cloud/paginator-3.0.5" = {
@@ -2560,22 +2695,22 @@ let
         sha512 = "JpbyXOXd8fJXdBh2ta0Q4w8ia6uK5FHzrTNmcvYBvflFuWly2LDTk2abbSl81zKkzswQMEd2UIYghXELRg8eTA==";
       };
     };
-    "@graphql-tools/merge-6.2.16" = {
+    "@graphql-tools/merge-6.2.17" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "6.2.16";
+      version = "6.2.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.16.tgz";
-        sha512 = "KjZ1pppzKcr2Uspgb53p8uw5yhWVuGIL+sEroar7vLsClSsuiGib8OKVICAGWjC9wrCxGaL9SjJGavfXpJMQIg==";
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-6.2.17.tgz";
+        sha512 = "G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==";
       };
     };
-    "@graphql-tools/mock-8.1.6" = {
+    "@graphql-tools/mock-8.1.7" = {
       name = "_at_graphql-tools_slash_mock";
       packageName = "@graphql-tools/mock";
-      version = "8.1.6";
+      version = "8.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.1.6.tgz";
-        sha512 = "ciEFfzAz+Ny/wMq+VRlBAzCVtLcIJiRYbnO7nWE+qFtiUUjmAh9Ahz6UVB1+5Fy6uqaGU6zCMgoDNVFQFtzhJg==";
+        url = "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.1.7.tgz";
+        sha512 = "6fMxYQGSJrR4XrhncFdmOicXjUhbrVnil4dy15ky9amcwOiAdSIyn+OZHWi99hJjfdyQSamALjUKRFZjRmOXrA==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -2587,13 +2722,13 @@ let
         sha512 = "uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA==";
       };
     };
-    "@graphql-tools/schema-8.0.1" = {
+    "@graphql-tools/schema-8.0.2" = {
       name = "_at_graphql-tools_slash_schema";
       packageName = "@graphql-tools/schema";
-      version = "8.0.1";
+      version = "8.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.0.1.tgz";
-        sha512 = "QG2HGLJjmsNc1wcj+rwZTEArgfMp7rsrb8iVq4P8ce1mDYAt6kRV6bLyPVb9q/j8Ik2zBc/B/Y1jPsnAVUHwdA==";
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-8.0.2.tgz";
+        sha512 = "LRO9R4Yi7uBVthdxoBgBTZxRCainfKeTlaBUy8MD/W+u8uUKUmdknrnqeWD4tvNwQjDFcEssm1cKwhvge7OqMA==";
       };
     };
     "@graphql-tools/url-loader-6.10.1" = {
@@ -2623,13 +2758,13 @@ let
         sha512 = "d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w==";
       };
     };
-    "@graphql-tools/utils-8.0.1" = {
+    "@graphql-tools/utils-8.0.2" = {
       name = "_at_graphql-tools_slash_utils";
       packageName = "@graphql-tools/utils";
-      version = "8.0.1";
+      version = "8.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.0.1.tgz";
-        sha512 = "gjQk6sht4b0/hcG+QEVxfMyO8bn5tuU1nIOVhQ4whgFaUmrnb3hx2mwzz1EJzfIOAuHKE8tY0lu6jt3bGTD4yg==";
+        url = "https://registry.npmjs.org/@graphql-tools/utils/-/utils-8.0.2.tgz";
+        sha512 = "gzkavMOgbhnwkHJYg32Adv6f+LxjbQmmbdD5Hty0+CWxvaiuJq+nU6tzb/7VSU4cwhbNLx/lGu2jbCPEW1McZQ==";
       };
     };
     "@graphql-tools/wrap-7.0.8" = {
@@ -3055,13 +3190,13 @@ let
         sha512 = "ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==";
       };
     };
-    "@jcubic/lily-0.1.0" = {
+    "@jcubic/lily-0.2.0" = {
       name = "_at_jcubic_slash_lily";
       packageName = "@jcubic/lily";
-      version = "0.1.0";
+      version = "0.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jcubic/lily/-/lily-0.1.0.tgz";
-        sha512 = "kIsp4dmIUHn3YHIqFhEylY+mgI988KcYI8f19og7LqmLzkouPZNBip/oL8iemElie0gqx5CeQ5HxZv/SuNkOaA==";
+        url = "https://registry.npmjs.org/@jcubic/lily/-/lily-0.2.0.tgz";
+        sha512 = "KV+CBO6epprxj0AHBDOUI5vfcJZPfhuK5Bdf+AqoJFIVBapSJjuHlZsMGLGLTHCQW48oYvwv8wCC/olzRC/Ndw==";
       };
     };
     "@jest/transform-25.5.1" = {
@@ -3928,13 +4063,13 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@netlify/build-17.4.1" = {
+    "@netlify/build-17.9.0" = {
       name = "_at_netlify_slash_build";
       packageName = "@netlify/build";
-      version = "17.4.1";
+      version = "17.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/build/-/build-17.4.1.tgz";
-        sha512 = "g3DdM6AGpqLmJOUKhemkwySybsKS1lvjchRz1PXWZOUFa5npXDuQ4YL9E2fiQrbKB3vc4FhMKonR+iL9CUcphw==";
+        url = "https://registry.npmjs.org/@netlify/build/-/build-17.9.0.tgz";
+        sha512 = "RaDv21H391dkVciAMATG2PkSpcG0qcnAVlwsBSx7Yb1rHrUhynxkY9jTWmn1P4ufWfPoykIDPRG7n/BRVA/Iqg==";
       };
     };
     "@netlify/cache-utils-2.0.0" = {
@@ -3946,13 +4081,13 @@ let
         sha512 = "CnWCssqm0pNCt/92zxpn2tfKaCts0envf4NwL7XgUDpPaKOCSwwi9+1ew8POdPmPaPYY0wFvOgejwNopKGzCOQ==";
       };
     };
-    "@netlify/config-14.1.0" = {
+    "@netlify/config-14.4.1" = {
       name = "_at_netlify_slash_config";
       packageName = "@netlify/config";
-      version = "14.1.0";
+      version = "14.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/config/-/config-14.1.0.tgz";
-        sha512 = "XgBIaKA+itg5uOAYOTt3uZmfyIFtC4t0vKPgf/CoEzWQ323g83fpwxbdqtGkqhw0bYgt0iWPKsoibnLdyoG1vQ==";
+        url = "https://registry.npmjs.org/@netlify/config/-/config-14.4.1.tgz";
+        sha512 = "30H92pQajmBo6dU+LOXDpa0dC7EKVDmncED6itzMME46bn6hySKswrY524fP6ArAF/g+LJD6Uhf4AlWNDnz3Fw==";
       };
     };
     "@netlify/esbuild-0.13.6" = {
@@ -3964,13 +4099,13 @@ let
         sha512 = "tiKmDcHM2riSVN79c0mJY/67EBDafXQAMitHuLiCDAMdtz3kfv+NqdVG5krgf5lWR8Uf8AeZrUW5Q9RP25REvw==";
       };
     };
-    "@netlify/framework-info-5.7.2" = {
+    "@netlify/framework-info-5.8.0" = {
       name = "_at_netlify_slash_framework-info";
       packageName = "@netlify/framework-info";
-      version = "5.7.2";
+      version = "5.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.7.2.tgz";
-        sha512 = "5yO26VRpeXmXorl1kNYbXxgFsJSNcrDaQVnAT9XPqZ5mb7vtjEP/ddEHkNpDsYBj/Y8VBPCvkPhDizg7UPenSw==";
+        url = "https://registry.npmjs.org/@netlify/framework-info/-/framework-info-5.8.0.tgz";
+        sha512 = "gc8K0BT6CSHnYFirLmUWLoKah+AjStWBsGmwa7gbRmeAaRThJhkRcRVE03EhSnrMQkAMO3IIIMklbE8i/9UpEg==";
       };
     };
     "@netlify/functions-utils-2.0.2" = {
@@ -4126,13 +4261,13 @@ let
         sha512 = "tFb7J6+YEtZP0OYpS/b9Rjp1lm02XfhAQR6KRHAaeRlHp98/zgd0hhubfwXUCppP2BLfn+imkeVS0FnANh5B3g==";
       };
     };
-    "@netlify/plugins-list-2.21.0" = {
+    "@netlify/plugins-list-3.2.1" = {
       name = "_at_netlify_slash_plugins-list";
       packageName = "@netlify/plugins-list";
-      version = "2.21.0";
+      version = "3.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-2.21.0.tgz";
-        sha512 = "uo1yeph8fJdldX+7qPIcflw7bEIXdU5repRVcxTfTgGgRrMJ75JDTVoXwujKYNlGNZN9hKj94uDSZ0B5FQq8Tw==";
+        url = "https://registry.npmjs.org/@netlify/plugins-list/-/plugins-list-3.2.1.tgz";
+        sha512 = "bmJGfMfXs3byjVUUOoNU78TMiIGx3yD0yl/2B5IKyXpkQw4a4UNgvIx53zmBCDwIub2HC2tTCFUZz9ESpfc3SQ==";
       };
     };
     "@netlify/routing-local-proxy-0.31.0" = {
@@ -4153,13 +4288,13 @@ let
         sha512 = "bfkyaK73zCm5rAaP6ORvuvk7gIN+yeq1SMeshDzga+xNzu1T9yXt4hoiodJXAhhfgHId5m69hnSoFwaCrnOuIA==";
       };
     };
-    "@netlify/zip-it-and-ship-it-4.15.1" = {
+    "@netlify/zip-it-and-ship-it-4.16.0" = {
       name = "_at_netlify_slash_zip-it-and-ship-it";
       packageName = "@netlify/zip-it-and-ship-it";
-      version = "4.15.1";
+      version = "4.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.15.1.tgz";
-        sha512 = "YgPzJEGY60zZxSSbaDe3mMO+jYB7pbsWyAVvv4tASod8Sys2x/MuOGJ64KmOTZ+bUqZYvJLOcfVL6fiFRSU9wg==";
+        url = "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-4.16.0.tgz";
+        sha512 = "DkQemRkLTpAMvwwENRCQ9h5qJDaLrjEa+PpfEh0I64om4hTXVHcTd5+YMHW0wPr4OWABA7JAWlsFOVsZADFxfQ==";
       };
     };
     "@node-red/editor-api-2.0.5" = {
@@ -4513,13 +4648,13 @@ let
         sha512 = "SWTdXsVheRmlotWNjKzPOb6Js6tjSqA2a8z9+glDJng0Aqjzti8MEWOtuT8ZSu6wHnci7LZNuarE87+WJBG4vg==";
       };
     };
-    "@octokit/openapi-types-9.2.0" = {
+    "@octokit/openapi-types-9.4.0" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "9.2.0";
+      version = "9.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.2.0.tgz";
-        sha512 = "c4A1Xm0At+ypvBfEETREu519wLncJYQXvY+dBGg/V5YA51eg5EwdDsPPfcOMG0cuXscqRvsIgIySTmTJUdcTNA==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-9.4.0.tgz";
+        sha512 = "rKRkXikOJgDNImPl49IJuECLVXjj+t4qOXHhl8SBjMQCGGp1w4m5Ud/0kfdUx+zCpTvBN8vaOUDF4nnboZoOtQ==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -4531,13 +4666,13 @@ let
         sha512 = "93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==";
       };
     };
-    "@octokit/plugin-paginate-rest-2.14.0" = {
+    "@octokit/plugin-paginate-rest-2.15.0" = {
       name = "_at_octokit_slash_plugin-paginate-rest";
       packageName = "@octokit/plugin-paginate-rest";
-      version = "2.14.0";
+      version = "2.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.14.0.tgz";
-        sha512 = "S2uEu2uHeI7Vf+Lvj8tv3O5/5TCAa8GHS0dUQN7gdM7vKA6ZHAbR6HkAVm5yMb1mbedLEbxOuQ+Fa0SQ7tCDLA==";
+        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.15.0.tgz";
+        sha512 = "/vjcb0w6ggVRtsb8OJBcRR9oEm+fpdo8RJk45khaWw/W0c8rlB2TLCLyZt/knmC17NkX7T9XdyQeEY7OHLSV1g==";
       };
     };
     "@octokit/plugin-request-log-1.0.4" = {
@@ -4549,13 +4684,13 @@ let
         sha512 = "mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==";
       };
     };
-    "@octokit/plugin-rest-endpoint-methods-5.5.2" = {
+    "@octokit/plugin-rest-endpoint-methods-5.7.0" = {
       name = "_at_octokit_slash_plugin-rest-endpoint-methods";
       packageName = "@octokit/plugin-rest-endpoint-methods";
-      version = "5.5.2";
+      version = "5.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.5.2.tgz";
-        sha512 = "1ArooY7AYQdUd2zyqWLFHQ6gver9PvZSiuM+EPAsDplv1Y6u8zHl6yZ7yGIgaf7xvWupwUkJS2WttGYyb1P0DQ==";
+        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.7.0.tgz";
+        sha512 = "G7sgccWRYQMwcHJXkDY/sDxbXeKiZkFQqUtzBCwmrzCNj2GQf3VygQ4T/BFL2crLVpIbenkE/c0ErhYOte2MPw==";
       };
     };
     "@octokit/request-5.6.0" = {
@@ -4576,22 +4711,22 @@ let
         sha512 = "1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==";
       };
     };
-    "@octokit/rest-18.7.2" = {
+    "@octokit/rest-18.9.0" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "18.7.2";
+      version = "18.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.7.2.tgz";
-        sha512 = "TAedgLqNRS+rdGqS9v00sqBeS6IgyLSoqqCDu6pmoadAB7xSjFHShxzaXUAbxxJjyHtb7mencRGzgH4W/V6Myg==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-18.9.0.tgz";
+        sha512 = "VrmrE8gjpuOoDAGjrQq2j9ZhOE6LxaqxaQg0yMrrEnnQZy2ZcAnr5qbVfKsMF0up/48PRV/VFS/2GSMhA7nTdA==";
       };
     };
-    "@octokit/types-6.22.0" = {
+    "@octokit/types-6.24.0" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "6.22.0";
+      version = "6.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-6.22.0.tgz";
-        sha512 = "Y8GR0BJHQDpO09qw/ZQpN+DXrFzCWaE0pvK4frDm3zJ+h99AktsFfBoDazbCtHxiL8d0jD8xRH4BeynlKLeChg==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-6.24.0.tgz";
+        sha512 = "MfEimJeQ8AV1T2nI5kOfHqsqPHaAnG0Dw3MVoHSEsEq6iLKx2N91o+k2uAgXhPYeSE76LVBqjgTShnFFgNwe0A==";
       };
     };
     "@open-policy-agent/opa-wasm-1.2.0" = {
@@ -5629,13 +5764,13 @@ let
         sha512 = "T3xfDqrEFKclHGdJx4/5+D5F7e76/99f33guE4RTlVITBhy7VVnjz4t/NDr3UYqcC0MgAmiC4bSVYHnlshuwJw==";
       };
     };
-    "@snyk/cloud-config-parser-1.9.3" = {
+    "@snyk/cloud-config-parser-1.10.1" = {
       name = "_at_snyk_slash_cloud-config-parser";
       packageName = "@snyk/cloud-config-parser";
-      version = "1.9.3";
+      version = "1.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/cloud-config-parser/-/cloud-config-parser-1.9.3.tgz";
-        sha512 = "qv9NsIESPtyC2vKkqA7wEFePNuklksnQWJTWX8Cy3CQoCpZk80XwH50OVpDIU2szgnkWUm1XNSahG/IwVMSbOw==";
+        url = "https://registry.npmjs.org/@snyk/cloud-config-parser/-/cloud-config-parser-1.10.1.tgz";
+        sha512 = "boqO3H4zkGo+Q2C7qyG2l/sQX80ZRSOlPCiRtgN9Xa7u9fM+qFGOaFOgNWfZZtU0wLBy2yDs5ipzdfqvp0ZEjg==";
       };
     };
     "@snyk/cocoapods-lockfile-parser-3.6.2" = {
@@ -5647,13 +5782,13 @@ let
         sha512 = "ca2JKOnSRzYHJkhOB9gYmdRZHmd02b/uBd/S0D5W+L9nIMS7sUBV5jfhKwVgrYPIpVNIc0XCI9rxK4TfkQRpiA==";
       };
     };
-    "@snyk/code-client-3.9.0" = {
+    "@snyk/code-client-4.0.0" = {
       name = "_at_snyk_slash_code-client";
       packageName = "@snyk/code-client";
-      version = "3.9.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@snyk/code-client/-/code-client-3.9.0.tgz";
-        sha512 = "sscrpiODOlQI87B4OFIClnoZmHEHzJ7vULYhikS/R/2KavG4vGPw7Qe2to5rximxR3VFdWQ0wNVFB0RkU2mjPQ==";
+        url = "https://registry.npmjs.org/@snyk/code-client/-/code-client-4.0.0.tgz";
+        sha512 = "x6ZsL6jBz6rDSg1cFVnaqg4fVvQEerRaATem7aeq7l+HiPb8VnorJbq/61MlTgO7gWnA1WijzmzfJK5kAUpO1A==";
       };
     };
     "@snyk/composer-lockfile-parser-1.4.1" = {
@@ -6043,6 +6178,15 @@ let
         sha512 = "xAJ4U/fOL7FoX4bYeYRCsSIeTxFqzKd944AsVxAYrz2ZfKH0TtBSNDDtN22uBEXOrSCCR12Z7QuMcp+URyYWlw==";
       };
     };
+    "@textlint/markdown-to-ast-6.1.7" = {
+      name = "_at_textlint_slash_markdown-to-ast";
+      packageName = "@textlint/markdown-to-ast";
+      version = "6.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-6.1.7.tgz";
+        sha512 = "B0QtokeQR4a9+4q0NQr8T9l7A1fFihTN5Ze57tVgqW+3ymzXEouh8DvPHeNQ4T6jEkAThvdjk95mxAMpGRJ79w==";
+      };
+    };
     "@textlint/module-interop-12.0.2" = {
       name = "_at_textlint_slash_module-interop";
       packageName = "@textlint/module-interop";
@@ -6466,13 +6610,13 @@ let
         sha512 = "DIOOg+POSrYl+OlNRHQuIEqCd8DCtynG57H862UCce16nXJX7J8eWxNGgOcf8Eyge8zXeSs27mz1UcFu8L/L7g==";
       };
     };
-    "@types/engine.io-3.1.6" = {
+    "@types/engine.io-3.1.7" = {
       name = "_at_types_slash_engine.io";
       packageName = "@types/engine.io";
-      version = "3.1.6";
+      version = "3.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/engine.io/-/engine.io-3.1.6.tgz";
-        sha512 = "uFIEJESFKNNiuKt93ri5PnvRntAHCm/Aw9tTO2L25xXJSLzC/ARGmpDSJkuTCit7sUW5xUxr91Ta+UOiYaO3+A==";
+        url = "https://registry.npmjs.org/@types/engine.io/-/engine.io-3.1.7.tgz";
+        sha512 = "qNjVXcrp+1sS8YpRUa714r0pgzOwESdW5UjHL7D/2ZFdBX0BXUXtg1LUrp+ylvqbvMcMWUy73YpRoxPN2VoKAQ==";
       };
     };
     "@types/eslint-7.28.0" = {
@@ -6799,13 +6943,13 @@ let
         sha512 = "MhCUjojzDhVLnZnxwPwa+rETFRDQ0ffjxYdrqOP6TBO2O0/Z64PV5tNeYApo4bc4y4frbWOrRwv/eEkXlI13Rw==";
       };
     };
-    "@types/json-schema-7.0.8" = {
+    "@types/json-schema-7.0.9" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
-      version = "7.0.8";
+      version = "7.0.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz";
-        sha512 = "YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==";
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz";
+        sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
       };
     };
     "@types/keygrip-1.0.2" = {
@@ -6853,13 +6997,13 @@ let
         sha512 = "EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA==";
       };
     };
-    "@types/lodash-4.14.171" = {
+    "@types/lodash-4.14.172" = {
       name = "_at_types_slash_lodash";
       packageName = "@types/lodash";
-      version = "4.14.171";
+      version = "4.14.172";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.171.tgz";
-        sha512 = "7eQ2xYLLI/LsicL2nejW9Wyko3lcpN6O/z0ZLHrEQsg280zIdCv1t/0m6UtBjUHokCGBQ3gYTbHzDkZ1xOBwwg==";
+        url = "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.172.tgz";
+        sha512 = "/BHF5HAx3em7/KkzVKm3LrsD6HZAXuXO1AJZQ3cRRBZj4oHZDviWPYu0aEplAqDFNHZPW6d3G7KN+ONcCCC7pw==";
       };
     };
     "@types/lodash.chunk-4.2.6" = {
@@ -6880,6 +7024,15 @@ let
         sha512 = "KXPpOSNX2h0DAG2w7ajpk7TXvWF28ZHs5nJhOJyP0BQHkehgr948RVsToItMme6oi0XJkp19CbuNXkIX8FiBlQ==";
       };
     };
+    "@types/lodash.pick-4.4.6" = {
+      name = "_at_types_slash_lodash.pick";
+      packageName = "@types/lodash.pick";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/lodash.pick/-/lodash.pick-4.4.6.tgz";
+        sha512 = "u8bzA16qQ+8dY280z3aK7PoWb3fzX5ATJ0rJB6F+uqchOX2VYF02Aqa+8aYiHiHgPzQiITqCgeimlyKFy4OA6g==";
+      };
+    };
     "@types/lodash.union-4.6.6" = {
       name = "_at_types_slash_lodash.union";
       packageName = "@types/lodash.union";
@@ -7051,13 +7204,13 @@ let
         sha512 = "oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==";
       };
     };
-    "@types/node-14.17.7" = {
+    "@types/node-14.17.9" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.17.7";
+      version = "14.17.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.17.7.tgz";
-        sha512 = "SYTdMaW47se8499q8m0fYKZZRlmq0RaRv6oYmlVm6DUm31l0fhOl1D03X8hGxohCKTI2Bg6w7W0TiYB51aJzag==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.17.9.tgz";
+        sha512 = "CMjgRNsks27IDwI785YMY0KLt3co/c0cQ5foxHYv/shC2w8oOnVwz5Ubq1QG5KzrcW+AXk6gzdnxIkDnTvzu3g==";
       };
     };
     "@types/node-15.12.5" = {
@@ -7069,13 +7222,13 @@ let
         sha512 = "se3yX7UHv5Bscf8f1ERKvQOD6sTyycH3hdaoozvaLxgUiY5lIGEeH37AD0G0Qi9kPqihPn0HOfd2yaIEN9VwEg==";
       };
     };
-    "@types/node-15.14.5" = {
+    "@types/node-15.14.7" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "15.14.5";
+      version = "15.14.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-15.14.5.tgz";
-        sha512 = "6ewfMNmkumZieB/EeJ4cdP1bbJyOlOt5MTwbKMr7WKxyCt2j09H8YWRK6zOd/Jh35Vu/gls39ZUmeu4vHu1WKQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-15.14.7.tgz";
+        sha512 = "FA45p37/mLhpebgbPWWCKfOisTjxGK9lwcHlJ6XVLfu3NgfcazOJHdYUZCWPMK8QX4LhNZdmfo6iMz9FqpUbaw==";
       };
     };
     "@types/node-15.6.1" = {
@@ -7105,13 +7258,13 @@ let
         sha512 = "8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==";
       };
     };
-    "@types/node-16.4.10" = {
+    "@types/node-16.4.12" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.4.10";
+      version = "16.4.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.4.10.tgz";
-        sha512 = "TmVHsm43br64js9BqHWqiDZA+xMtbUpI1MBIA0EyiBmoV9pcEYFOSdj5fr6enZNfh4fChh+AGOLIzGwJnkshyQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.4.12.tgz";
+        sha512 = "zxrTNFl9Z8boMJXs6ieqZP0wAhvkdzmHSxTlJabM16cf5G9xBc1uPRH5Bbv2omEDDiM8MzTfqTJXBf0Ba4xFWA==";
       };
     };
     "@types/node-6.14.13" = {
@@ -7645,13 +7798,13 @@ let
         sha512 = "fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==";
       };
     };
-    "@typescript-eslint/eslint-plugin-4.28.5" = {
+    "@typescript-eslint/eslint-plugin-4.29.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "4.28.5";
+      version = "4.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.5.tgz";
-        sha512 = "m31cPEnbuCqXtEZQJOXAHsHvtoDi9OVaeL5wZnO2KZTnkvELk+u6J6jHg+NzvWQxk+87Zjbc4lJS4NHmgImz6Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.0.tgz";
+        sha512 = "eiREtqWRZ8aVJcNru7cT/AMVnYd9a2UHsfZT8MR1dW3UUEg6jDv9EQ9Cq4CUPZesyQ58YUpoAADGv71jY8RwgA==";
       };
     };
     "@typescript-eslint/experimental-utils-3.10.1" = {
@@ -7663,13 +7816,13 @@ let
         sha512 = "DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==";
       };
     };
-    "@typescript-eslint/experimental-utils-4.28.5" = {
+    "@typescript-eslint/experimental-utils-4.29.0" = {
       name = "_at_typescript-eslint_slash_experimental-utils";
       packageName = "@typescript-eslint/experimental-utils";
-      version = "4.28.5";
+      version = "4.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.5.tgz";
-        sha512 = "bGPLCOJAa+j49hsynTaAtQIWg6uZd8VLiPcyDe4QPULsvQwLHGLSGKKcBN8/lBxIX14F74UEMK2zNDI8r0okwA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.0.tgz";
+        sha512 = "FpNVKykfeaIxlArLUP/yQfv/5/3rhl1ov6RWgud4OgbqWLkEq7lqgQU9iiavZRzpzCRQV4XddyFz3wFXdkiX9w==";
       };
     };
     "@typescript-eslint/parser-3.10.1" = {
@@ -7681,22 +7834,22 @@ let
         sha512 = "Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==";
       };
     };
-    "@typescript-eslint/parser-4.28.5" = {
+    "@typescript-eslint/parser-4.29.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "4.28.5";
+      version = "4.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.5.tgz";
-        sha512 = "NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.0.tgz";
+        sha512 = "+92YRNHFdXgq+GhWQPT2bmjX09X7EH36JfgN2/4wmhtwV/HPxozpCNst8jrWcngLtEVd/4zAwA6BKojAlf+YqA==";
       };
     };
-    "@typescript-eslint/scope-manager-4.28.5" = {
+    "@typescript-eslint/scope-manager-4.29.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "4.28.5";
+      version = "4.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz";
-        sha512 = "PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.0.tgz";
+        sha512 = "HPq7XAaDMM3DpmuijxLV9Io8/6pQnliiXMQUcAdjpJJSR+fdmbD/zHCd7hMkjJn04UQtCQBtshgxClzg6NIS2w==";
       };
     };
     "@typescript-eslint/types-3.10.1" = {
@@ -7708,13 +7861,13 @@ let
         sha512 = "+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==";
       };
     };
-    "@typescript-eslint/types-4.28.5" = {
+    "@typescript-eslint/types-4.29.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "4.28.5";
+      version = "4.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz";
-        sha512 = "MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.0.tgz";
+        sha512 = "2YJM6XfWfi8pgU2HRhTp7WgRw78TCRO3dOmSpAvIQ8MOv4B46JD2chnhpNT7Jq8j0APlIbzO1Bach734xxUl4A==";
       };
     };
     "@typescript-eslint/typescript-estree-3.10.1" = {
@@ -7726,13 +7879,13 @@ let
         sha512 = "QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==";
       };
     };
-    "@typescript-eslint/typescript-estree-4.28.5" = {
+    "@typescript-eslint/typescript-estree-4.29.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "4.28.5";
+      version = "4.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz";
-        sha512 = "FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.0.tgz";
+        sha512 = "8ZpNHDIOyqzzgZrQW9+xQ4k5hM62Xy2R4RPO3DQxMc5Rq5QkCdSpk/drka+DL9w6sXNzV5nrdlBmf8+x495QXQ==";
       };
     };
     "@typescript-eslint/visitor-keys-3.10.1" = {
@@ -7744,13 +7897,13 @@ let
         sha512 = "9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==";
       };
     };
-    "@typescript-eslint/visitor-keys-4.28.5" = {
+    "@typescript-eslint/visitor-keys-4.29.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "4.28.5";
+      version = "4.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz";
-        sha512 = "dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.0.tgz";
+        sha512 = "LoaofO1C/jAJYs0uEpYMXfHboGXzOJeV118X4OsZu9f7rG7Pr9B3+4HTU8+err81rADa4xfQmAxnRnPAI2jp+Q==";
       };
     };
     "@uifabric/foundation-7.9.26" = {
@@ -8851,6 +9004,15 @@ let
         sha512 = "ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==";
       };
     };
+    "acorn-import-assertions-1.7.6" = {
+      name = "acorn-import-assertions";
+      packageName = "acorn-import-assertions";
+      version = "1.7.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz";
+        sha512 = "FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==";
+      };
+    };
     "acorn-jsx-3.0.1" = {
       name = "acorn-jsx";
       packageName = "acorn-jsx";
@@ -9328,6 +9490,15 @@ let
         sha512 = "XgQq6ejZHCehUSnZS4V7QJPLIP7S9OAWwQDYl4WTLtsRvc5fCxIwzK/yihzmIW51v9PnyBmrl9dMcqvwfOE8WA==";
       };
     };
+    "anchor-markdown-header-0.5.7" = {
+      name = "anchor-markdown-header";
+      packageName = "anchor-markdown-header";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anchor-markdown-header/-/anchor-markdown-header-0.5.7.tgz";
+        sha1 = "045063d76e6a1f9cd327a57a0126aa0fdec371a7";
+      };
+    };
     "ansi-0.3.1" = {
       name = "ansi";
       packageName = "ansi";
@@ -9841,13 +10012,13 @@ let
         sha512 = "lrohEjde2TmmDTO7FlOs8x5QQbAS0Sd3/t0TaK2TWaodfzi92QAvIsq321Mol6p6oEqmjm8POIDHW1EuJd7XMA==";
       };
     };
-    "apollo-server-core-3.1.1" = {
+    "apollo-server-core-3.1.2" = {
       name = "apollo-server-core";
       packageName = "apollo-server-core";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.1.1.tgz";
-        sha512 = "MLN6AD8pumdf3c4qYDqXeLkgtJONfvtx0okhvhrbN1DC1YX9W2d1mcTGQa88jTBtgDAXZQS1N5DncS9ctUekDw==";
+        url = "https://registry.npmjs.org/apollo-server-core/-/apollo-server-core-3.1.2.tgz";
+        sha512 = "bFmzPDGBT97vMzdhhjlycL9Ey4YDa0eCVaHjI5TcYQM8Vphzvndd033DvvQFVRPWoZr8uwupeUyVa82Ne/iM6A==";
       };
     };
     "apollo-server-env-3.1.0" = {
@@ -9895,13 +10066,13 @@ let
         sha512 = "A2gF2e85vvDugPlajbhr0A14cDFDIGX0mteNOJ8P3Z3cIM0D4hwrWxJidI+SzobefDIyIHu1dynFedJVhV0euQ==";
       };
     };
-    "apollo-server-express-3.1.1" = {
+    "apollo-server-express-3.1.2" = {
       name = "apollo-server-express";
       packageName = "apollo-server-express";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.1.1.tgz";
-        sha512 = "W6VDth39mv1SCaJjnTwc0OmXIWzpELAJ3+/Id4cw+99HXdeRMJXDN5lbMENYEu+1a+pUK8iOoctwlJbikwBPGA==";
+        url = "https://registry.npmjs.org/apollo-server-express/-/apollo-server-express-3.1.2.tgz";
+        sha512 = "GeeQlFjFqugiGfLApBNmgLtyDXGVqacLdGhBccn7GQaxzpJ9YSsREUsoN+Fze6RVQ4/Igaq3QoNgBhrahXwBBQ==";
       };
     };
     "apollo-server-plugin-base-0.13.0" = {
@@ -11272,13 +11443,13 @@ let
         sha512 = "tbMZ/Y2rRo6R6TTBODJXTiil+MXaoT6Qzotws3yvI1IWGpYxKo7N/3L06XB8ul8tCG0TigxIOY70SMICM70Ppg==";
       };
     };
-    "aws-sdk-2.958.0" = {
+    "aws-sdk-2.961.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.958.0";
+      version = "2.961.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.958.0.tgz";
-        sha512 = "D5/2mW+hl5+CYvAniB209VUN3lFo7ZypCdO0RxyKG49DjoB+h3wvNxJo/BKL3A0sSiMOlrT61vDWsmkeE34S/g==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.961.0.tgz";
+        sha512 = "71ELXHWd0roRT0FW8CnqGLYGKLksHARa7Yn8LPN3mF70FJt2LuvVAyK49IChoUczTjlzS78p+Y5197Tkky4N8g==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -13684,13 +13855,13 @@ let
         sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
       };
     };
-    "browserslist-4.16.6" = {
+    "browserslist-4.16.7" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.16.6";
+      version = "4.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz";
-        sha512 = "Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz";
+        sha512 = "7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==";
       };
     };
     "brq-0.1.8" = {
@@ -17392,13 +17563,13 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-3.3.111" = {
+    "constructs-3.3.113" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.111";
+      version = "3.3.113";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.111.tgz";
-        sha512 = "RcpVo5LPMcjzZuDSmHUNnQruXkFqmKqdgPQKrP372Cd+PcdxKrQQEwvgXhswrgLX4IFT07fS5RHyQhJhAq/C2w==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.113.tgz";
+        sha512 = "dy8Nhvihh+rmCr9+Z6omfaaknVwFUIUOkC5zKLc/CyNoVXNc8yvQC6395fQ/t25u42cFGTXedxBkTUx1dwf4uQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -18167,13 +18338,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-gatsby-1.10.0" = {
+    "create-gatsby-1.11.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "1.10.0";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-1.10.0.tgz";
-        sha512 = "EiN8bJepWMN4itheoQ9ul1jNrSWoWy5Cw+kAfF1sN0J7ZWtuYCFfRZX97VRTt6C7bvlHkTw7gew2pUbFS8La+Q==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-1.11.0.tgz";
+        sha512 = "3FM3YJI5OExHIUUiJSASBibwzo7oBKtQYxHB0YeLC/7U7rkSJWjSbJ+cJllC+NeCGoDIzZ21QTkhczzzz7j1FQ==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -20867,13 +21038,13 @@ let
         sha512 = "VvlVYY+VDJe639yHs5PHISzdWTLL3Aw8rO4cvUtwvoxFd6FHbE4OpHHcde52M6096uYYazAmd4l0o5VuFRO2WA==";
       };
     };
-    "devtools-protocol-0.0.883894" = {
+    "devtools-protocol-0.0.901419" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.883894";
+      version = "0.0.901419";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.883894.tgz";
-        sha512 = "33idhm54QJzf3Q7QofMgCvIVSd2o9H3kQPWaKT/fhoZh+digc+WSiMhbkeG3iN79WY4Hwr9G05NpbhEVrsOYAg==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.901419.tgz";
+        sha512 = "4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==";
       };
     };
     "dezalgo-1.0.3" = {
@@ -20930,6 +21101,15 @@ let
         sha512 = "MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==";
       };
     };
+    "dictionary-en-gb-2.3.0" = {
+      name = "dictionary-en-gb";
+      packageName = "dictionary-en-gb";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dictionary-en-gb/-/dictionary-en-gb-2.3.0.tgz";
+        sha512 = "P/J2VQp/hDsMTfJhmIYPUBxZqezWuDaUzSgb6oW7JLpUV2So9jCXbR5TaUYXwfO50ZXPYEzQqQHPQK3pKcs7Rg==";
+      };
+    };
     "diff-1.4.0" = {
       name = "diff";
       packageName = "diff";
@@ -21344,6 +21524,15 @@ let
         sha512 = "WfJEuXWdVdiarhxJgRlZ9bkMO/9un6dZDz+u3z6AYEXfsH2XRwYqdIvyOqFzaDDP0Hc6pR5rb9FJRSKyo+NuxA==";
       };
     };
+    "doctoc-2.0.1" = {
+      name = "doctoc";
+      packageName = "doctoc";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctoc/-/doctoc-2.0.1.tgz";
+        sha512 = "JsxnSVZtLCThKehjFPBDhP1+ZLmdfXQynZH/0ABAwrnd1Zf3AV6LigC9oWJyaZ+c6RXCDnlGUNJ7I+1v8VaaRg==";
+      };
+    };
     "doctrine-2.1.0" = {
       name = "doctrine";
       packageName = "doctrine";
@@ -22091,13 +22280,13 @@ let
         sha512 = "1sQ1DRtQGpglFhc3urD4olMJzt/wxlbnAAsf+WY2xHf5c50ZovivZvCXSpVgTOP9f4TzOMvelWyspyfhxQKHzQ==";
       };
     };
-    "electron-to-chromium-1.3.792" = {
+    "electron-to-chromium-1.3.795" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.3.792";
+      version = "1.3.795";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.792.tgz";
-        sha512 = "RM2O2xrNarM7Cs+XF/OE2qX/aBROyOZqqgP+8FXMXSuWuUqCfUUzg7NytQrzZU3aSqk1Qq6zqnVkJsbfMkIatg==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.795.tgz";
+        sha512 = "4TPxrLf9Fzsi4rVgTlDm+ubxoXm3/TN67/LGHx/a4UkVubKILa6L26O6eTnHewixG/knzU9L3lLmfL39eElwlQ==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -22219,6 +22408,15 @@ let
         sha1 = "c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e";
       };
     };
+    "emoji-regex-6.1.3" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "6.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.3.tgz";
+        sha1 = "ec79a3969b02d2ecf2b72254279bf99bc7a83932";
+      };
+    };
     "emoji-regex-6.5.1" = {
       name = "emoji-regex";
       packageName = "emoji-regex";
@@ -23164,13 +23362,13 @@ let
         sha512 = "Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==";
       };
     };
-    "eslint-plugin-vue-7.15.0" = {
+    "eslint-plugin-vue-7.15.1" = {
       name = "eslint-plugin-vue";
       packageName = "eslint-plugin-vue";
-      version = "7.15.0";
+      version = "7.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.15.0.tgz";
-        sha512 = "br58VTAT8JB4Qe7XJVN7fNBqQgclE+hcsievoyQyGtCZsYprFMQYu+c9yHX9XkP55cMnSVZpW5fRgy3n/wZskA==";
+        url = "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.15.1.tgz";
+        sha512 = "4/r+n/i+ovyeW2gVRRH92kpy4lkpFbyPR4BMxGBTLtGnwqOKKzjSo6EMSaT0RhWPvEjK9uifcY8e7z5n8BIEgw==";
       };
     };
     "eslint-scope-3.7.3" = {
@@ -25009,13 +25207,13 @@ let
         sha512 = "sXAMgFk67fQLcetXustxfKX+PZgHIUFn96Xld9uH8aXPdX3xOp0/jg9OdouVTvQrf7mrn+wAa4jN/y9fUOOiRA==";
       };
     };
-    "file-type-16.5.2" = {
+    "file-type-16.5.3" = {
       name = "file-type";
       packageName = "file-type";
-      version = "16.5.2";
+      version = "16.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/file-type/-/file-type-16.5.2.tgz";
-        sha512 = "lnHRZj2USLF3v4C5ZY7/vQQeoTVA1YV9TtD6UUCr9z5Cd0uyutqxPBJxkXzM6lufPNuSfefq/yFmnSPz0C3wNw==";
+        url = "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz";
+        sha512 = "uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==";
       };
     };
     "file-type-3.9.0" = {
@@ -26602,31 +26800,31 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-2.10.0" = {
+    "gatsby-core-utils-2.11.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "2.10.0";
+      version = "2.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-2.10.0.tgz";
-        sha512 = "xvVebKSrjHkZQQkeEjuAekCAg17KT2l44d/yn7w2dzBGay244m8hoY8LRtLRdsrSp30ix89QklefuP9frEfhbA==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-2.11.0.tgz";
+        sha512 = "t5PL1/MvTPSG6IeJn+Yd3Fxp0L3HfLI1vvVsmxXvxEiwDp5MJjjtZbrSnWpST1oylMSKI/UECUEKQUax9UJW+A==";
       };
     };
-    "gatsby-recipes-0.21.0" = {
+    "gatsby-recipes-0.22.0" = {
       name = "gatsby-recipes";
       packageName = "gatsby-recipes";
-      version = "0.21.0";
+      version = "0.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.21.0.tgz";
-        sha512 = "oo9ci5G6TiXc5wVnRrTfJhX92ZsjICVa0ldX7aQ/8JR77HelfO3MFfQuIkswla+o0MGcbyxgVoLX45kgzY7aaA==";
+        url = "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.22.0.tgz";
+        sha512 = "FQrM59qd64Pwe6UVJmuTAwyZx4IVkj0huwZ1y37IWn49Xuq0Ihhmsrb1BgP99euXZz34c+PWhsFnWvW26skgtw==";
       };
     };
-    "gatsby-telemetry-2.10.0" = {
+    "gatsby-telemetry-2.11.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "2.10.0";
+      version = "2.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-2.10.0.tgz";
-        sha512 = "uon+KRo6NQqkc6Qk/QTw+RmaxIjFFIK7cSU8XXE3y353il2Tk04Kxct2hMHn8Zdl4TYyKla1T5UIvVV/EfpBcg==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-2.11.0.tgz";
+        sha512 = "6GEcZpsY5N/+K+SGGdDHuOknjer6vsYLJsUuUWkz32t8OK9lE1cLvXIdO2eTHdS4rtWFM324a/yFMlizp59SbA==";
       };
     };
     "gauge-1.2.7" = {
@@ -27764,13 +27962,13 @@ let
         sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
       };
     };
-    "google-gax-2.20.0" = {
+    "google-gax-2.21.1" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.20.0";
+      version = "2.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.20.0.tgz";
-        sha512 = "V5aaN8cvnE77atybA7CaQTa0tGV6ZqncRGvpObEGpadSps2NIzTPXCtngxgPz7cGz1KhABl1VmSLUlRXGgjX+g==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.21.1.tgz";
+        sha512 = "hyfau8+yXt75UuYVP3E3n0pKUwsEyiVQXfozfqQn/ZOL36UoZtS/cIzqIm6SYaSLlK5MWWz3JT/o/1ol09gEbA==";
       };
     };
     "google-p12-pem-3.1.1" = {
@@ -29898,13 +30096,13 @@ let
         sha512 = "OcN2zq9DEoArC84q9VCSrf9Hx1QUkR6ineCOwyOwhE4v/8aUTOx87mAk1nyjMOf76DQmF+tl2vnS2FssLx5N+Q==";
       };
     };
-    "hyperdrive-10.20.0" = {
+    "hyperdrive-10.21.0" = {
       name = "hyperdrive";
       packageName = "hyperdrive";
-      version = "10.20.0";
+      version = "10.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-10.20.0.tgz";
-        sha512 = "ejikKQc9L8qUzmmkGe2dk/FGzisY0RTtE1Jw4WfWWXGTun9t/yZ/sV4JfamNBJRd3C0BWV6ZQYeI+1xQDuK3WQ==";
+        url = "https://registry.npmjs.org/hyperdrive/-/hyperdrive-10.21.0.tgz";
+        sha512 = "kvq7aGODR8mcV+c1vTGrqVLhdJKl604/aNYXiOEg6pH6qb3t9AGTm/DKvQrbR+DA5Qq8X9TbQZWeZw4wgJRlXw==";
       };
     };
     "hyperdrive-9.16.0" = {
@@ -31212,6 +31410,15 @@ let
         sha1 = "2ca9b033651111855412f16be5d77c62a458a766";
       };
     };
+    "irregular-plurals-2.0.0" = {
+      name = "irregular-plurals";
+      packageName = "irregular-plurals";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz";
+        sha512 = "Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==";
+      };
+    };
     "is-3.3.0" = {
       name = "is";
       packageName = "is";
@@ -33165,13 +33372,13 @@ let
         sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
       };
     };
-    "jquery.terminal-2.27.1" = {
+    "jquery.terminal-2.28.1" = {
       name = "jquery.terminal";
       packageName = "jquery.terminal";
-      version = "2.27.1";
+      version = "2.28.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.27.1.tgz";
-        sha512 = "EixPlbZdM0tgtjC/KosdSjhRS2QZqG7qKLZ202og4hBTNLgNgZ4Ke6DP1mhC6IKciMHD6IWNYQgSnzQRbIQjIQ==";
+        url = "https://registry.npmjs.org/jquery.terminal/-/jquery.terminal-2.28.1.tgz";
+        sha512 = "2y/MFSTMbEbvUsd8Fq0GLDaI/bsGv5QVs3h+vgQ2BqBQMmIDlnuNTDJbtOFiTLksghlWG0P9iXjovrjMLwcOhQ==";
       };
     };
     "js-base64-2.6.4" = {
@@ -33498,13 +33705,13 @@ let
         sha512 = "NrhHIJ0BNKxpjyvqtqhunIcHhJiA5dhlRSPPuO+EGsCQB+yc94aRj+hZZXYvWj+X1o61kdLVudJLn54sn7ESoQ==";
       };
     };
-    "jsii-srcmak-0.1.313" = {
+    "jsii-srcmak-0.1.315" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.313";
+      version = "0.1.315";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.313.tgz";
-        sha512 = "7050z22Kp6mg58MVBva0OuO6qPa5IK/6i3wDDY+heUQuOCqNeSPsKngYVffYmEFintXsnRIVHpJ6q8rFSHRnIg==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.315.tgz";
+        sha512 = "omRLKVIrhg4yfUPRNJqFM2DDeyHm+ikZ8I3A5zS0PNJHf7LXCpRxVPwoGTLzFDYcd/EnCQPFHPLsH5Jt8p/Egg==";
       };
     };
     "json-bigint-0.2.3" = {
@@ -33813,13 +34020,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.1.283" = {
+    "json2jsii-0.1.285" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.1.283";
+      version = "0.1.285";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.283.tgz";
-        sha512 = "Jzekj3NokX/pSBUxTn4WhIlvmU7lTEIS+WzIEyEl9WrC9MtUt1TCbG5+kkDTMOFB0jzAS+qlt/72J/aM+RciKA==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.1.285.tgz";
+        sha512 = "VzZUg/mZqPPdIPdOwJ58P8CupA4QgHvBAUSFdk4rKW2PVj3jITCQVr8M9STZ/xHuEGtSk5r1wOxBmqMnx5nC5w==";
       };
     };
     "json3-3.2.6" = {
@@ -36685,6 +36892,15 @@ let
         sha1 = "d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b";
       };
     };
+    "lodash.pick-4.4.0" = {
+      name = "lodash.pick";
+      packageName = "lodash.pick";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz";
+        sha1 = "52f05610fff9ded422611441ed1fc123a03001b3";
+      };
+    };
     "lodash.reduce-4.6.0" = {
       name = "lodash.reduce";
       packageName = "lodash.reduce";
@@ -37783,13 +37999,13 @@ let
         sha512 = "34RwOXZT8kyuOJy25oJNJoulO8L0bTHYWXcdZBYZqFnjIy3NgjeoM3FmPXIOFQ26/lSHYMr8oc62B6adxXcb3Q==";
       };
     };
-    "markdown-it-12.1.0" = {
+    "markdown-it-12.2.0" = {
       name = "markdown-it";
       packageName = "markdown-it";
-      version = "12.1.0";
+      version = "12.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.1.0.tgz";
-        sha512 = "7temG6IFOOxfU0SgzhqR+vr2diuMhyO5uUIEZ3C5NbXhqC9uFUHoU41USYuDFoZRsaY7BEIEei874Z20VMLF6A==";
+        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz";
+        sha512 = "Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==";
       };
     };
     "markdown-it-8.4.2" = {
@@ -38341,6 +38557,15 @@ let
         sha512 = "/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==";
       };
     };
+    "mdast-util-heading-style-1.0.6" = {
+      name = "mdast-util-heading-style";
+      packageName = "mdast-util-heading-style";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-util-heading-style/-/mdast-util-heading-style-1.0.6.tgz";
+        sha512 = "8ZuuegRqS0KESgjAGW8zTx4tJ3VNIiIaGFNEzFpRSAQBavVc7AvOo9I4g3crcZBfYisHs4seYh0rAVimO6HyOw==";
+      };
+    };
     "mdast-util-mdx-0.1.1" = {
       name = "mdast-util-mdx";
       packageName = "mdast-util-mdx";
@@ -38386,6 +38611,15 @@ let
         sha512 = "XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==";
       };
     };
+    "mdast-util-to-nlcst-3.2.3" = {
+      name = "mdast-util-to-nlcst";
+      packageName = "mdast-util-to-nlcst";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-util-to-nlcst/-/mdast-util-to-nlcst-3.2.3.tgz";
+        sha512 = "hPIsgEg7zCvdU6/qvjcR6lCmJeRuIEpZGY5xBV+pqzuMOvQajyyF8b6f24f8k3Rw8u40GwkI3aAxUXr3bB2xag==";
+      };
+    };
     "mdast-util-to-nlcst-4.0.1" = {
       name = "mdast-util-to-nlcst";
       packageName = "mdast-util-to-nlcst";
@@ -38395,6 +38629,15 @@ let
         sha512 = "Y4ffygj85MTt70STKnEquw6k73jYWJBaYcb4ITAKgSNokZF7fH8rEHZ1GsRY/JaxqUevMaEnsDmkVv5Z9uVRdg==";
       };
     };
+    "mdast-util-to-string-1.1.0" = {
+      name = "mdast-util-to-string";
+      packageName = "mdast-util-to-string";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz";
+        sha512 = "jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==";
+      };
+    };
     "mdast-util-to-string-2.0.0" = {
       name = "mdast-util-to-string";
       packageName = "mdast-util-to-string";
@@ -38836,13 +39079,13 @@ let
         sha512 = "TIurLf/ustQNMXi5foClGTcEsRvH6DCvxeAKu68OrwHMOSM/M1pgPXb7qe52Svk1ClvmZuAVpLtP5FWKzPr/sw==";
       };
     };
-    "mermaid-8.11.2" = {
+    "mermaid-8.11.3" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "8.11.2";
+      version = "8.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.11.2.tgz";
-        sha512 = "a5aj6hmDfdPGmhB8so4VtwYZjhwGV0OvyQcRTrI3IrlWk5ZxYtEcS1GsIDJVwCX4bJMZbXYh9zbL+lArptCoSg==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.11.3.tgz";
+        sha512 = "XhfSF+crAX+BhxyKUL28Pf0Of12bby+jK2VQ05xSLZ/pYE6kVfiTuO1mTA5chnqDdz9xpD9A77pTWHv27IbWsg==";
       };
     };
     "meros-1.1.4" = {
@@ -40600,6 +40843,15 @@ let
         sha512 = "M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==";
       };
     };
+    "nan-2.15.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz";
+        sha512 = "8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==";
+      };
+    };
     "nan-2.3.5" = {
       name = "nan";
       packageName = "nan";
@@ -42393,6 +42645,15 @@ let
         sha1 = "cb8f34c53213d895723fcbab907e9422adbcafb1";
       };
     };
+    "nspell-2.1.5" = {
+      name = "nspell";
+      packageName = "nspell";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nspell/-/nspell-2.1.5.tgz";
+        sha512 = "PSStyugKMiD9mHmqI/CR5xXrSIGejUXPlo88FBRq5Og1kO5QwQ5Ilu8D8O5I/SHpoS+mibpw6uKA8rd3vXd2Sg==";
+      };
+    };
     "nssocket-0.6.0" = {
       name = "nssocket";
       packageName = "nssocket";
@@ -44590,13 +44851,13 @@ let
         sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
       };
     };
-    "parse-headers-2.0.3" = {
+    "parse-headers-2.0.4" = {
       name = "parse-headers";
       packageName = "parse-headers";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz";
-        sha512 = "QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==";
+        url = "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz";
+        sha512 = "psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==";
       };
     };
     "parse-help-1.0.0" = {
@@ -45337,15 +45598,6 @@ let
         sha512 = "iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==";
       };
     };
-    "peek-readable-3.1.4" = {
-      name = "peek-readable";
-      packageName = "peek-readable";
-      version = "3.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-3.1.4.tgz";
-        sha512 = "DX7ec7frSMtCWw+zMd27f66hcxIz/w9LQTY2RflB4WNHCVPAye1pJiP2t3gvaaOhu7IOhtPbHw8MemMj+F5lrg==";
-      };
-    };
     "peek-readable-4.0.1" = {
       name = "peek-readable";
       packageName = "peek-readable";
@@ -45877,6 +46129,15 @@ let
         sha1 = "7482452c1a0f508e3e344eaec312c91c29dc655a";
       };
     };
+    "plur-3.1.1" = {
+      name = "plur";
+      packageName = "plur";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz";
+        sha512 = "t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==";
+      };
+    };
     "pluralize-1.2.1" = {
       name = "pluralize";
       packageName = "pluralize";
@@ -48677,13 +48938,13 @@ let
         sha512 = "l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==";
       };
     };
-    "puppeteer-10.1.0" = {
+    "puppeteer-10.2.0" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "10.1.0";
+      version = "10.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-10.1.0.tgz";
-        sha512 = "bsyDHbFBvbofZ63xqF7hMhuKBX1h4WsqFIAoh1GuHr/Y9cewh+EFNAOdqWSkQRHLiBU/MY6M+8PUnXXjAPtuSg==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-10.2.0.tgz";
+        sha512 = "OR2CCHRashF+f30+LBOtAjK6sNtz2HEyTr5FqAvhf8lR/qB3uBRoIZOwQKgwoyZnMBsxX7ZdazlyBgGjpnkiMw==";
       };
     };
     "puppeteer-9.1.1" = {
@@ -50234,13 +50495,13 @@ let
         sha512 = "pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==";
       };
     };
-    "redux-4.1.0" = {
+    "redux-4.1.1" = {
       name = "redux";
       packageName = "redux";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redux/-/redux-4.1.0.tgz";
-        sha512 = "uI2dQN43zqLWCt6B/BMGRMY6db7TTY4qeHHfGeKb3EOhmOKjU3KdWvNLJyqaHRksv/ErdNH7cFZWg9jXtewy4g==";
+        url = "https://registry.npmjs.org/redux/-/redux-4.1.1.tgz";
+        sha512 = "hZQZdDEM25UY2P493kPYuKqviVwZ58lEmGQNeQ+gXa+U0gYPUBf7NKYazbe3m+bs/DzM/ahN12DbF+NG8i0CWw==";
       };
     };
     "reflect-metadata-0.1.13" = {
@@ -50585,6 +50846,15 @@ let
         sha512 = "ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==";
       };
     };
+    "remark-frontmatter-1.3.3" = {
+      name = "remark-frontmatter";
+      packageName = "remark-frontmatter";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-1.3.3.tgz";
+        sha512 = "fM5eZPBvu2pVNoq3ZPW22q+5Ativ1oLozq2qYt9I2oNyxiUd/tDl0iLLntEVAegpZIslPWg1brhcP1VsaSVUag==";
+      };
+    };
     "remark-frontmatter-2.0.0" = {
       name = "remark-frontmatter";
       packageName = "remark-frontmatter";
@@ -50621,6 +50891,411 @@ let
         sha1 = "592a347bdd3d5881f4f080c98b5b152fb1407a92";
       };
     };
+    "remark-lint-6.0.6" = {
+      name = "remark-lint";
+      packageName = "remark-lint";
+      version = "6.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint/-/remark-lint-6.0.6.tgz";
+        sha512 = "JBY6zz5fYQFN724Vq6VeiHwhyjVIlrww/dE1+hWGcDyUuz7YNCqwZKwBdQGDvslICkzHw/wEExNEb8D4PNiLlA==";
+      };
+    };
+    "remark-lint-blockquote-indentation-1.0.4" = {
+      name = "remark-lint-blockquote-indentation";
+      packageName = "remark-lint-blockquote-indentation";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-blockquote-indentation/-/remark-lint-blockquote-indentation-1.0.4.tgz";
+        sha512 = "ExcDP7lufshEBNkVddSHa+Bz/97PtFstIniQ8ZF2TahHPmpx92z3mkI/nXL2Qt5d3B09eTVvh4Pvhgp6x2470g==";
+      };
+    };
+    "remark-lint-code-block-style-1.0.4" = {
+      name = "remark-lint-code-block-style";
+      packageName = "remark-lint-code-block-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-code-block-style/-/remark-lint-code-block-style-1.0.4.tgz";
+        sha512 = "Wq5F94nkaWTx8W/9C/ydG+DhVWLirBrWb0xnoMQ0cHnizAd3BWw8g0x5L7yglMYSUSVLWY0jfMHgOe9UW3JfTw==";
+      };
+    };
+    "remark-lint-definition-case-1.0.5" = {
+      name = "remark-lint-definition-case";
+      packageName = "remark-lint-definition-case";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-definition-case/-/remark-lint-definition-case-1.0.5.tgz";
+        sha512 = "iirq74fKhJZsFw7x4FJuLVRkXclntutG1YKajfLaE3Gm14YlJWBEoabNTk+ENR4QXoB9rTdEqn3Cc3ImO8qciQ==";
+      };
+    };
+    "remark-lint-definition-spacing-1.0.5" = {
+      name = "remark-lint-definition-spacing";
+      packageName = "remark-lint-definition-spacing";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-definition-spacing/-/remark-lint-definition-spacing-1.0.5.tgz";
+        sha512 = "ss8OQmK4c/1amEAJpDjkFiByLyXpsYFNzmk6rEZQkxZZd+DVHI0oF+CzSeMVHu48rF2qHOkKhVghqrCM0vleAA==";
+      };
+    };
+    "remark-lint-emphasis-marker-1.0.4" = {
+      name = "remark-lint-emphasis-marker";
+      packageName = "remark-lint-emphasis-marker";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-emphasis-marker/-/remark-lint-emphasis-marker-1.0.4.tgz";
+        sha512 = "TdYISSw7Ib6EJDApDj9zcZNDCJEaEoQIrYS3+QH2TQxoDx96B0t1bbErRM5L/hx1UWPBpeFLKpgIWL163eMmYA==";
+      };
+    };
+    "remark-lint-fenced-code-flag-1.0.4" = {
+      name = "remark-lint-fenced-code-flag";
+      packageName = "remark-lint-fenced-code-flag";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-fenced-code-flag/-/remark-lint-fenced-code-flag-1.0.4.tgz";
+        sha512 = "bkQvlEYco6ZzdzvGPrY7DBsqSq/2mZEmdhpn0KdMEZ9kcKJP4unQdVQys04SKnf9QISqQ446VnQj5Q4E3HMSkQ==";
+      };
+    };
+    "remark-lint-fenced-code-marker-1.0.4" = {
+      name = "remark-lint-fenced-code-marker";
+      packageName = "remark-lint-fenced-code-marker";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-fenced-code-marker/-/remark-lint-fenced-code-marker-1.0.4.tgz";
+        sha512 = "aJF4ISIEvK3NX+C2rN93QoS/32SSiytQKRSeGa+HwsAn3sTwqmy2IoAwbFeZIZA2vqKcVB4h1b9yKamSlfX30Q==";
+      };
+    };
+    "remark-lint-file-extension-1.0.5" = {
+      name = "remark-lint-file-extension";
+      packageName = "remark-lint-file-extension";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-file-extension/-/remark-lint-file-extension-1.0.5.tgz";
+        sha512 = "oVQdf5vEomwHkfQ7R/mgmsWW2H/t9kSvnrxtVoNOHr+qnOEafKKDn+AFhioN2kqtjCZBAjSSrePs6xGKmXKDTw==";
+      };
+    };
+    "remark-lint-final-definition-1.0.4" = {
+      name = "remark-lint-final-definition";
+      packageName = "remark-lint-final-definition";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-final-definition/-/remark-lint-final-definition-1.0.4.tgz";
+        sha512 = "y9aDZPhqWcI7AtrJtL69HE6MoWMqDqLQUyWMadzAYUYb9/m4ciLdygJ4cWVpEN3n4mkBepHIsWzASaKHHBDJOQ==";
+      };
+    };
+    "remark-lint-hard-break-spaces-1.0.5" = {
+      name = "remark-lint-hard-break-spaces";
+      packageName = "remark-lint-hard-break-spaces";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-hard-break-spaces/-/remark-lint-hard-break-spaces-1.0.5.tgz";
+        sha512 = "Rss7ujNtxipO/hasWYc0QdiO8D5VyliSwj3zAZ8GeDn0ix2KH+pY4/AJC7i9IGcVVbUGvvXLpJB3Pp1VeY7oKw==";
+      };
+    };
+    "remark-lint-heading-increment-1.0.4" = {
+      name = "remark-lint-heading-increment";
+      packageName = "remark-lint-heading-increment";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-heading-increment/-/remark-lint-heading-increment-1.0.4.tgz";
+        sha512 = "3PJj32G7W1OUyRVSZiZbSOxyFAsw/mNssIosS9G8+6Lq2yeTSMDoCJy0+LC+s00nORFcbzeMedMK5U/eLbDe4w==";
+      };
+    };
+    "remark-lint-heading-style-1.0.4" = {
+      name = "remark-lint-heading-style";
+      packageName = "remark-lint-heading-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-heading-style/-/remark-lint-heading-style-1.0.4.tgz";
+        sha512 = "ASssbw0vj9urTMxDJGpOn4K7d9MgPQPJGaCD+7v7je42krofvqC4CxpYvO/fOAkRZcttE91VfFHxkaPjiBtQLw==";
+      };
+    };
+    "remark-lint-link-title-style-1.0.5" = {
+      name = "remark-lint-link-title-style";
+      packageName = "remark-lint-link-title-style";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-link-title-style/-/remark-lint-link-title-style-1.0.5.tgz";
+        sha512 = "Nu0cKj220q/PmUzELhYRUR2uxXabWuFJq9sApkgsc59uh+NKDtCEdpxkx7Zwvn6kUEwpuQVimeRfdesiKxX52g==";
+      };
+    };
+    "remark-lint-list-item-content-indent-1.0.4" = {
+      name = "remark-lint-list-item-content-indent";
+      packageName = "remark-lint-list-item-content-indent";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-list-item-content-indent/-/remark-lint-list-item-content-indent-1.0.4.tgz";
+        sha512 = "zfEeAayZjEKkPr07fnhkGLENxOhnm0WZJTj6UBIXhtGu7rX23WNKSZaiou8iUoHxcO6ySCvIUJAEmq/XN1FxkQ==";
+      };
+    };
+    "remark-lint-list-item-indent-1.0.5" = {
+      name = "remark-lint-list-item-indent";
+      packageName = "remark-lint-list-item-indent";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-list-item-indent/-/remark-lint-list-item-indent-1.0.5.tgz";
+        sha512 = "DjRgxjqaVMrnlQFJypizTPtLa9gSM5ad0LVIFDSstV2UVXSgpBi2+bSsFJEXb4Fkjo/d2JAgt27UhzhcoF2lnw==";
+      };
+    };
+    "remark-lint-list-item-spacing-1.1.4" = {
+      name = "remark-lint-list-item-spacing";
+      packageName = "remark-lint-list-item-spacing";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-list-item-spacing/-/remark-lint-list-item-spacing-1.1.4.tgz";
+        sha512 = "zZELzTPYCoOCnOWh/nYTfQWnGXWg4/I5KpwrjBqe7WYwoMtvLVU9mqjRj2jHEbmirEXas54NZnYnkCoIBMS4bw==";
+      };
+    };
+    "remark-lint-maximum-heading-length-1.0.4" = {
+      name = "remark-lint-maximum-heading-length";
+      packageName = "remark-lint-maximum-heading-length";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-maximum-heading-length/-/remark-lint-maximum-heading-length-1.0.4.tgz";
+        sha512 = "dhDBnUFXMuHoW8LSV/VICJAJO+wWumnvuu3ND7MJquCYrsjX2vcRmJXL5cusJSY4yqPosKlOowIkzdV5B6/SDQ==";
+      };
+    };
+    "remark-lint-maximum-line-length-1.2.2" = {
+      name = "remark-lint-maximum-line-length";
+      packageName = "remark-lint-maximum-line-length";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-maximum-line-length/-/remark-lint-maximum-line-length-1.2.2.tgz";
+        sha512 = "ItAdjK+tUhqggqFvtAJ8iJ0MbBgShLl0HDgpG3In0QSYp/dmofO77DjvRjCJQo1pQYS8/LwlBii9cqg/3MwFfA==";
+      };
+    };
+    "remark-lint-no-auto-link-without-protocol-1.0.4" = {
+      name = "remark-lint-no-auto-link-without-protocol";
+      packageName = "remark-lint-no-auto-link-without-protocol";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-auto-link-without-protocol/-/remark-lint-no-auto-link-without-protocol-1.0.4.tgz";
+        sha512 = "dhDHQLeaI79p7SRoKfxJ9c8J5otQsGua7ILeNbs2Onzn46/tp9ir6zjq3Lfh4VJJr4OVign2e8u+MzXsS7Uu/A==";
+      };
+    };
+    "remark-lint-no-blockquote-without-marker-2.0.4" = {
+      name = "remark-lint-no-blockquote-without-marker";
+      packageName = "remark-lint-no-blockquote-without-marker";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-blockquote-without-marker/-/remark-lint-no-blockquote-without-marker-2.0.4.tgz";
+        sha512 = "a5LFGj7It2z7aBRGaAcztk4D2pax2b7dK9iOarIWv/JBus/PSjZJxzZCma2aAAOQhv3wbNTwqQwuQC0UJHMbPg==";
+      };
+    };
+    "remark-lint-no-consecutive-blank-lines-1.0.4" = {
+      name = "remark-lint-no-consecutive-blank-lines";
+      packageName = "remark-lint-no-consecutive-blank-lines";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-consecutive-blank-lines/-/remark-lint-no-consecutive-blank-lines-1.0.4.tgz";
+        sha512 = "33rYrp+3OQ2UjG2/xhctruCvkP2iKLuHJhoUOAUV3BGwqJjAB+xNOl+0DdvDo0fxh5dyZuNesBuos3xr2yVR+w==";
+      };
+    };
+    "remark-lint-no-duplicate-headings-1.0.5" = {
+      name = "remark-lint-no-duplicate-headings";
+      packageName = "remark-lint-no-duplicate-headings";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-duplicate-headings/-/remark-lint-no-duplicate-headings-1.0.5.tgz";
+        sha512 = "4GKPxhKpN797V/6Jg1K4Zwqq+PhsjC633+wQMrZcTvOJfY+Rq1i7sNJ9lJVZnsDAlZJI56VqZCKnPJmS2br87g==";
+      };
+    };
+    "remark-lint-no-emphasis-as-heading-1.0.4" = {
+      name = "remark-lint-no-emphasis-as-heading";
+      packageName = "remark-lint-no-emphasis-as-heading";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-emphasis-as-heading/-/remark-lint-no-emphasis-as-heading-1.0.4.tgz";
+        sha512 = "gnsInLxTkc59eVD3/qelFagD/NcrMPKXT1sy7i4e8D2jqQyrIHHl0p3TfiyNNt8qIjKMKhlIii4k4kVk/3Mczg==";
+      };
+    };
+    "remark-lint-no-file-name-articles-1.0.5" = {
+      name = "remark-lint-no-file-name-articles";
+      packageName = "remark-lint-no-file-name-articles";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-articles/-/remark-lint-no-file-name-articles-1.0.5.tgz";
+        sha512 = "AQk5eTb3s3TAPPjiglZgqlQj4ycao+gPs8/XkdN1VCPUtewW0GgwoQe7YEuBKayJ6ioN8dGP37Kg/P/PlKaRQA==";
+      };
+    };
+    "remark-lint-no-file-name-consecutive-dashes-1.0.5" = {
+      name = "remark-lint-no-file-name-consecutive-dashes";
+      packageName = "remark-lint-no-file-name-consecutive-dashes";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-consecutive-dashes/-/remark-lint-no-file-name-consecutive-dashes-1.0.5.tgz";
+        sha512 = "Mg2IDsi790/dSdAzwnBnsMYdZm3qC2QgGwqOWcr0TPABJhhjC3p8r5fX4MNMTXI5It7B7bW9+ImmCeLOZiXkLg==";
+      };
+    };
+    "remark-lint-no-file-name-irregular-characters-1.0.5" = {
+      name = "remark-lint-no-file-name-irregular-characters";
+      packageName = "remark-lint-no-file-name-irregular-characters";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-irregular-characters/-/remark-lint-no-file-name-irregular-characters-1.0.5.tgz";
+        sha512 = "Oe5i99qNUKc2bxmiH421o5B/kqlf1dfjAxpHNLhi2X2dXE91zRGavrlRM/4f4oR0N9Bqb3qB9JZPyMPWrzu9XA==";
+      };
+    };
+    "remark-lint-no-file-name-mixed-case-1.0.5" = {
+      name = "remark-lint-no-file-name-mixed-case";
+      packageName = "remark-lint-no-file-name-mixed-case";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-mixed-case/-/remark-lint-no-file-name-mixed-case-1.0.5.tgz";
+        sha512 = "ilrUCbHZin/ENwr8c3SC2chgkFsizXjBQIB/oZ7gnm1IkCkZPiMyXZAHdpwC/DjbrpGxfMYh9JmIHao4giS5+A==";
+      };
+    };
+    "remark-lint-no-file-name-outer-dashes-1.0.6" = {
+      name = "remark-lint-no-file-name-outer-dashes";
+      packageName = "remark-lint-no-file-name-outer-dashes";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-file-name-outer-dashes/-/remark-lint-no-file-name-outer-dashes-1.0.6.tgz";
+        sha512 = "rT8CmcIlenegS0Yst4maYXdZfqIjBOiRUY8j/KJkORF5tKH+3O1/S07025qPGmcRihzK3w4yO0K8rgkKQw0b9w==";
+      };
+    };
+    "remark-lint-no-heading-punctuation-1.0.4" = {
+      name = "remark-lint-no-heading-punctuation";
+      packageName = "remark-lint-no-heading-punctuation";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-heading-punctuation/-/remark-lint-no-heading-punctuation-1.0.4.tgz";
+        sha512 = "++/HXg/qtVssJjzq2ZgEreoxaazw9KkYrAbTDImKV7Fypo+7bZFELUvFicq0/i9qwAwt1tvhkKtLYt1W/sr1JQ==";
+      };
+    };
+    "remark-lint-no-inline-padding-1.0.5" = {
+      name = "remark-lint-no-inline-padding";
+      packageName = "remark-lint-no-inline-padding";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-inline-padding/-/remark-lint-no-inline-padding-1.0.5.tgz";
+        sha512 = "AjS34hBRasYiIAKZJ7/9U42LouRHok2WVTRdQPcVtRBswStNOuot59S+FRsatqlk1wvMmjytqxUKQfVTSeu9ag==";
+      };
+    };
+    "remark-lint-no-literal-urls-1.0.4" = {
+      name = "remark-lint-no-literal-urls";
+      packageName = "remark-lint-no-literal-urls";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-literal-urls/-/remark-lint-no-literal-urls-1.0.4.tgz";
+        sha512 = "sHjbzaSG4z6jMu1L0Qx1b7VvIQHy0bR4xZ6t9auJ5AoB5ua8hb/970s77irH1+46TF1ezhE7i+QDjmhcQi09xg==";
+      };
+    };
+    "remark-lint-no-multiple-toplevel-headings-1.0.5" = {
+      name = "remark-lint-no-multiple-toplevel-headings";
+      packageName = "remark-lint-no-multiple-toplevel-headings";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-multiple-toplevel-headings/-/remark-lint-no-multiple-toplevel-headings-1.0.5.tgz";
+        sha512 = "RZ1YPxRO7Bo8mT+A36cZ7nx2QHFAKk+oE6j87YrZYpAKr2oF6snKS8nIGhVku4PSI/9cW1G12MZz1cAA5rcjFw==";
+      };
+    };
+    "remark-lint-no-shell-dollars-1.0.4" = {
+      name = "remark-lint-no-shell-dollars";
+      packageName = "remark-lint-no-shell-dollars";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-shell-dollars/-/remark-lint-no-shell-dollars-1.0.4.tgz";
+        sha512 = "YXFj8FUVTKkVvoAbFY3zv1Ol7Kj1i+qdze3pXSgRG61y1LpfL8/HpnvFrseMbBmNw6o4WpjTo7GoArngJ1sCeg==";
+      };
+    };
+    "remark-lint-no-shortcut-reference-image-1.0.4" = {
+      name = "remark-lint-no-shortcut-reference-image";
+      packageName = "remark-lint-no-shortcut-reference-image";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-shortcut-reference-image/-/remark-lint-no-shortcut-reference-image-1.0.4.tgz";
+        sha512 = "5/9QoesnOHIDwMHU9x+AGPBiFoMe9ZBKIR8nC17C6ZdksgwUIpjBJ3VX5POFlt5E6OhAZaeXqUCq9G2USccEdA==";
+      };
+    };
+    "remark-lint-no-shortcut-reference-link-1.0.5" = {
+      name = "remark-lint-no-shortcut-reference-link";
+      packageName = "remark-lint-no-shortcut-reference-link";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-shortcut-reference-link/-/remark-lint-no-shortcut-reference-link-1.0.5.tgz";
+        sha512 = "qDVL7/0ptOTd/nyd9u/4MYFWQtYQU8povdUB45UgTXy5Rrf1WsC+4DfzAEZkX3tOSTExdAIf1WOKqdC5xRcfvA==";
+      };
+    };
+    "remark-lint-no-table-indentation-1.0.5" = {
+      name = "remark-lint-no-table-indentation";
+      packageName = "remark-lint-no-table-indentation";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-no-table-indentation/-/remark-lint-no-table-indentation-1.0.5.tgz";
+        sha512 = "eE1GL+IzU3vtHdYCKHCZEIhCwiwCM7UH+pMDIMpGfH2LB3cB/Nrfbiz9xadGkARKqxxDMsJSBZDw4A/01IU+kA==";
+      };
+    };
+    "remark-lint-ordered-list-marker-style-1.0.4" = {
+      name = "remark-lint-ordered-list-marker-style";
+      packageName = "remark-lint-ordered-list-marker-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-ordered-list-marker-style/-/remark-lint-ordered-list-marker-style-1.0.4.tgz";
+        sha512 = "c6AIqeePzm3nfkPCbTdwBS3/AQICgwE76+ryOc7tsSq4ulyK/Nt8Syvi/oiHYuonBddZoGtFTNCn0jqen9qscA==";
+      };
+    };
+    "remark-lint-ordered-list-marker-value-1.0.5" = {
+      name = "remark-lint-ordered-list-marker-value";
+      packageName = "remark-lint-ordered-list-marker-value";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-ordered-list-marker-value/-/remark-lint-ordered-list-marker-value-1.0.5.tgz";
+        sha512 = "eKepbNNfu9rEuG8WvV0sc7B+KiPMgq5Nc9baAxL9Hi6mhpj347YFWXxJUNttSINS13YTpnHxPvXmF9SzhjFKNQ==";
+      };
+    };
+    "remark-lint-rule-style-1.0.4" = {
+      name = "remark-lint-rule-style";
+      packageName = "remark-lint-rule-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-rule-style/-/remark-lint-rule-style-1.0.4.tgz";
+        sha512 = "omr5P6CCvo2zixCzK9uiGZpwzOE+4rc+95kWH95k2iA6Rp8Qohp8RK4unSRKLtFYGUhSbiQPgWaQXHDxMkWczg==";
+      };
+    };
+    "remark-lint-strong-marker-1.0.4" = {
+      name = "remark-lint-strong-marker";
+      packageName = "remark-lint-strong-marker";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-strong-marker/-/remark-lint-strong-marker-1.0.4.tgz";
+        sha512 = "X9f6yhZ85cdP0cmCgkqlbxllpeQ60pS9Qqk9Jb9SZo6f95esaHptQ5bExb1ZVXzhSHz2Xz86tUhXtzG3zGFD4g==";
+      };
+    };
+    "remark-lint-table-cell-padding-1.0.5" = {
+      name = "remark-lint-table-cell-padding";
+      packageName = "remark-lint-table-cell-padding";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-table-cell-padding/-/remark-lint-table-cell-padding-1.0.5.tgz";
+        sha512 = "N/WpcymrGBSPbLiv2OQTvdzNn6H9ctdyEA+P/odn4G9FqyrLmeTMkGJuGtinU569hLG/RtHqZIDeFVDiYi8Wzw==";
+      };
+    };
+    "remark-lint-table-pipe-alignment-1.0.4" = {
+      name = "remark-lint-table-pipe-alignment";
+      packageName = "remark-lint-table-pipe-alignment";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-table-pipe-alignment/-/remark-lint-table-pipe-alignment-1.0.4.tgz";
+        sha512 = "pmELEOXeUjMQedyVvOtZcTCnTu6FxZ4gfBskMx6iJhOFEEKTFOmviqlKLpndPBxFNZB86AiE0C00/NvAaut8dw==";
+      };
+    };
+    "remark-lint-table-pipes-1.0.4" = {
+      name = "remark-lint-table-pipes";
+      packageName = "remark-lint-table-pipes";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-table-pipes/-/remark-lint-table-pipes-1.0.4.tgz";
+        sha512 = "0fdnoiiSLIPd/76gNvQY4pg27d8HkMmmv5gCGfD+Z/Si9DdpbJdq93U0kX+Botb3+/4VEDIlcU7Cp5HXppMTWA==";
+      };
+    };
+    "remark-lint-unordered-list-marker-style-1.0.4" = {
+      name = "remark-lint-unordered-list-marker-style";
+      packageName = "remark-lint-unordered-list-marker-style";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-lint-unordered-list-marker-style/-/remark-lint-unordered-list-marker-style-1.0.4.tgz";
+        sha512 = "lcuG1J74VGTT4gl8oH33HpkHrqorxjxMlJnBupLFrVowqvJ2hAq8yPJdGZ7P46uZOYw+Xz+Qv08bF8A73PNWxQ==";
+      };
+    };
     "remark-mdx-2.0.0-next.9" = {
       name = "remark-mdx";
       packageName = "remark-mdx";
@@ -50639,6 +51314,15 @@ let
         sha512 = "Z/+0eWc7pBEABwg3a5ptL+vCTWHYMFnYzpLoJxTm2muBSk8XyB/CL+tEJ6SV3Q/fScHX2dtG4JRcGSpbZFLazQ==";
       };
     };
+    "remark-message-control-4.2.0" = {
+      name = "remark-message-control";
+      packageName = "remark-message-control";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-message-control/-/remark-message-control-4.2.0.tgz";
+        sha512 = "WXH2t5ljTyhsXlK1zPBLF3iPHbXl58R94phPMreS1xcHWBZJt6Oiu8RtNjy1poZFb3PqKnbYLJeR/CWcZ1bTFw==";
+      };
+    };
     "remark-message-control-6.0.0" = {
       name = "remark-message-control";
       packageName = "remark-message-control";
@@ -50657,6 +51341,15 @@ let
         sha512 = "XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==";
       };
     };
+    "remark-parse-5.0.0" = {
+      name = "remark-parse";
+      packageName = "remark-parse";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz";
+        sha512 = "b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==";
+      };
+    };
     "remark-parse-6.0.3" = {
       name = "remark-parse";
       packageName = "remark-parse";
@@ -50684,6 +51377,24 @@ let
         sha512 = "geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==";
       };
     };
+    "remark-preset-lint-markdown-style-guide-2.1.4" = {
+      name = "remark-preset-lint-markdown-style-guide";
+      packageName = "remark-preset-lint-markdown-style-guide";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-preset-lint-markdown-style-guide/-/remark-preset-lint-markdown-style-guide-2.1.4.tgz";
+        sha512 = "CGEN3DRtJEp+BvfgZ+VKxuq0Ij8Uw2DXfrbhK2xn4/XxatcHRPN8tnagXbMe1LHaQJGN8Gl1+UyLjsfIk6hyGQ==";
+      };
+    };
+    "remark-retext-3.1.3" = {
+      name = "remark-retext";
+      packageName = "remark-retext";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-retext/-/remark-retext-3.1.3.tgz";
+        sha512 = "UujXAm28u4lnUvtOZQFYfRIhxX+auKI9PuA2QpQVTT7gYk1OgX6o0OUrSo1KOa6GNrFX+OODOtS5PWIHPxM7qw==";
+      };
+    };
     "remark-retext-4.0.0" = {
       name = "remark-retext";
       packageName = "remark-retext";
@@ -51359,6 +52070,15 @@ let
         sha512 = "M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==";
       };
     };
+    "retext-6.0.2" = {
+      name = "retext";
+      packageName = "retext";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext/-/retext-6.0.2.tgz";
+        sha512 = "CxpBywVxRjzikCRrC6Z87KzqzuSbCDLLqpQSzjzE0xlzPaZemZiywCHEzX7eSWRdXY5006rYgD7Zm4BCyzFxvg==";
+      };
+    };
     "retext-english-3.0.4" = {
       name = "retext-english";
       packageName = "retext-english";
@@ -51377,6 +52097,15 @@ let
         sha512 = "ha7zrQ+Bq4xWifm21IcAzc9xhMWCJYfePUjRRNE2mXi8cFhaq1F8+cD78YA2nd6W2mxd11VGTVKY9O0DmzEywQ==";
       };
     };
+    "retext-latin-2.0.4" = {
+      name = "retext-latin";
+      packageName = "retext-latin";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-latin/-/retext-latin-2.0.4.tgz";
+        sha512 = "fOoSSoQgDZ+l/uS81oxI3alBghDUPja0JEl0TpQxI6MN+dhM6fLFumPJwMZ4PJTyL5FFAgjlsdv8IX+6IRuwMw==";
+      };
+    };
     "retext-profanities-6.1.0" = {
       name = "retext-profanities";
       packageName = "retext-profanities";
@@ -51386,6 +52115,24 @@ let
         sha512 = "40Ym0WOgy7rRY4tR2iL01g3Y5Ql+9NBV21hycIhNX3uv+6vjaWB30NWN+tTcxNIWBJEwXHoTDMiVdAMm6ZpHVA==";
       };
     };
+    "retext-spell-2.4.1" = {
+      name = "retext-spell";
+      packageName = "retext-spell";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-spell/-/retext-spell-2.4.1.tgz";
+        sha512 = "l2C37Sz+JMLgUJHqqNA2bV3Qqh7V6zWT3fCi8MtsZn2PoanDh57Tz2NW/DJpoEIsK9mV7o2EMvQmIMt5cgcgAg==";
+      };
+    };
+    "retext-stringify-2.0.4" = {
+      name = "retext-stringify";
+      packageName = "retext-stringify";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retext-stringify/-/retext-stringify-2.0.4.tgz";
+        sha512 = "xOtx5mFJBoT3j7PBtiY2I+mEGERNniofWktI1cKXvjMEJPOuqve0dghLHO1+gz/gScLn4zqspDGv4kk2wS5kSA==";
+      };
+    };
     "rethinkdb-2.4.2" = {
       name = "rethinkdb";
       packageName = "rethinkdb";
@@ -52151,13 +52898,13 @@ let
         sha512 = "y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==";
       };
     };
-    "sass-1.37.0" = {
+    "sass-1.37.5" = {
       name = "sass";
       packageName = "sass";
-      version = "1.37.0";
+      version = "1.37.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.37.0.tgz";
-        sha512 = "B+Tu6cSAG8ffs/cqsZl/bgSH2pCmavDaPTYAoW8QA1qNHh/RqndNfVKuABKYkLjUQ5aq/BnCENVpE80cqdSM1w==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.37.5.tgz";
+        sha512 = "Cx3ewxz9QB/ErnVIiWg2cH0kiYZ0FPvheDTVC6BsiEGBTZKKZJ1Gq5Kq6jy3PKtL6+EJ8NIoaBW/RSd2R6cZOA==";
       };
     };
     "sax-0.5.8" = {
@@ -55265,13 +56012,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.34" = {
+    "sscaff-1.2.36" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.34";
+      version = "1.2.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.34.tgz";
-        sha512 = "J3tgewePIaRry/KOsdo9N+vl/RmMzrgiPT33B/a+fnqKYFtdcxfyq985e+dlYUXNorB0e4j0OV/hV9pGGwpZ1Q==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.36.tgz";
+        sha512 = "OP8XE492gbcsTFXH/PQy2DNxnqWGWVRC1P8uqjmWInZdfX3lYA+q9jSS7e7lkqkNYsJYMcnCrjnmLCk5jLI6NA==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -55922,13 +56669,13 @@ let
         sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
       };
     };
-    "streamx-2.10.3" = {
+    "streamx-2.11.0" = {
       name = "streamx";
       packageName = "streamx";
-      version = "2.10.3";
+      version = "2.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamx/-/streamx-2.10.3.tgz";
-        sha512 = "Ss4rEDWlTAUrIqaQsX6tNBNANHxSmbyrA5PlCji0a6xdJtVzfkEMLLrkVW5OSyr4TshiSb1WA2TqMGMUpGnouQ==";
+        url = "https://registry.npmjs.org/streamx/-/streamx-2.11.0.tgz";
+        sha512 = "Cv8hFlHwVRKg35EXAxCSmRRzCR8Nyphx3v58hkx8nqfRe3GM8kAPfDY16GvpU2V4m/U8Ri9Fdoi+K5X3z8VpMA==";
       };
     };
     "strftime-0.10.0" = {
@@ -56147,6 +56894,15 @@ let
         sha512 = "004ulKKANDuQilQsNxy2lisrpMG0qUJxBU+2YCEF7KziRyNR0Nredm2qk0f1V82nva59H3y9GWeHXE63HzGRFw==";
       };
     };
+    "string2compact-1.3.2" = {
+      name = "string2compact";
+      packageName = "string2compact";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string2compact/-/string2compact-1.3.2.tgz";
+        sha512 = "3XUxUgwhj7Eqh2djae35QHZZT4mN3fsO7kagZhSGmhhlrQagVvWSFuuFIWnpxFS0CdTB2PlQcaL16RDi14I8uw==";
+      };
+    };
     "string_decoder-0.10.31" = {
       name = "string_decoder";
       packageName = "string_decoder";
@@ -56543,15 +57299,6 @@ let
         sha1 = "0fdedc68e91addcfcb2e6be9c262581a6e8c28aa";
       };
     };
-    "strtok3-6.1.3" = {
-      name = "strtok3";
-      packageName = "strtok3";
-      version = "6.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.1.3.tgz";
-        sha512 = "ssWSKFOeUTurMSucgyUf+a6Z9mVTYrsYiyEK5RLnh8BM6sFrKSljVlnjZXIDxMguYfdQI+mUPFHo88FYTxq1XA==";
-      };
-    };
     "strtok3-6.2.4" = {
       name = "strtok3";
       packageName = "strtok3";
@@ -56966,13 +57713,13 @@ let
         sha512 = "mDAmaltQl6e5zU2VEtoWEf7eLTfuOTGr9zt+BpA3AGHo8MIhKiNSPE9OLTCTOMgj0vj/uL9QBbaNmpG4G1CgIA==";
       };
     };
-    "svelte2tsx-0.4.3" = {
+    "svelte2tsx-0.4.4" = {
       name = "svelte2tsx";
       packageName = "svelte2tsx";
-      version = "0.4.3";
+      version = "0.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.4.3.tgz";
-        sha512 = "bbX1jrqz9Hih7GyeNrMex6HvSNguX+oorW3PPlNZk3hEgz7xXSO6f9Wuu+1dDacKt7GCEJdLjnq0wc1ZhyLqoQ==";
+        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.4.4.tgz";
+        sha512 = "BvARagYreupBS9rMSCa7aTH1m6qoU6OXtjouDrZggunW9hpyn9UpU0f1uw8loiCYbdE1LCNAK74Y6B2sIjevug==";
       };
     };
     "sver-compat-1.5.0" = {
@@ -57263,13 +58010,13 @@ let
         sha512 = "33+lQwlLxXoxy0o9WLOgw8OjbXeS3Jv+pSl+nxKc2AOClBI28HsdRPpH0u9Xa9OVjHLT9vonnOMw1ug7YXI0dA==";
       };
     };
-    "systeminformation-5.7.14" = {
+    "systeminformation-5.8.0" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.7.14";
+      version = "5.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.7.14.tgz";
-        sha512 = "T928Nvxy5uA/NQR00gGCm4wnNGPcXYyPXDnZsMR1wG5rk25CwaVcshsSGvl91s0DPUyC87tUfQOWVg4EvNwsOA==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.8.0.tgz";
+        sha512 = "l4drbK2PtNynGKblaShY9hDLW/gg1zxUq2+Yk4gTyd6a2JUvFyTGP8PhHV9iOh+MzS25PQa8W1t0kvcIvr9n7Q==";
       };
     };
     "table-3.8.3" = {
@@ -57498,6 +58245,15 @@ let
         sha512 = "EwKEgqJ7nJoS+s8QfLYVGMDmAsj+StbI2AM/RTHeUSsOw6Z8bwNBRv5z3CY0m7laC5qUAqruLX5AhMuc5deY3Q==";
       };
     };
+    "tar-6.1.6" = {
+      name = "tar";
+      packageName = "tar";
+      version = "6.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-6.1.6.tgz";
+        sha512 = "oaWyu5dQbHaYcyZCTfyPpC+VmI62/OM2RTUYavTk1MDr1cwW5Boi3baeYQKiZbY2uSQJGr+iMOzb/JFxLrft+g==";
+      };
+    };
     "tar-fs-1.16.3" = {
       name = "tar-fs";
       packageName = "tar-fs";
@@ -58686,13 +59442,13 @@ let
         sha512 = "wnQcqlreS6VjthyHO3Y/kpK/emflxDBNhlNUPfh7wE39KnuDdOituXomIbyI79vBtF0Ninpkh72mcuRHo+RG3Q==";
       };
     };
-    "token-types-3.1.0" = {
+    "token-types-4.1.1" = {
       name = "token-types";
       packageName = "token-types";
-      version = "3.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/token-types/-/token-types-3.1.0.tgz";
-        sha512 = "WhoeIW7UTn7NC7L0t/4x3vU/YYSS1oeUxYgiGXQLd82Kaf1qtlxOex3ETY0+o2QuRgAdyursMlUhQBKDCfMUkQ==";
+        url = "https://registry.npmjs.org/token-types/-/token-types-4.1.1.tgz";
+        sha512 = "hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w==";
       };
     };
     "toml-2.3.6" = {
@@ -58974,6 +59730,24 @@ let
         sha512 = "MAqFo2oJJ39zmxq3xETx0nMAgZw2z6pnJPjIAehEcrDaeePDhBBTshAlyhCDtezMDTIu1Av+vGE501xN3Sh8VA==";
       };
     };
+    "tree-sitter-0.17.2" = {
+      name = "tree-sitter";
+      packageName = "tree-sitter";
+      version = "0.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.17.2.tgz";
+        sha512 = "bxFEolb9xMxBdbwh4wqT730J8fu10J15EL8lM+iGr8LcKbhuQ7KHA0pPsmNPIpZlr6vyDKFojJnD45JtIBIV0w==";
+      };
+    };
+    "tree-sitter-beancount-1.0.0" = {
+      name = "tree-sitter-beancount";
+      packageName = "tree-sitter-beancount";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tree-sitter-beancount/-/tree-sitter-beancount-1.0.0.tgz";
+        sha512 = "I+QbnbfSA7+ePEhIHRwq+X2ZrTQS5VoZ47kPTsn5FEiAGGo87mhLK4O3vCaFUHQ8Ibm8eXESEKf1dl0QmA9CHQ==";
+      };
+    };
     "treeify-1.1.0" = {
       name = "treeify";
       packageName = "treeify";
@@ -59136,13 +59910,13 @@ let
         sha512 = "uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==";
       };
     };
-    "ts-invariant-0.9.0" = {
+    "ts-invariant-0.9.1" = {
       name = "ts-invariant";
       packageName = "ts-invariant";
-      version = "0.9.0";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.0.tgz";
-        sha512 = "+JqhKqywk+ue5JjAC6eTWe57mOIxYXypMUkBDStkAzvnlfkDJ1KGyeMuNRMwOt6GXzHSC1UT9JecowpZDmgXqA==";
+        url = "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.9.1.tgz";
+        sha512 = "hSeYibh29ULlHkuEfukcoiyTct+s2RzczMLTv4x3NWC/YrBy7x7ps5eYq/b4Y3Sb9/uAlf54+/5CAEMVxPhuQw==";
       };
     };
     "ts-loader-8.0.4" = {
@@ -59325,6 +60099,15 @@ let
         sha512 = "mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==";
       };
     };
+    "tsyringe-4.6.0" = {
+      name = "tsyringe";
+      packageName = "tsyringe";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tsyringe/-/tsyringe-4.6.0.tgz";
+        sha512 = "BMQAZamSfEmIQzH8WJeRu1yZGQbPSDuI9g+yEiKZFIcO46GPZuMOC2d0b52cVBdw1d++06JnDSIIZvEnogMdAw==";
+      };
+    };
     "ttl-1.3.1" = {
       name = "ttl";
       packageName = "ttl";
@@ -60099,6 +60882,15 @@ let
         sha512 = "nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==";
       };
     };
+    "underscore-1.12.1" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.12.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz";
+        sha512 = "hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==";
+      };
+    };
     "underscore-1.13.1" = {
       name = "underscore";
       packageName = "underscore";
@@ -60324,6 +61116,24 @@ let
         sha512 = "ZlMm62ejrf+tJHdyOjQfljszngQjRor95q2XZMGk6rpJUYi7ZIHY/EXEhOcj9PZkMKKdLIM+dqL4s0ceyk9wbA==";
       };
     };
+    "unified-lint-rule-1.0.6" = {
+      name = "unified-lint-rule";
+      packageName = "unified-lint-rule";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-lint-rule/-/unified-lint-rule-1.0.6.tgz";
+        sha512 = "YPK15YBFwnsVorDFG/u0cVVQN5G2a3V8zv5/N6KN3TCG+ajKtaALcy7u14DCSrJI+gZeyYquFL9cioJXOGXSvg==";
+      };
+    };
+    "unified-message-control-1.0.4" = {
+      name = "unified-message-control";
+      packageName = "unified-message-control";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified-message-control/-/unified-message-control-1.0.4.tgz";
+        sha512 = "e1dEtN4Z/TvLn/qHm+xeZpzqhJTtfZusFErk336kkZVpqrJYiV9ptxq+SbRPFMlN0OkjDYHmVJ929KYjsMTo3g==";
+      };
+    };
     "unified-message-control-3.0.3" = {
       name = "unified-message-control";
       packageName = "unified-message-control";
@@ -60459,6 +61269,15 @@ let
         sha512 = "xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==";
       };
     };
+    "unist-util-generated-1.1.6" = {
+      name = "unist-util-generated";
+      packageName = "unist-util-generated";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz";
+        sha512 = "cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==";
+      };
+    };
     "unist-util-inspect-4.1.4" = {
       name = "unist-util-inspect";
       packageName = "unist-util-inspect";
@@ -60954,6 +61773,15 @@ let
         sha512 = "ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==";
       };
     };
+    "update-section-0.3.3" = {
+      name = "update-section";
+      packageName = "update-section";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-section/-/update-section-0.3.3.tgz";
+        sha1 = "458f17820d37820dc60e20b86d94391b00123158";
+      };
+    };
     "upnp-device-client-1.0.2" = {
       name = "upnp-device-client";
       packageName = "upnp-device-client";
@@ -63286,6 +64114,15 @@ let
         sha512 = "n1CfuJcJ+dynIx/fmavB6haPx37N3GZvY5HIGIselymDiSwNRC+8pAxOzoB4eVwUBJnbP3+aA8vWttrAZbgs7A==";
       };
     };
+    "web-tree-sitter-0.17.1" = {
+      name = "web-tree-sitter";
+      packageName = "web-tree-sitter";
+      version = "0.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.17.1.tgz";
+        sha512 = "QgaeV+wmlB1Qaw9rS5a0ZDBt8GRcKkF+hGNSVxQ/HLm1lPCow3BKOhoILaXkYm7YozCcL7TjppRADBwFJugbuA==";
+      };
+    };
     "web3-utils-1.5.0" = {
       name = "web3-utils";
       packageName = "web3-utils";
@@ -63385,13 +64222,13 @@ let
         sha512 = "68VT2ZgG9EHs6h6UxfV2SEYewA9BA3SOLSnC2NEbJJiEwbAiueDL033R1xX0jzjmXvMh0oSeKnKgbO2bDXIEyQ==";
       };
     };
-    "webpack-5.47.1" = {
+    "webpack-5.48.0" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.47.1";
+      version = "5.48.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.47.1.tgz";
-        sha512 = "cW+Mzy9SCDapFV4OrkHuP6EFV2mAsiQd+gOa3PKtHNoKg6qPqQXZzBlHH+CnQG1osplBCqwsJZ8CfGO6XWah0g==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.48.0.tgz";
+        sha512 = "CGe+nfbHrYzbk7SKoYITCgN3LRAG0yVddjNUecz9uugo1QtYdiyrVD8nP1PhkNqPfdxC2hknmmKpP355Epyn6A==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -64366,6 +65203,15 @@ let
         sha1 = "f21b6e41016ff4a7e31720dbc63a09016bdf9845";
       };
     };
+    "wrapped-1.0.1" = {
+      name = "wrapped";
+      packageName = "wrapped";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrapped/-/wrapped-1.0.1.tgz";
+        sha1 = "c783d9d807b273e9b01e851680a938c87c907242";
+      };
+    };
     "wrappy-1.0.2" = {
       name = "wrappy";
       packageName = "wrappy";
@@ -65312,6 +66158,15 @@ let
         sha512 = "xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==";
       };
     };
+    "yargs-17.1.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "17.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-17.1.0.tgz";
+        sha512 = "SQr7qqmQ2sNijjJGHL4u7t8vyDZdZ3Ahkmo4sc1w5xI9TBX0QDdG/g4SFnxtWOsGLjwHQue57eFALfwFCnixgg==";
+      };
+    };
     "yargs-3.10.0" = {
       name = "yargs";
       packageName = "yargs";
@@ -65981,7 +66836,7 @@ in
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
       sources."symbol-observable-4.0.0"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."tough-cookie-2.5.0"
@@ -66528,7 +67383,7 @@ in
       sha512 = "YWis7dhbGR5LkGYj7rV3BA/gUusfuugze3LIQUeoggPdF2rdeOZXewSPUydM3UBfsptt0qyw0bPQS+fKT0KDVw==";
     };
     dependencies = [
-      sources."@corestore/networker-1.1.0"
+      sources."@corestore/networker-1.2.0"
       sources."@hyperspace/client-1.18.0"
       sources."@hyperspace/migration-tool-1.2.1"
       sources."@hyperspace/rpc-1.15.1"
@@ -66537,7 +67392,7 @@ in
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.3"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
       sources."ansi-colors-3.2.3"
@@ -66707,7 +67562,7 @@ in
         ];
       })
       sources."hypercore-streams-1.0.1"
-      sources."hyperdrive-10.20.0"
+      sources."hyperdrive-10.21.0"
       sources."hyperdrive-schemas-2.0.0"
       sources."hyperspace-3.19.0"
       (sources."hyperspace-mirroring-service-1.0.7" // {
@@ -66924,7 +67779,7 @@ in
       sources."stream-collector-1.0.1"
       sources."stream-equal-1.1.1"
       sources."stream-shift-1.0.1"
-      sources."streamx-2.10.3"
+      sources."streamx-2.11.0"
       (sources."string-width-2.1.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
@@ -67068,8 +67923,8 @@ in
       sources."@types/eslint-7.28.0"
       sources."@types/eslint-scope-3.7.1"
       sources."@types/estree-0.0.50"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-16.4.10"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-16.4.12"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -67104,7 +67959,7 @@ in
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
@@ -67135,7 +67990,7 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-5.8.2" // {
@@ -67544,7 +68399,7 @@ in
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -67667,7 +68522,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-2.3.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -67815,7 +68670,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -68826,7 +69681,7 @@ in
       sources."async-3.2.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."caniuse-lite-1.0.30001248"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
@@ -68838,7 +69693,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.2"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -68932,7 +69787,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -68966,10 +69821,10 @@ in
       sha512 = "L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==";
     };
     dependencies = [
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."caniuse-lite-1.0.30001248"
       sources."colorette-1.2.2"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."escalade-3.1.1"
       sources."fraction.js-4.1.1"
       sources."node-releases-1.1.73"
@@ -68996,14 +69851,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
-      (sources."aws-sdk-2.958.0" // {
+      (sources."aws-sdk-2.961.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -69043,7 +69898,7 @@ in
       sources."defaults-1.0.3"
       sources."degenerator-2.2.0"
       sources."depd-1.1.2"
-      sources."devtools-protocol-0.0.883894"
+      sources."devtools-protocol-0.0.901419"
       sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
@@ -69132,7 +69987,7 @@ in
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
       sources."punycode-1.3.2"
-      (sources."puppeteer-10.1.0" // {
+      (sources."puppeteer-10.2.0" // {
         dependencies = [
           sources."debug-4.3.1"
         ];
@@ -69223,7 +70078,7 @@ in
       sources."@cto.af/textdecoder-0.0.0"
       (sources."@grpc/grpc-js-1.3.2" // {
         dependencies = [
-          sources."@types/node-16.4.10"
+          sources."@types/node-16.4.12"
         ];
       })
       sources."@grpc/proto-loader-0.6.2"
@@ -69699,7 +70554,7 @@ in
       })
       sources."ms-2.0.0"
       sources."mute-stream-0.0.6"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."negotiator-0.6.2"
       sources."node-addon-api-2.0.2"
       sources."node-fetch-2.6.1"
@@ -69766,7 +70621,7 @@ in
       sources."process-nextick-args-2.0.1"
       (sources."protobufjs-6.11.2" // {
         dependencies = [
-          sources."@types/node-16.4.10"
+          sources."@types/node-16.4.12"
         ];
       })
       sources."proxy-addr-2.0.7"
@@ -70093,6 +70948,169 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  beancount-langserver = nodeEnv.buildNodePackage {
+    name = "beancount-langserver";
+    packageName = "beancount-langserver";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/beancount-langserver/-/beancount-langserver-1.0.0.tgz";
+      sha512 = "cwi9b6H7pMWDFcUNsAt2DDStOmd9DCgWUQ5olAe+PHe+dwxqeRJVaCQLMiDwJBOHEPuRhaXh8V/7JEtgQPgoPQ==";
+    };
+    dependencies = [
+      sources."@textlint/ast-node-types-4.4.3"
+      sources."@textlint/markdown-to-ast-6.1.7"
+      sources."anchor-markdown-header-0.5.7"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."bail-1.0.5"
+      sources."base64-js-1.5.1"
+      (sources."bl-4.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."boundary-1.0.1"
+      sources."buffer-5.7.1"
+      sources."character-entities-1.2.4"
+      sources."character-entities-legacy-1.1.4"
+      sources."character-reference-invalid-1.1.4"
+      sources."chownr-1.1.4"
+      sources."code-point-at-1.1.0"
+      sources."collapse-white-space-1.0.6"
+      sources."commander-6.2.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."debug-4.3.2"
+      sources."decompress-response-4.2.1"
+      sources."deep-extend-0.6.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."doctoc-2.0.1"
+      (sources."dom-serializer-1.3.2" // {
+        dependencies = [
+          sources."domhandler-4.2.0"
+        ];
+      })
+      sources."domelementtype-2.2.0"
+      sources."domhandler-3.3.0"
+      (sources."domutils-2.7.0" // {
+        dependencies = [
+          sources."domhandler-4.2.0"
+        ];
+      })
+      sources."emoji-regex-6.1.3"
+      sources."end-of-stream-1.4.4"
+      sources."entities-2.2.0"
+      sources."expand-template-2.0.3"
+      sources."extend-3.0.2"
+      sources."fault-1.0.4"
+      sources."format-0.2.2"
+      sources."fs-constants-1.0.0"
+      sources."gauge-2.7.4"
+      sources."github-from-package-0.0.0"
+      sources."has-unicode-2.0.1"
+      sources."htmlparser2-4.1.0"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."is-alphabetical-1.0.4"
+      sources."is-alphanumerical-1.0.4"
+      sources."is-buffer-1.1.6"
+      sources."is-decimal-1.0.4"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-hexadecimal-1.0.4"
+      sources."is-plain-obj-1.1.0"
+      sources."is-whitespace-character-1.0.4"
+      sources."is-word-character-1.0.4"
+      sources."isarray-1.0.0"
+      sources."markdown-escapes-1.0.4"
+      sources."mimic-response-2.1.0"
+      sources."minimist-1.2.5"
+      sources."mkdirp-classic-0.5.3"
+      sources."ms-2.1.2"
+      sources."nan-2.15.0"
+      sources."napi-build-utils-1.0.2"
+      sources."node-abi-2.30.0"
+      sources."noop-logger-0.1.1"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."parse-entities-1.2.2"
+      sources."prebuild-install-5.3.6"
+      sources."process-nextick-args-2.0.1"
+      sources."pump-3.0.0"
+      sources."rc-1.2.8"
+      sources."readable-stream-2.3.7"
+      sources."reflect-metadata-0.1.13"
+      sources."remark-frontmatter-1.3.3"
+      sources."remark-parse-5.0.0"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-1.0.0"
+      sources."safe-buffer-5.1.2"
+      sources."semver-5.7.1"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.3"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-3.1.0"
+      sources."state-toggle-1.0.3"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."structured-source-3.0.2"
+      sources."tar-fs-2.1.1"
+      (sources."tar-stream-2.2.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."traverse-0.6.6"
+      sources."tree-sitter-0.17.2"
+      sources."tree-sitter-beancount-1.0.0"
+      sources."trim-0.0.1"
+      sources."trim-trailing-lines-1.1.4"
+      sources."trough-1.0.5"
+      sources."tslib-1.14.1"
+      sources."tsyringe-4.6.0"
+      sources."tunnel-agent-0.6.0"
+      sources."underscore-1.12.1"
+      sources."unherit-1.1.3"
+      sources."unified-6.2.0"
+      sources."unist-util-is-3.0.0"
+      sources."unist-util-remove-position-1.1.4"
+      sources."unist-util-stringify-position-1.1.2"
+      sources."unist-util-visit-1.4.1"
+      sources."unist-util-visit-parents-2.1.2"
+      sources."update-section-0.3.3"
+      sources."util-deprecate-1.0.2"
+      sources."vfile-2.3.0"
+      sources."vfile-location-2.0.6"
+      sources."vfile-message-1.1.1"
+      sources."vscode-jsonrpc-6.0.0"
+      sources."vscode-languageserver-7.0.0"
+      sources."vscode-languageserver-protocol-3.16.0"
+      sources."vscode-languageserver-textdocument-1.0.1"
+      sources."vscode-languageserver-types-3.16.0"
+      sources."vscode-uri-2.1.2"
+      sources."web-tree-sitter-0.17.1"
+      sources."which-pm-runs-1.0.0"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."x-is-string-0.1.0"
+      sources."xtend-4.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A Language Server Protocol (LSP) for beancount files";
+      homepage = "https://github.com/bryall/beancount-language-server#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   bower = nodeEnv.buildNodePackage {
     name = "bower";
     packageName = "bower";
@@ -70720,7 +71738,7 @@ in
       sources."lodash-4.17.21"
       sources."lru-cache-6.0.0"
       sources."map-obj-4.2.1"
-      (sources."markdown-it-12.1.0" // {
+      (sources."markdown-it-12.2.0" // {
         dependencies = [
           sources."argparse-2.0.1"
           sources."entities-2.1.0"
@@ -70755,7 +71773,7 @@ in
       })
       sources."ms-2.0.0"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."negotiator-0.6.2"
       sources."normalize-package-data-3.0.2"
@@ -70948,7 +71966,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -71354,10 +72372,10 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.0-beta.34";
+    version = "1.0.0-beta.35";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.0-beta.34.tgz";
-      sha512 = "a46brzT/snqVY0abj4qv+HLY7poqpc9VFlE/E7wHQzSR1BLAr+ysudLfn33YJt6fNvHRlfhIIqh1zXL0JelvPA==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.0-beta.35.tgz";
+      sha512 = "gmIhIZyAJyEi/2GV6wmLF/HGswJK+pxWijH1jS/WPgcJHRaeaIMysrdsCWpucVA6Zz/OwgrmG1Fp09gZAKdskw==";
     };
     dependencies = [
       sources."@jsii/spec-1.32.0"
@@ -71382,7 +72400,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.29.3"
-      sources."constructs-3.3.111"
+      sources."constructs-3.3.113"
       sources."date-format-3.0.0"
       sources."debug-4.3.2"
       sources."decamelize-5.0.0"
@@ -71456,13 +72474,13 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.313" // {
+      (sources."jsii-srcmak-0.1.315" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.3.0"
-      sources."json2jsii-0.1.283"
+      sources."json2jsii-0.1.285"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -71498,7 +72516,7 @@ in
       sources."snake-case-3.0.4"
       sources."sort-json-2.0.0"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.34"
+      sources."sscaff-1.2.36"
       (sources."streamroller-2.2.4" // {
         dependencies = [
           sources."date-format-2.1.0"
@@ -71553,7 +72571,7 @@ in
       sha512 = "53HldFlYJdptaQ9yZyx8xuN0pxmBwI7yaVImmPwGmauoOYWsO89YrAjyPIiAaR+GWI8avbQeg3jz5Z1Q+MoIGA==";
     };
     dependencies = [
-      sources."@apollo/client-3.4.1"
+      sources."@apollo/client-3.4.4"
       (sources."@apollo/protobufjs-1.2.2" // {
         dependencies = [
           sources."@types/node-10.17.60"
@@ -71594,19 +72612,19 @@ in
           sources."tslib-2.2.0"
         ];
       })
-      (sources."@graphql-tools/merge-6.2.16" // {
+      (sources."@graphql-tools/merge-6.2.17" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.0.1"
+          sources."@graphql-tools/utils-8.0.2"
         ];
       })
-      (sources."@graphql-tools/mock-8.1.6" // {
+      (sources."@graphql-tools/mock-8.1.7" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.0.1"
+          sources."@graphql-tools/utils-8.0.2"
         ];
       })
-      (sources."@graphql-tools/schema-8.0.1" // {
+      (sources."@graphql-tools/schema-8.0.2" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.0.1"
+          sources."@graphql-tools/utils-8.0.2"
         ];
       })
       (sources."@graphql-tools/utils-7.10.0" // {
@@ -71640,7 +72658,7 @@ in
       sources."@types/express-serve-static-core-4.17.24"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-14.17.7"
+      sources."@types/node-14.17.9"
       sources."@types/node-fetch-2.5.12"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
@@ -71669,16 +72687,14 @@ in
       sources."apollo-graphql-0.9.3"
       sources."apollo-reporting-protobuf-3.0.0"
       sources."apollo-server-caching-3.0.1"
-      (sources."apollo-server-core-3.1.1" // {
+      (sources."apollo-server-core-3.1.2" // {
         dependencies = [
-          sources."@graphql-tools/schema-7.1.5"
-          sources."tslib-2.2.0"
-          sources."value-or-promise-1.0.6"
+          sources."@graphql-tools/utils-8.0.2"
         ];
       })
       sources."apollo-server-env-4.0.3"
       sources."apollo-server-errors-3.0.1"
-      sources."apollo-server-express-3.1.1"
+      sources."apollo-server-express-3.1.2"
       sources."apollo-server-plugin-base-3.1.1"
       sources."apollo-server-types-3.1.1"
       sources."archiver-5.3.0"
@@ -71761,7 +72777,7 @@ in
         ];
       })
       sources."concat-map-0.0.1"
-      sources."constructs-3.3.111"
+      sources."constructs-3.3.113"
       (sources."content-disposition-0.5.3" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -71960,7 +72976,7 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.313" // {
+      (sources."jsii-srcmak-0.1.315" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -72118,7 +73134,7 @@ in
       sources."sort-json-2.0.0"
       sources."source-map-0.5.7"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.34"
+      sources."sscaff-1.2.36"
       (sources."stack-utils-2.0.3" // {
         dependencies = [
           sources."escape-string-regexp-2.0.0"
@@ -72157,7 +73173,7 @@ in
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      sources."ts-invariant-0.9.0"
+      sources."ts-invariant-0.9.1"
       sources."tslib-2.3.0"
       sources."type-fest-0.15.1"
       sources."type-is-1.6.18"
@@ -72460,10 +73476,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.18.11";
+    version = "0.18.12";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.18.11.tgz";
-      sha512 = "L16wPMe5iDrprv5JNlTBtTd3WmRM+kLN9u+lQTDFpj0t6WxE16WzCm2Ktl1jzgpGY+xcdGakbZAL2y9bLXaJqg==";
+      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.18.12.tgz";
+      sha512 = "zVTZb+SUwBt6ZljFG+u+vBMj+DLr4IEDqjpBsgnZ+tOldKSbPUtsvbeXOR/PxkLN4unxKxaZBkG1BaP34YrYpw==";
     };
     dependencies = [
       sources."@sindresorhus/df-3.1.1"
@@ -72913,7 +73929,7 @@ in
       sources."string_decoder-1.1.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."traverse-0.3.9"
       sources."tslib-2.3.0"
       sources."unbox-primitive-1.0.1"
@@ -72985,7 +74001,7 @@ in
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@types/eslint-visitor-keys-1.0.0"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@typescript-eslint/experimental-utils-3.10.1"
       sources."@typescript-eslint/parser-3.10.1"
       sources."@typescript-eslint/types-3.10.1"
@@ -73149,7 +74165,7 @@ in
       sources."domutils-1.7.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
@@ -74156,7 +75172,7 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
@@ -74198,7 +75214,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -74644,7 +75660,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.32.0"
-      (sources."eslint-plugin-vue-7.15.0" // {
+      (sources."eslint-plugin-vue-7.15.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -75574,7 +76590,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."systeminformation-4.34.23"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -75665,7 +76681,7 @@ in
       sources."@types/glob-7.1.4"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -76036,7 +77052,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -76696,7 +77712,7 @@ in
       sources."multistream-2.1.1"
       sources."mute-stream-0.0.8"
       sources."mutexify-1.3.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanoassert-1.1.0"
       sources."nanobus-4.5.0"
       sources."nanoguard-1.3.0"
@@ -76734,7 +77750,7 @@ in
       sources."os-homedir-1.0.2"
       sources."p-finally-1.0.0"
       sources."package-json-4.0.1"
-      sources."parse-headers-2.0.3"
+      sources."parse-headers-2.0.4"
       sources."pascalcase-0.1.1"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
@@ -77155,7 +78171,7 @@ in
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.17.7"
+      sources."@types/node-14.17.9"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.4"
@@ -77354,7 +78370,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.2"
       sources."abbrev-1.1.1"
@@ -77852,7 +78868,7 @@ in
       sources."sudo-prompt-9.2.1"
       sources."sumchecker-3.0.1"
       sources."supports-color-7.2.0"
-      (sources."tar-6.1.2" // {
+      (sources."tar-6.1.6" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."fs-minipass-2.1.0"
@@ -78007,7 +79023,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
@@ -78026,7 +79042,7 @@ in
       sources."auto-bind-4.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.2" // {
         dependencies = [
@@ -78079,7 +79095,7 @@ in
       })
       sources."defer-to-connect-2.0.1"
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -78363,14 +79379,14 @@ in
       sources."@types/caseless-0.12.2"
       sources."@types/chart.js-2.9.24"
       sources."@types/connect-3.4.35"
-      sources."@types/engine.io-3.1.6"
+      sources."@types/engine.io-3.1.7"
       sources."@types/express-4.17.8"
       sources."@types/express-serve-static-core-4.17.24"
       sources."@types/fancy-log-1.3.0"
       sources."@types/glob-7.1.4"
       sources."@types/hls.js-0.13.1"
       sources."@types/js-yaml-3.12.5"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/lodash-4.14.161"
       sources."@types/material-design-lite-1.1.16"
       sources."@types/mime-1.3.2"
@@ -78589,7 +79605,7 @@ in
           sources."minizlib-2.1.2"
           sources."p-map-4.0.0"
           sources."rimraf-3.0.2"
-          sources."tar-6.1.2"
+          sources."tar-6.1.6"
         ];
       })
       sources."cache-base-1.0.1"
@@ -79297,7 +80313,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       (sources."needle-2.8.0" // {
         dependencies = [
@@ -79601,7 +80617,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (sources."sass-1.37.0" // {
+      (sources."sass-1.37.5" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -80343,10 +81359,10 @@ in
   esy = nodeEnv.buildNodePackage {
     name = "esy";
     packageName = "esy";
-    version = "0.6.10";
+    version = "0.6.11";
     src = fetchurl {
-      url = "https://registry.npmjs.org/esy/-/esy-0.6.10.tgz";
-      sha512 = "O+mWNPB9NJqDr3CA1PUbWUO1ZSy53ksZWivGrvbquATR5INlp3CYguwkq4BzZACg1s1bVYyhr7byjB/l1nuGRA==";
+      url = "https://registry.npmjs.org/esy/-/esy-0.6.11.tgz";
+      sha512 = "LyrQWS/c7FYwjmgSlmYcj7w7as40iVuF6aCSHKMAZq1xgmdpjorQ7OEqg35ZUf8+xpUgKnDx4HrA3scdnfRTnA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -80380,7 +81396,7 @@ in
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.14.5"
       (sources."@babel/helper-compilation-targets-7.14.5" // {
         dependencies = [
-          sources."browserslist-4.16.6"
+          sources."browserslist-4.16.7"
           sources."semver-6.3.0"
         ];
       })
@@ -80672,7 +81688,7 @@ in
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/keyv-3.1.2"
       sources."@types/minimatch-3.0.5"
       sources."@types/node-9.6.61"
@@ -81029,7 +82045,7 @@ in
       sources."core-js-2.6.12"
       (sources."core-js-compat-3.16.0" // {
         dependencies = [
-          sources."browserslist-4.16.6"
+          sources."browserslist-4.16.7"
           sources."semver-7.0.0"
         ];
       })
@@ -81161,7 +82177,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -81726,7 +82742,7 @@ in
       sources."multicast-dns-service-types-1.1.0"
       sources."mv-2.1.1"
       sources."mz-2.7.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."ncp-2.0.0"
       (sources."needle-2.8.0" // {
@@ -82440,7 +83456,7 @@ in
       })
       sources."symbol-observable-1.2.0"
       sources."tapable-1.1.3"
-      (sources."tar-6.1.2" // {
+      (sources."tar-6.1.6" // {
         dependencies = [
           sources."minipass-3.1.3"
           sources."mkdirp-1.0.4"
@@ -82883,7 +83899,7 @@ in
       sources."@babel/traverse-7.14.9"
       sources."@babel/types-7.14.9"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.9.2"
       sources."@types/yoga-layout-1.9.2"
@@ -82902,7 +83918,7 @@ in
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
       sources."caller-callsite-2.0.0"
@@ -82935,7 +83951,7 @@ in
       })
       sources."delay-5.0.0"
       sources."devtools-protocol-0.0.869402"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -83786,10 +84802,10 @@ in
       sources."@types/archiver-5.3.0"
       sources."@types/duplexify-3.6.0"
       sources."@types/glob-7.1.4"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/long-4.0.1"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -83879,7 +84895,7 @@ in
       (sources."cacache-15.2.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
-          sources."tar-6.1.2"
+          sources."tar-6.1.6"
         ];
       })
       (sources."cacheable-request-6.1.0" // {
@@ -84138,7 +85154,7 @@ in
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
       sources."google-auth-library-6.1.6"
-      (sources."google-gax-2.20.0" // {
+      (sources."google-gax-2.21.1" // {
         dependencies = [
           sources."google-auth-library-7.4.1"
         ];
@@ -84331,7 +85347,7 @@ in
       })
       sources."ms-2.1.2"
       sources."mute-stream-0.0.7"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nash-3.0.0" // {
         dependencies = [
           sources."async-1.5.2"
@@ -84348,7 +85364,7 @@ in
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."semver-7.3.5"
-          sources."tar-6.1.2"
+          sources."tar-6.1.6"
           sources."which-2.0.2"
         ];
       })
@@ -84895,7 +85911,7 @@ in
     dependencies = [
       sources."@types/atob-2.1.2"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/through-0.0.30"
       sources."ajv-6.12.6"
       sources."ansi-escapes-4.3.2"
@@ -85019,7 +86035,7 @@ in
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
-      sources."parse-headers-2.0.3"
+      sources."parse-headers-2.0.4"
       sources."path-exists-4.0.0"
       sources."performance-now-2.1.0"
       sources."process-0.11.10"
@@ -85324,7 +86340,7 @@ in
       })
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       (sources."nconf-0.6.9" // {
         dependencies = [
@@ -85579,10 +86595,10 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "3.10.0";
+    version = "3.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-3.10.0.tgz";
-      sha512 = "RgHTA2qdxhdUugoi+S6BCv6LFDYxuV7P8QfbG0QRmmIAybtmpgfse6oLspWgtXwR4liRDZh/hRgwVA4y48JmlA==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-3.11.0.tgz";
+      sha512 = "jrC1VqQHCR4N++if2bZm+iVUpdCazfZgVK0FPnmTb6Uq3xqEqS5agZR9HeE/FV8ebQ1h6/4MfFt9XsSG4Z6TFw==";
     };
     dependencies = [
       (sources."@ardatan/aggregate-error-0.0.6" // {
@@ -85669,7 +86685,7 @@ in
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@tokenizer/token-0.1.1"
+      sources."@tokenizer/token-0.3.0"
       sources."@turist/fetch-7.1.7"
       sources."@turist/time-0.0.1"
       sources."@types/common-tags-1.8.1"
@@ -85677,7 +86693,7 @@ in
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-patch-0.0.30"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/node-fetch-2.5.12"
       sources."@types/unist-2.0.6"
       sources."@types/yargs-15.0.14"
@@ -85732,7 +86748,7 @@ in
       })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."bytes-3.1.0"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
@@ -85805,7 +86821,7 @@ in
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
       sources."cors-2.8.5"
-      sources."create-gatsby-1.10.0"
+      sources."create-gatsby-1.11.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -85840,7 +86856,7 @@ in
       sources."dotenv-8.6.0"
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-7.0.3"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -85892,7 +86908,7 @@ in
       })
       sources."fast-copy-2.1.1"
       sources."figures-3.2.0"
-      sources."file-type-16.5.2"
+      sources."file-type-16.5.3"
       sources."fill-range-7.0.1"
       sources."filter-obj-1.1.0"
       (sources."finalhandler-1.1.2" // {
@@ -85911,13 +86927,13 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-2.10.0"
-      (sources."gatsby-recipes-0.21.0" // {
+      sources."gatsby-core-utils-2.11.0"
+      (sources."gatsby-recipes-0.22.0" // {
         dependencies = [
           sources."strip-ansi-6.0.0"
         ];
       })
-      sources."gatsby-telemetry-2.10.0"
+      sources."gatsby-telemetry-2.11.0"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -86111,7 +87127,7 @@ in
       sources."path-key-2.0.1"
       sources."path-parse-1.0.7"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-3.1.4"
+      sources."peek-readable-4.0.1"
       sources."picomatch-2.3.0"
       sources."pkg-dir-4.2.0"
       sources."prepend-http-2.0.0"
@@ -86146,7 +87162,7 @@ in
       sources."readable-stream-3.6.0"
       sources."readable-web-to-node-stream-3.0.2"
       sources."readdirp-3.6.0"
-      sources."redux-4.1.0"
+      sources."redux-4.1.1"
       sources."regenerator-runtime-0.13.9"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
@@ -86241,7 +87257,7 @@ in
       sources."strip-final-newline-2.0.0"
       sources."strip-indent-3.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."strtok3-6.1.3"
+      sources."strtok3-6.2.4"
       sources."style-to-object-0.3.0"
       sources."supports-color-5.5.0"
       sources."term-size-2.2.1"
@@ -86251,7 +87267,7 @@ in
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
-      sources."token-types-3.1.0"
+      sources."token-types-4.1.1"
       sources."trim-0.0.1"
       sources."trim-trailing-lines-1.1.4"
       sources."trough-1.0.5"
@@ -86599,10 +87615,10 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "4.2.0";
+    version = "4.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.2.0.tgz";
-      sha512 = "tpmDCrNmPrb1z5hauKtxXxYdHaV4+K4AjZqkzyQzDcV6tpUSBwYMGu66pFpw7g0Ux4QnE0pYSsdh3efDfYv1Pg==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.4.1.tgz";
+      sha512 = "+T6OUPejA5b1c+fuZ0yjdVVBhj0Js6rAieAtgi3ZLtJ0QpNzVI2rvNOiSaDyip3GpiLMTuNmH83G5mcOzrU+8w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -87027,15 +88043,15 @@ in
         ];
       })
       sources."@graphql-tools/load-6.2.4"
-      (sources."@graphql-tools/merge-6.2.16" // {
+      (sources."@graphql-tools/merge-6.2.17" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.0.1"
+          sources."@graphql-tools/utils-8.0.2"
           sources."tslib-2.3.0"
         ];
       })
-      (sources."@graphql-tools/schema-8.0.1" // {
+      (sources."@graphql-tools/schema-8.0.2" // {
         dependencies = [
-          sources."@graphql-tools/utils-8.0.1"
+          sources."@graphql-tools/utils-8.0.2"
           sources."tslib-2.3.0"
         ];
       })
@@ -87066,7 +88082,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -87812,7 +88828,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.7.14"
+      sources."systeminformation-5.8.0"
       sources."term-canvas-0.0.5"
       sources."type-fest-0.21.3"
       sources."wordwrap-0.0.3"
@@ -88099,7 +89115,7 @@ in
       })
       sources."ms-2.0.0"
       sources."mute-stdout-1.0.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."next-tick-1.0.0"
       sources."normalize-package-data-2.5.0"
@@ -89303,7 +90319,7 @@ in
       })
       sources."moment-2.29.1"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."once-1.4.0"
       sources."optimist-0.6.1"
@@ -89368,7 +90384,7 @@ in
       sha512 = "56gjTrj9SMfPkbGANfqtGYeY3G5KmCkpgEYlKkmiDNG+SpQtLT9/53gt/9CbYd5iT9GgP+IvGXwDWplgCz3NnA==";
     };
     dependencies = [
-      sources."@jcubic/lily-0.1.0"
+      sources."@jcubic/lily-0.2.0"
       sources."@types/jquery-3.5.6"
       sources."@types/sizzle-2.3.3"
       sources."ansidec-0.3.4"
@@ -89397,7 +90413,7 @@ in
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
       sources."jquery-3.6.0"
-      sources."jquery.terminal-2.27.1"
+      sources."jquery.terminal-2.28.1"
       sources."jsonfile-2.4.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
@@ -90268,7 +91284,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.958.0" // {
+      (sources."aws-sdk-2.961.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -90298,7 +91314,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."builtin-modules-3.2.0"
@@ -90465,7 +91481,7 @@ in
         ];
       })
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       (sources."emphasize-1.5.0" // {
         dependencies = [
@@ -90822,7 +91838,7 @@ in
       sources."md5-file-4.0.0"
       sources."mdurl-1.0.1"
       sources."merge2-1.4.1"
-      sources."mermaid-8.11.2"
+      sources."mermaid-8.11.3"
       sources."micromatch-4.0.4"
       sources."mime-db-1.49.0"
       sources."mime-types-2.1.32"
@@ -92106,7 +93122,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -92688,7 +93704,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-4.3.0"
@@ -93834,19 +94850,19 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-9.2.0"
+      sources."@octokit/openapi-types-9.4.0"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
-      sources."@octokit/plugin-paginate-rest-2.14.0"
+      sources."@octokit/plugin-paginate-rest-2.15.0"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.5.2"
+      sources."@octokit/plugin-rest-endpoint-methods-5.7.0"
       (sources."@octokit/request-5.6.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.7.2"
-      sources."@octokit/types-6.22.0"
+      sources."@octokit/rest-18.9.0"
+      sources."@octokit/types-6.24.0"
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
@@ -94386,7 +95402,7 @@ in
       sources."strip-indent-3.0.0"
       sources."strong-log-transformer-2.1.0"
       sources."supports-color-7.2.0"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."temp-dir-1.0.0"
       (sources."temp-write-4.0.0" // {
         dependencies = [
@@ -94710,7 +95726,7 @@ in
       sources."mixin-deep-1.3.2"
       sources."morgan-1.10.0"
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."negotiator-0.6.2"
       sources."normalize-path-3.0.0"
@@ -95111,7 +96127,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -95502,8 +96518,8 @@ in
       sources."@types/istanbul-lib-coverage-2.0.3"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-16.4.10"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-16.4.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.14"
@@ -95660,7 +96676,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."bser-2.1.1"
       sources."buffer-5.2.1"
       sources."buffer-from-1.1.2"
@@ -95800,7 +96816,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -96083,7 +97099,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."ncp-2.0.0"
       sources."neo-async-2.6.2"
@@ -97146,7 +98162,7 @@ in
       sources."@percy/config-1.0.0-beta.62"
       sources."@percy/logger-1.0.0-beta.62"
       sources."@percy/migrate-0.10.0"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/parse-json-4.0.0"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
@@ -97178,7 +98194,7 @@ in
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
@@ -97272,10 +98288,10 @@ in
       sources."defaults-1.0.3"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
-      sources."devtools-protocol-0.0.883894"
+      sources."devtools-protocol-0.0.901419"
       sources."dir-glob-3.0.1"
       sources."dompurify-2.3.0"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -97442,7 +98458,7 @@ in
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."merge2-1.4.1"
-      sources."mermaid-8.11.2"
+      sources."mermaid-8.11.3"
       sources."micromatch-4.0.4"
       sources."mimic-fn-2.1.0"
       sources."minimatch-3.0.4"
@@ -97503,7 +98519,7 @@ in
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."puppeteer-10.1.0"
+      sources."puppeteer-10.2.0"
       sources."queue-microtask-1.2.3"
       sources."readable-stream-3.6.0"
       (sources."recast-0.20.5" // {
@@ -97671,20 +98687,20 @@ in
       sha512 = "seHSVEn7JJbOEuYD8T8UmqZcYT1iLCFp2mMA/+UyhcpRICLzClF9uQX3beAuHCZUymO3FBwdEjN4Ky5qd2kbHw==";
     };
     dependencies = [
-      sources."@fluentui/date-time-utilities-8.2.1"
-      sources."@fluentui/dom-utilities-2.1.3"
-      sources."@fluentui/font-icons-mdl2-8.1.7"
-      sources."@fluentui/foundation-legacy-8.1.7"
-      sources."@fluentui/keyboard-key-0.3.3"
-      sources."@fluentui/merge-styles-8.1.3"
+      sources."@fluentui/date-time-utilities-8.2.2"
+      sources."@fluentui/dom-utilities-2.1.4"
+      sources."@fluentui/font-icons-mdl2-8.1.8"
+      sources."@fluentui/foundation-legacy-8.1.8"
+      sources."@fluentui/keyboard-key-0.3.4"
+      sources."@fluentui/merge-styles-8.1.4"
       sources."@fluentui/react-8.23.8"
-      sources."@fluentui/react-focus-8.1.9"
-      sources."@fluentui/react-hooks-8.2.5"
-      sources."@fluentui/react-window-provider-2.1.3"
-      sources."@fluentui/set-version-8.1.3"
-      sources."@fluentui/style-utilities-8.2.1"
-      sources."@fluentui/theme-2.2.0"
-      sources."@fluentui/utilities-8.2.1"
+      sources."@fluentui/react-focus-8.1.10"
+      sources."@fluentui/react-hooks-8.2.6"
+      sources."@fluentui/react-window-provider-2.1.4"
+      sources."@fluentui/set-version-8.1.4"
+      sources."@fluentui/style-utilities-8.2.2"
+      sources."@fluentui/theme-2.2.1"
+      sources."@fluentui/utilities-8.2.2"
       sources."@microsoft/load-themed-styles-1.10.197"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
@@ -98273,10 +99289,10 @@ in
   netlify-cli = nodeEnv.buildNodePackage {
     name = "netlify-cli";
     packageName = "netlify-cli";
-    version = "5.4.1";
+    version = "6.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-5.4.1.tgz";
-      sha512 = "Eoc/5wAH6D1sAWOhfdbim3H0IQNDcQDmXzxWqKkaa3TuOIvImysEbQz0Qr5njQUKwTvVoQ4zSnmdim8uK0SkJg==";
+      url = "https://registry.npmjs.org/netlify-cli/-/netlify-cli-6.0.3.tgz";
+      sha512 = "cm07sqQpSYmHjk1j//geep75fc3NRX0KO7Jr0S8H43OZyFrdY4G8VfAfukMBwVXie/aEfFw1CcgA8yiFMq+7pw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
@@ -98410,18 +99426,25 @@ in
       sources."@dabh/diagnostics-2.0.2"
       sources."@jest/types-24.9.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
-      (sources."@netlify/build-17.4.1" // {
+      (sources."@netlify/build-17.9.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."boxen-4.2.0"
-          sources."chalk-3.0.0"
+          (sources."boxen-4.2.0" // {
+            dependencies = [
+              sources."chalk-3.0.0"
+            ];
+          })
           sources."execa-3.4.0"
           sources."is-plain-obj-2.1.0"
           sources."locate-path-5.0.0"
           sources."resolve-2.0.0-next.3"
           sources."semver-6.3.0"
           sources."type-fest-0.8.1"
-          sources."update-notifier-4.1.3"
+          (sources."update-notifier-4.1.3" // {
+            dependencies = [
+              sources."chalk-3.0.0"
+            ];
+          })
         ];
       })
       (sources."@netlify/cache-utils-2.0.0" // {
@@ -98432,10 +99455,8 @@ in
           sources."slash-3.0.0"
         ];
       })
-      (sources."@netlify/config-14.1.0" // {
+      (sources."@netlify/config-14.4.1" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
           sources."dot-prop-5.3.0"
           sources."execa-3.4.0"
           sources."find-up-4.1.0"
@@ -98444,7 +99465,7 @@ in
         ];
       })
       sources."@netlify/esbuild-0.13.6"
-      (sources."@netlify/framework-info-5.7.2" // {
+      (sources."@netlify/framework-info-5.8.0" // {
         dependencies = [
           sources."p-limit-3.1.0"
           sources."p-locate-5.0.0"
@@ -98477,17 +99498,17 @@ in
       sources."@netlify/open-api-2.5.0"
       (sources."@netlify/plugin-edge-handlers-1.11.22" // {
         dependencies = [
-          sources."@types/node-14.17.7"
+          sources."@types/node-14.17.9"
         ];
       })
-      sources."@netlify/plugins-list-2.21.0"
+      sources."@netlify/plugins-list-3.2.1"
       sources."@netlify/routing-local-proxy-0.31.0"
       (sources."@netlify/run-utils-2.0.0" // {
         dependencies = [
           sources."execa-3.4.0"
         ];
       })
-      (sources."@netlify/zip-it-and-ship-it-4.15.1" // {
+      (sources."@netlify/zip-it-and-ship-it-4.16.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -98614,18 +99635,18 @@ in
         ];
       })
       sources."@octokit/graphql-4.6.4"
-      sources."@octokit/openapi-types-9.2.0"
-      sources."@octokit/plugin-paginate-rest-2.14.0"
+      sources."@octokit/openapi-types-9.4.0"
+      sources."@octokit/plugin-paginate-rest-2.15.0"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-5.5.2"
+      sources."@octokit/plugin-rest-endpoint-methods-5.7.0"
       (sources."@octokit/request-5.6.0" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
       sources."@octokit/request-error-2.1.0"
-      sources."@octokit/rest-18.7.2"
-      sources."@octokit/types-6.22.0"
+      sources."@octokit/rest-18.9.0"
+      sources."@octokit/types-6.24.0"
       sources."@rollup/plugin-babel-5.3.0"
       (sources."@rollup/plugin-commonjs-18.1.0" // {
         dependencies = [
@@ -98662,7 +99683,7 @@ in
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/keyv-3.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/node-fetch-2.5.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-1.17.1"
@@ -98670,8 +99691,8 @@ in
       sources."@types/semver-7.3.8"
       sources."@types/yargs-13.0.12"
       sources."@types/yargs-parser-20.2.1"
-      sources."@typescript-eslint/types-4.28.5"
-      (sources."@typescript-eslint/typescript-estree-4.28.5" // {
+      sources."@typescript-eslint/types-4.29.0"
+      (sources."@typescript-eslint/typescript-estree-4.29.0" // {
         dependencies = [
           sources."@nodelib/fs.stat-2.0.5"
           sources."array-union-2.1.0"
@@ -98688,7 +99709,7 @@ in
           sources."to-regex-range-5.0.1"
         ];
       })
-      sources."@typescript-eslint/visitor-keys-4.28.5"
+      sources."@typescript-eslint/visitor-keys-4.29.0"
       sources."@ungap/from-entries-0.2.1"
       sources."accepts-1.3.7"
       sources."acorn-8.4.1"
@@ -98791,7 +99812,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -99086,7 +100107,7 @@ in
       })
       sources."duplexer3-0.1.4"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."elegant-spinner-1.0.1"
       sources."elf-cam-0.1.1"
       sources."emoji-regex-8.0.0"
@@ -100361,7 +101382,7 @@ in
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."util-deprecate-1.0.2"
@@ -100544,7 +101565,7 @@ in
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."negotiator-0.6.2"
       (sources."node-pre-gyp-0.6.39" // {
         dependencies = [
@@ -100815,7 +101836,7 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
@@ -101344,7 +102365,7 @@ in
         ];
       })
       sources."strip-ansi-3.0.1"
-      (sources."tar-6.1.2" // {
+      (sources."tar-6.1.6" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
@@ -101575,7 +102596,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -102400,7 +103421,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
@@ -102923,7 +103944,7 @@ in
           sources."pako-1.0.11"
         ];
       })
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -103078,7 +104099,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -103324,7 +104345,7 @@ in
       })
       sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."define-property-2.0.2"
@@ -103869,7 +104890,7 @@ in
       sources."ms-2.0.0"
       sources."msgpack5-3.6.1"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access"
       sources."neo-async-2.6.2"
@@ -105126,7 +106147,7 @@ in
       sources."statuses-1.5.0"
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
-      sources."systeminformation-5.7.14"
+      sources."systeminformation-5.8.0"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
       sources."tslib-2.3.0"
@@ -106318,9 +107339,9 @@ in
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.1.4"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -106474,7 +107495,7 @@ in
         ];
       })
       sources."browserify-zlib-0.1.4"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -106737,7 +107758,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -107162,7 +108183,7 @@ in
       sources."multicast-dns-service-types-1.1.0"
       sources."mutation-observer-1.0.3"
       sources."mute-stream-0.0.7"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."negotiator-0.6.2"
       sources."neo-async-2.6.2"
@@ -108128,12 +109149,12 @@ in
       sources."@redocly/ajv-8.6.2"
       (sources."@redocly/openapi-core-1.0.0-beta.54" // {
         dependencies = [
-          sources."@types/node-14.17.7"
+          sources."@types/node-14.17.9"
         ];
       })
       sources."@redocly/react-dropdown-aria-2.0.12"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-15.14.5"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-15.14.7"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -108661,20 +109682,20 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/estree-0.0.39"
       sources."@types/glob-7.1.4"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/minimatch-3.0.5"
       sources."@types/mocha-8.2.3"
-      sources."@types/node-14.17.7"
+      sources."@types/node-14.17.9"
       sources."@types/node-fetch-2.5.12"
       sources."@types/resolve-1.17.1"
       sources."@types/vscode-1.58.1"
-      sources."@typescript-eslint/eslint-plugin-4.28.5"
-      sources."@typescript-eslint/experimental-utils-4.28.5"
-      sources."@typescript-eslint/parser-4.28.5"
-      sources."@typescript-eslint/scope-manager-4.28.5"
-      sources."@typescript-eslint/types-4.28.5"
-      sources."@typescript-eslint/typescript-estree-4.28.5"
-      sources."@typescript-eslint/visitor-keys-4.28.5"
+      sources."@typescript-eslint/eslint-plugin-4.29.0"
+      sources."@typescript-eslint/experimental-utils-4.29.0"
+      sources."@typescript-eslint/parser-4.29.0"
+      sources."@typescript-eslint/scope-manager-4.29.0"
+      sources."@typescript-eslint/types-4.29.0"
+      sources."@typescript-eslint/typescript-estree-4.29.0"
+      sources."@typescript-eslint/visitor-keys-4.29.0"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.2"
@@ -109143,10 +110164,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.37.0";
+    version = "1.37.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.37.0.tgz";
-      sha512 = "B+Tu6cSAG8ffs/cqsZl/bgSH2pCmavDaPTYAoW8QA1qNHh/RqndNfVKuABKYkLjUQ5aq/BnCENVpE80cqdSM1w==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.37.5.tgz";
+      sha512 = "Cx3ewxz9QB/ErnVIiWg2cH0kiYZ0FPvheDTVC6BsiEGBTZKKZJ1Gq5Kq6jy3PKtL6+EJ8NIoaBW/RSd2R6cZOA==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -109316,10 +110337,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "2.52.1";
+    version = "2.53.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-2.52.1.tgz";
-      sha512 = "aDMJiSyCxqbJCt7011L0rMsxkd1lHSz8HotUiQWE8dFFqm3txZ1MpEy01bOLx4n35Qnyj1F8g+jmT9x+WnI2ZQ==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-2.53.0.tgz";
+      sha512 = "2srJa55dQY4kx+aNGkevvZbJ/8j/C1TLD3AvZdpqgrRPNG41yfl1B3V/pXMmq5sfdpx09Fr8JOeNRgUgJUq7Aw==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -109404,14 +110425,14 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tencent-sdk/capi-1.1.8"
-      sources."@tokenizer/token-0.1.1"
+      sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/caseless-0.12.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
-      sources."@types/lodash-4.14.171"
+      sources."@types/lodash-4.14.172"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/request-2.48.7"
       sources."@types/request-promise-native-1.0.18"
       sources."@types/responselike-1.0.0"
@@ -109472,7 +110493,7 @@ in
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.958.0" // {
+      (sources."aws-sdk-2.961.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -109701,7 +110722,7 @@ in
       sources."fd-slicer-1.1.0"
       sources."fecha-4.2.1"
       sources."figures-3.2.0"
-      sources."file-type-16.5.2"
+      sources."file-type-16.5.3"
       sources."file-uri-to-path-1.0.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
@@ -109899,7 +110920,7 @@ in
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanoid-2.1.11"
       sources."napi-build-utils-1.0.2"
       sources."native-promise-only-0.8.1"
@@ -109947,7 +110968,7 @@ in
       sources."path-loader-1.0.10"
       sources."path-type-4.0.0"
       sources."path2-0.1.0"
-      sources."peek-readable-3.1.4"
+      sources."peek-readable-4.0.1"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."picomatch-2.3.0"
@@ -110058,7 +111079,7 @@ in
       sources."strip-dirs-2.1.0"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.1.3"
+      sources."strtok3-6.2.4"
       (sources."superagent-3.8.3" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -110090,7 +111111,7 @@ in
           sources."untildify-3.0.3"
         ];
       })
-      (sources."tar-6.1.2" // {
+      (sources."tar-6.1.6" // {
         dependencies = [
           sources."chownr-2.0.0"
           sources."mkdirp-1.0.4"
@@ -110119,7 +111140,7 @@ in
       sources."to-buffer-1.1.1"
       sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
-      sources."token-types-3.1.0"
+      sources."token-types-4.1.1"
       sources."tough-cookie-2.5.0"
       sources."traverse-0.6.6"
       sources."trim-repeated-1.0.0"
@@ -110730,7 +111751,7 @@ in
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."negotiator-0.5.3"
       sources."node-uuid-1.4.8"
@@ -110827,10 +111848,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.673.0";
+    version = "1.675.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.673.0.tgz";
-      sha512 = "qu6UpvUaC+NbHCvdA6COYHzb/S5fPiJrPDMQP7q1lEVAi0JnXASJrYuUVheAz+Uh8G4SPiQCAu5EimuPUf8fkg==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.675.0.tgz";
+      sha512 = "J5ZvEiaAIRdyFrIjS1OnfQs5vKLG0SNPJmeg/GuTA9z8L/gqtTXUsnCrnmpQ8Y2y7L3LRyjh9VXx7G0QC9rlWA==";
     };
     dependencies = [
       sources."@arcanis/slice-ansi-1.0.2"
@@ -110843,9 +111864,14 @@ in
       sources."@sindresorhus/is-4.0.1"
       sources."@snyk/child-process-0.3.1"
       sources."@snyk/cli-interface-2.11.0"
-      sources."@snyk/cloud-config-parser-1.9.3"
+      sources."@snyk/cloud-config-parser-1.10.1"
       sources."@snyk/cocoapods-lockfile-parser-3.6.2"
-      sources."@snyk/code-client-3.9.0"
+      (sources."@snyk/code-client-4.0.0" // {
+        dependencies = [
+          sources."debug-3.2.7"
+          sources."needle-2.8.0"
+        ];
+      })
       sources."@snyk/composer-lockfile-parser-1.4.1"
       (sources."@snyk/dep-graph-1.28.1" // {
         dependencies = [
@@ -110863,11 +111889,13 @@ in
       (sources."@snyk/fix-pipenv-pipfile-0.5.4" // {
         dependencies = [
           sources."debug-4.3.1"
+          sources."ms-2.1.2"
         ];
       })
       (sources."@snyk/fix-poetry-0.7.2" // {
         dependencies = [
           sources."debug-4.3.1"
+          sources."ms-2.1.2"
         ];
       })
       sources."@snyk/gemfile-1.2.0"
@@ -110917,9 +111945,10 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/js-yaml-3.12.7"
       sources."@types/keyv-3.1.2"
-      sources."@types/lodash-4.14.171"
+      sources."@types/lodash-4.14.172"
       sources."@types/lodash.chunk-4.2.6"
       sources."@types/lodash.omit-4.5.6"
+      sources."@types/lodash.pick-4.4.6"
       sources."@types/lodash.union-4.6.6"
       sources."@types/minimatch-3.0.5"
       sources."@types/ms-0.7.31"
@@ -110982,7 +112011,6 @@ in
       sources."asap-2.0.6"
       sources."asn1-0.2.4"
       sources."async-3.2.0"
-      sources."axios-0.21.1"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
@@ -111046,7 +112074,11 @@ in
         ];
       })
       sources."crypto-random-string-2.0.0"
-      sources."debug-4.3.2"
+      (sources."debug-4.3.2" // {
+        dependencies = [
+          sources."ms-2.1.2"
+        ];
+      })
       (sources."decompress-response-6.0.0" // {
         dependencies = [
           sources."mimic-response-3.1.0"
@@ -111100,7 +112132,6 @@ in
       sources."fastq-1.11.1"
       sources."figures-3.2.0"
       sources."fill-range-7.0.1"
-      sources."follow-redirects-1.14.1"
       sources."fs-constants-1.0.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
@@ -111212,6 +112243,7 @@ in
       sources."lodash.merge-4.6.2"
       sources."lodash.omit-4.5.0"
       sources."lodash.orderby-4.6.0"
+      sources."lodash.pick-4.4.0"
       sources."lodash.reduce-4.6.0"
       sources."lodash.set-4.3.2"
       sources."lodash.size-4.2.0"
@@ -111246,7 +112278,7 @@ in
       sources."minipass-3.1.3"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
-      sources."ms-2.1.2"
+      sources."ms-2.1.3"
       sources."multimatch-5.0.0"
       sources."mute-stream-0.0.8"
       (sources."needle-2.6.0" // {
@@ -111483,7 +112515,7 @@ in
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."tar-stream-2.2.0"
       sources."temp-dir-2.0.0"
       (sources."tempy-1.0.1" // {
@@ -111572,7 +112604,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."accepts-1.3.7"
       sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
@@ -112192,7 +113224,7 @@ in
           sources."rimraf-2.4.5"
         ];
       })
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."arr-diff-4.0.0"
@@ -112773,7 +113805,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.958.0" // {
+      (sources."aws-sdk-2.961.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -112900,7 +113932,7 @@ in
       sources."drange-1.1.1"
       (sources."dtrace-provider-0.8.8" // {
         dependencies = [
-          sources."nan-2.14.2"
+          sources."nan-2.15.0"
         ];
       })
       sources."ecc-jsbn-0.1.2"
@@ -113556,10 +114588,10 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.14.5"
-      sources."@babel/compat-data-7.14.9"
+      sources."@babel/compat-data-7.15.0"
       sources."@babel/core-7.14.8"
       sources."@babel/generator-7.14.9"
-      sources."@babel/helper-compilation-targets-7.14.5"
+      sources."@babel/helper-compilation-targets-7.15.0"
       sources."@babel/helper-function-name-7.14.5"
       sources."@babel/helper-get-function-arity-7.14.5"
       sources."@babel/helper-hoist-variables-7.14.5"
@@ -113578,10 +114610,10 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.14.9"
+      sources."@babel/parser-7.15.0"
       sources."@babel/template-7.14.5"
       sources."@babel/traverse-7.14.9"
-      sources."@babel/types-7.14.9"
+      sources."@babel/types-7.15.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -113607,7 +114639,7 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
@@ -113649,7 +114681,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -113882,16 +114914,16 @@ in
   svelte-language-server = nodeEnv.buildNodePackage {
     name = "svelte-language-server";
     packageName = "svelte-language-server";
-    version = "0.14.4";
+    version = "0.14.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.4.tgz";
-      sha512 = "ldw4/YQR/gpI29Sgv+u/zkHTIMKn2ohpSvfORmDm2H85fNa/Dw8fUoqK080GbVol32sYO8ThzNKkheBjUT0mCw==";
+      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.5.tgz";
+      sha512 = "oHbbJx5x25ztVm+EIyXwWB2rCb+fgfNV7izSb/hjlI6jHXpmcHcu6pIXGxx9JI3PWj18nLyzvKfTE/Nr6p8mpw==";
     };
     dependencies = [
       sources."@emmetio/abbreviation-2.2.2"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/pug-2.0.5"
       sources."@types/sass-1.16.1"
       sources."anymatch-3.1.2"
@@ -113934,7 +114966,7 @@ in
       sources."strip-indent-3.0.0"
       sources."svelte-3.38.3"
       sources."svelte-preprocess-4.7.4"
-      sources."svelte2tsx-0.4.3"
+      sources."svelte2tsx-0.4.4"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.3.0"
       sources."typescript-4.3.5"
@@ -113967,13 +114999,13 @@ in
   svelte-check = nodeEnv.buildNodePackage {
     name = "svelte-check";
     packageName = "svelte-check";
-    version = "2.2.3";
+    version = "2.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.2.3.tgz";
-      sha512 = "mqe/lgF0Ew+54YI4bPW5D26sMolh+MofQiz41U0c1GvUsP3bKsLLH0mjs4P4Xc+ajUFJtvGBo5PWaf0dd46sIQ==";
+      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.2.4.tgz";
+      sha512 = "eGEuZ3UEanOhlpQhICLjKejDxcZ9uYJlGnBGKAPW7uugolaBE6HpEBIiKFZN/TMRFFHQUURgGvsVn8/HJUBfeQ==";
     };
     dependencies = [
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/pug-2.0.5"
       sources."@types/sass-1.16.1"
       sources."ansi-styles-4.3.0"
@@ -114428,7 +115460,7 @@ in
       sources."ms-2.0.0"
       sources."multer-1.4.2"
       sources."mute-stream-0.0.5"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."native-promise-only-0.8.1"
       sources."neo-async-2.6.2"
@@ -116121,7 +117153,7 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
@@ -116560,10 +117592,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.131.1";
+    version = "0.131.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.131.1.tgz";
-      sha512 = "1vojiLBfH7e2GZDEzFBfmzU0b/5uraxdg630PcVCRdzgGOttGe6HmG+n71lLCZZnPOxU9f7UVPiSkKPMsyiB/A==";
+      url = "https://registry.npmjs.org/three/-/three-0.131.3.tgz";
+      sha512 = "VkZAv8ZTJqiE/fyEmoWLxcNHImpVcjqW7RO0GzMu3tRpwO0KUvK9pjTmJzJcAbc51BOeB2G38zh80yjHTbP8gQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -116795,7 +117827,7 @@ in
       sources."mooremachine-2.3.0"
       sources."mute-stream-0.0.8"
       sources."mv-2.1.1"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."ncp-2.0.0"
       sources."once-1.3.2"
       sources."path-is-absolute-1.0.1"
@@ -117136,7 +118168,7 @@ in
       sources."@types/component-emitter-1.2.10"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-14.17.7"
+      sources."@types/node-14.17.9"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."ansi-regex-5.0.0"
@@ -117408,6 +118440,157 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  unified-language-server = nodeEnv.buildNodePackage {
+    name = "unified-language-server";
+    packageName = "unified-language-server";
+    version = "0.3.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-0.3.0.tgz";
+      sha512 = "N+ENrder8z9zJQF9UM7K3/1LcfVW60omqeyaQsu6GN1BGdCgPm8gdHssn7WRD7vx+ABKc82IE1+pJyHOPkwe+w==";
+    };
+    dependencies = [
+      sources."@types/node-16.4.10"
+      sources."@types/unist-2.0.6"
+      sources."@types/vfile-3.0.2"
+      sources."@types/vfile-message-2.0.0"
+      sources."array-iterate-1.1.4"
+      sources."bail-1.0.5"
+      sources."character-entities-1.2.4"
+      sources."character-entities-legacy-1.1.4"
+      sources."character-reference-invalid-1.1.4"
+      sources."co-3.1.0"
+      sources."collapse-white-space-1.0.6"
+      sources."dictionary-en-gb-2.3.0"
+      sources."extend-3.0.2"
+      sources."inherits-2.0.4"
+      sources."irregular-plurals-2.0.0"
+      sources."is-alphabetical-1.0.4"
+      sources."is-alphanumerical-1.0.4"
+      sources."is-buffer-2.0.5"
+      sources."is-decimal-1.0.4"
+      sources."is-hexadecimal-1.0.4"
+      sources."is-plain-obj-1.1.0"
+      sources."is-whitespace-character-1.0.4"
+      sources."is-word-character-1.0.4"
+      sources."lodash.includes-4.3.0"
+      sources."markdown-escapes-1.0.4"
+      sources."mdast-comment-marker-1.1.2"
+      sources."mdast-util-heading-style-1.0.6"
+      sources."mdast-util-to-nlcst-3.2.3"
+      sources."mdast-util-to-string-1.1.0"
+      sources."nlcst-is-literal-1.2.2"
+      sources."nlcst-to-string-2.0.4"
+      sources."nspell-2.1.5"
+      sources."parse-english-4.2.0"
+      sources."parse-entities-1.2.2"
+      sources."parse-latin-4.3.0"
+      sources."plur-3.1.1"
+      sources."quotation-1.1.3"
+      sources."remark-lint-6.0.6"
+      sources."remark-lint-blockquote-indentation-1.0.4"
+      sources."remark-lint-code-block-style-1.0.4"
+      sources."remark-lint-definition-case-1.0.5"
+      sources."remark-lint-definition-spacing-1.0.5"
+      sources."remark-lint-emphasis-marker-1.0.4"
+      sources."remark-lint-fenced-code-flag-1.0.4"
+      sources."remark-lint-fenced-code-marker-1.0.4"
+      sources."remark-lint-file-extension-1.0.5"
+      sources."remark-lint-final-definition-1.0.4"
+      sources."remark-lint-hard-break-spaces-1.0.5"
+      sources."remark-lint-heading-increment-1.0.4"
+      sources."remark-lint-heading-style-1.0.4"
+      sources."remark-lint-link-title-style-1.0.5"
+      sources."remark-lint-list-item-content-indent-1.0.4"
+      sources."remark-lint-list-item-indent-1.0.5"
+      sources."remark-lint-list-item-spacing-1.1.4"
+      sources."remark-lint-maximum-heading-length-1.0.4"
+      sources."remark-lint-maximum-line-length-1.2.2"
+      sources."remark-lint-no-auto-link-without-protocol-1.0.4"
+      sources."remark-lint-no-blockquote-without-marker-2.0.4"
+      sources."remark-lint-no-consecutive-blank-lines-1.0.4"
+      sources."remark-lint-no-duplicate-headings-1.0.5"
+      sources."remark-lint-no-emphasis-as-heading-1.0.4"
+      sources."remark-lint-no-file-name-articles-1.0.5"
+      sources."remark-lint-no-file-name-consecutive-dashes-1.0.5"
+      sources."remark-lint-no-file-name-irregular-characters-1.0.5"
+      sources."remark-lint-no-file-name-mixed-case-1.0.5"
+      sources."remark-lint-no-file-name-outer-dashes-1.0.6"
+      sources."remark-lint-no-heading-punctuation-1.0.4"
+      sources."remark-lint-no-inline-padding-1.0.5"
+      sources."remark-lint-no-literal-urls-1.0.4"
+      sources."remark-lint-no-multiple-toplevel-headings-1.0.5"
+      sources."remark-lint-no-shell-dollars-1.0.4"
+      sources."remark-lint-no-shortcut-reference-image-1.0.4"
+      sources."remark-lint-no-shortcut-reference-link-1.0.5"
+      sources."remark-lint-no-table-indentation-1.0.5"
+      sources."remark-lint-ordered-list-marker-style-1.0.4"
+      sources."remark-lint-ordered-list-marker-value-1.0.5"
+      sources."remark-lint-rule-style-1.0.4"
+      sources."remark-lint-strong-marker-1.0.4"
+      sources."remark-lint-table-cell-padding-1.0.5"
+      sources."remark-lint-table-pipe-alignment-1.0.4"
+      sources."remark-lint-table-pipes-1.0.4"
+      sources."remark-lint-unordered-list-marker-style-1.0.4"
+      sources."remark-message-control-4.2.0"
+      sources."remark-parse-6.0.3"
+      sources."remark-preset-lint-markdown-style-guide-2.1.4"
+      sources."remark-retext-3.1.3"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-1.0.0"
+      sources."retext-6.0.2"
+      sources."retext-english-3.0.4"
+      sources."retext-latin-2.0.4"
+      sources."retext-spell-2.4.1"
+      sources."retext-stringify-2.0.4"
+      sources."sliced-1.0.1"
+      sources."state-toggle-1.0.3"
+      sources."trim-0.0.1"
+      sources."trim-trailing-lines-1.1.4"
+      sources."trough-1.0.5"
+      sources."unherit-1.1.3"
+      sources."unified-7.1.0"
+      sources."unified-lint-rule-1.0.6"
+      sources."unified-message-control-1.0.4"
+      sources."unist-util-generated-1.1.6"
+      sources."unist-util-is-3.0.0"
+      sources."unist-util-modify-children-2.0.0"
+      sources."unist-util-position-3.1.0"
+      sources."unist-util-remove-position-1.1.4"
+      sources."unist-util-stringify-position-2.0.3"
+      sources."unist-util-visit-1.4.1"
+      sources."unist-util-visit-children-1.1.4"
+      sources."unist-util-visit-parents-2.1.2"
+      (sources."vfile-3.0.1" // {
+        dependencies = [
+          sources."unist-util-stringify-position-1.1.2"
+          sources."vfile-message-1.1.1"
+        ];
+      })
+      sources."vfile-location-2.0.6"
+      (sources."vfile-message-3.0.1" // {
+        dependencies = [
+          sources."unist-util-stringify-position-3.0.0"
+        ];
+      })
+      sources."vscode-jsonrpc-4.0.0"
+      sources."vscode-languageserver-5.2.1"
+      sources."vscode-languageserver-protocol-3.14.1"
+      sources."vscode-languageserver-types-3.14.0"
+      sources."vscode-uri-1.0.8"
+      sources."wrapped-1.0.1"
+      sources."x-is-string-0.1.0"
+      sources."xtend-4.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A language server for spoken languages using retext";
+      homepage = "https://github.com/aecepoglu/retext-language-server";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   vega-cli = nodeEnv.buildNodePackage {
     name = "vega-cli";
     packageName = "vega-cli";
@@ -117496,7 +118679,7 @@ in
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."node-fetch-2.6.1"
       sources."nopt-5.0.0"
       sources."npmlog-4.1.2"
@@ -117521,7 +118704,7 @@ in
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       sources."topojson-client-3.1.0"
       sources."util-deprecate-1.0.2"
       sources."vega-5.20.2"
@@ -117705,7 +118888,7 @@ in
       sources."enquirer-2.3.6"
       sources."escape-string-regexp-4.0.0"
       sources."eslint-7.32.0"
-      (sources."eslint-plugin-vue-7.15.0" // {
+      (sources."eslint-plugin-vue-7.15.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -118014,7 +119197,7 @@ in
       sources."@types/eslint-7.28.0"
       sources."@types/eslint-scope-3.7.1"
       sources."@types/estree-0.0.50"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
       sources."@types/vscode-1.58.1"
@@ -118041,6 +119224,7 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."acorn-8.4.1"
+      sources."acorn-import-assertions-1.7.6"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -118056,7 +119240,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
@@ -118101,7 +119285,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.2.0"
       sources."domutils-2.7.0"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."enhanced-resolve-5.8.2"
@@ -118310,7 +119494,7 @@ in
       sources."vscode-debugadapter-testsupport-1.48.0"
       sources."vscode-debugprotocol-1.48.0"
       sources."watchpack-2.2.0"
-      sources."webpack-5.47.1"
+      sources."webpack-5.48.0"
       (sources."webpack-cli-4.7.2" // {
         dependencies = [
           sources."commander-7.2.0"
@@ -118667,7 +119851,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -119709,7 +120893,7 @@ in
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."node-fetch-2.6.1"
       sources."nopt-5.0.0"
       sources."npmlog-4.1.2"
@@ -119749,7 +120933,7 @@ in
       sources."svg-pathdata-5.0.5"
       sources."svg2img-0.9.3"
       sources."symbol-tree-3.2.4"
-      sources."tar-6.1.2"
+      sources."tar-6.1.6"
       (sources."tough-cookie-4.0.0" // {
         dependencies = [
           sources."universalify-0.1.2"
@@ -119839,7 +121023,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/yauzl-2.9.1"
       sources."acorn-7.4.1"
       sources."acorn-jsx-5.3.2"
@@ -120180,7 +121364,7 @@ in
         ];
       })
       sources."mz-2.7.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanoid-3.1.23"
       sources."natural-compare-1.4.0"
       sources."natural-compare-lite-1.4.0"
@@ -120392,17 +121576,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.47.1";
+    version = "5.48.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.47.1.tgz";
-      sha512 = "cW+Mzy9SCDapFV4OrkHuP6EFV2mAsiQd+gOa3PKtHNoKg6qPqQXZzBlHH+CnQG1osplBCqwsJZ8CfGO6XWah0g==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.48.0.tgz";
+      sha512 = "CGe+nfbHrYzbk7SKoYITCgN3LRAG0yVddjNUecz9uugo1QtYdiyrVD8nP1PhkNqPfdxC2hknmmKpP355Epyn6A==";
     };
     dependencies = [
       sources."@types/eslint-7.28.0"
       sources."@types/eslint-scope-3.7.1"
       sources."@types/estree-0.0.50"
-      sources."@types/json-schema-7.0.8"
-      sources."@types/node-16.4.10"
+      sources."@types/json-schema-7.0.9"
+      sources."@types/node-16.4.12"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -120421,15 +121605,16 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."acorn-8.4.1"
+      sources."acorn-import-assertions-1.7.6"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.16.6"
+      sources."browserslist-4.16.7"
       sources."buffer-from-1.1.2"
       sources."caniuse-lite-1.0.30001248"
       sources."chrome-trace-event-1.0.3"
       sources."colorette-1.2.2"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.3.792"
+      sources."electron-to-chromium-1.3.795"
       sources."enhanced-resolve-5.8.2"
       sources."es-module-lexer-0.7.1"
       sources."escalade-3.1.1"
@@ -120566,7 +121751,7 @@ in
     dependencies = [
       sources."@types/glob-7.1.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."accepts-1.3.7"
       sources."ajv-6.12.6"
       sources."ajv-errors-1.0.1"
@@ -120857,7 +122042,7 @@ in
       sources."ms-2.0.0"
       sources."multicast-dns-6.2.3"
       sources."multicast-dns-service-types-1.1.0"
-      sources."nan-2.14.2"
+      sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
       sources."negotiator-0.6.2"
       sources."nice-try-1.0.5"
@@ -121148,7 +122333,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/json-schema-7.0.8"
+      sources."@types/json-schema-7.0.9"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."array-union-2.1.0"
@@ -121220,7 +122405,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
       sources."ansi-regex-5.0.0"
@@ -121472,13 +122657,9 @@ in
       sources."stream-to-blob-2.0.1"
       sources."stream-to-blob-url-3.0.2"
       sources."stream-with-known-length-to-buffer-1.0.4"
-      sources."streamx-2.10.3"
+      sources."streamx-2.11.0"
       sources."string-width-4.2.2"
-      (sources."string2compact-1.3.0" // {
-        dependencies = [
-          sources."ipaddr.js-1.9.1"
-        ];
-      })
+      sources."string2compact-1.3.2"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.0"
       sources."supports-color-7.2.0"
@@ -121698,7 +122879,7 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/expect-1.20.4"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-15.14.5"
+      sources."@types/node-15.14.7"
       sources."@types/vinyl-2.0.5"
       sources."abbrev-1.1.1"
       (sources."agent-base-6.0.2" // {
@@ -122404,7 +123585,7 @@ in
         ];
       })
       sources."taketalk-1.0.0"
-      (sources."tar-6.1.2" // {
+      (sources."tar-6.1.6" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
@@ -122587,7 +123768,7 @@ in
     dependencies = [
       sources."@types/fs-extra-9.0.12"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.4.10"
+      sources."@types/node-16.4.12"
       sources."@types/node-fetch-2.5.12"
       sources."ansi-styles-4.3.0"
       sources."asynckit-0.4.0"
diff --git a/pkgs/development/ocaml-modules/lens/default.nix b/pkgs/development/ocaml-modules/lens/default.nix
index 8910a873812..c9cd5572bc7 100644
--- a/pkgs/development/ocaml-modules/lens/default.nix
+++ b/pkgs/development/ocaml-modules/lens/default.nix
@@ -1,18 +1,20 @@
-{ lib, fetchzip, ppx_deriving, ppxfind, buildDunePackage, ounit }:
+{ lib, fetchFromGitHub, ppx_deriving, ppxlib, buildDunePackage, ounit }:
 
 buildDunePackage rec {
   pname = "lens";
-  version = "1.2.4";
+  version = "1.2.5";
 
   useDune2 = true;
 
-  src = fetchzip {
-    url = "https://github.com/pdonadeo/ocaml-lens/archive/v${version}.tar.gz";
-    sha256 = "18mv7n5rcix3545mc2qa2f9xngks4g4kqj2g878qj7r3cy96kklv";
+  src = fetchFromGitHub {
+    owner = "pdonadeo";
+    repo = "ocaml-lens";
+    rev = "v${version}";
+    sha256 = "1k23n7pa945fk6nbaq6nlkag5kg97wsw045ghz4gqp8b9i2im3vn";
   };
 
-  minimumOCamlVersion = "4.10";
-  buildInputs = [ ppx_deriving ppxfind ];
+  minimalOCamlVersion = "4.10";
+  buildInputs = [ ppx_deriving ppxlib ];
 
   doCheck = true;
   checkInputs = [ ounit ];
@@ -24,6 +26,5 @@ buildDunePackage rec {
     maintainers = with maintainers; [
       kazcw
     ];
-    broken = true; # Not compatible with ppx_deriving ≥ 5.0
   };
 }
diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix
index f984a28869e..3357b99cebf 100644
--- a/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/pkgs/development/ocaml-modules/llvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchpatch, python, cmake, libllvm, ocaml, findlib, ctypes }:
+{ stdenv, lib, python, cmake, libllvm, ocaml, findlib, ctypes }:
 
 let version = lib.getVersion libllvm; in
 
@@ -12,12 +12,8 @@ stdenv.mkDerivation {
   buildInputs = [ python ocaml findlib ctypes ];
   propagatedBuildInputs = [ libllvm ];
 
-  patches = [ (fetchpatch {
-    url = "https://raw.githubusercontent.com/ocaml/opam-repository/2bdc193f5a9305ea93bf0f0dfc1fbc327c8b9306/packages/llvm/llvm.7.0.0/files/fix-shared.patch";
-    sha256 = "1p98j3b1vrryfn1xa7i50m6mmm4dyw5ldafq6kyh9sfmdihz4zsx";
-  })];
-
   cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=YES" # fixes bytecode builds
     "-DLLVM_OCAML_OUT_OF_TREE=TRUE"
     "-DLLVM_OCAML_INSTALL_PATH=${placeholder "out"}/ocaml"
     "-DLLVM_OCAML_EXTERNAL_LLVM_LIBDIR=${lib.getLib libllvm}/lib"
@@ -31,6 +27,7 @@ stdenv.mkDerivation {
     mkdir -p $OCAMLFIND_DESTDIR/
     mv $out/ocaml $OCAMLFIND_DESTDIR/llvm
     mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,}
+    mv $OCAMLFIND_DESTDIR/llvm/stublibs $OCAMLFIND_DESTDIR/stublibs
   '';
 
   passthru = {
diff --git a/pkgs/development/python-modules/aiowinreg/default.nix b/pkgs/development/python-modules/aiowinreg/default.nix
index 3bfbbf7c12b..59a2483d02e 100644
--- a/pkgs/development/python-modules/aiowinreg/default.nix
+++ b/pkgs/development/python-modules/aiowinreg/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "aiowinreg";
-  version = "0.0.6";
+  version = "0.0.7";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0h0r9xrz1n8y75f2p21f7phqrlpsymyiipmgzr0lj591irzjmjjy";
+    sha256 = "1p88q2b6slm1sw3234r40s9jd03fqlkcx8y3iwg6ihf0z4ww14d1";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/deemix/default.nix b/pkgs/development/python-modules/deemix/default.nix
new file mode 100644
index 00000000000..b34c54d91f1
--- /dev/null
+++ b/pkgs/development/python-modules/deemix/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, spotipy
+, click
+, pycryptodomex
+, mutagen
+, requests
+, deezer-py
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "deemix";
+  version = "3.4.1";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-FGzMFJOoKQPNq4tGI1KsMO+i9iBZhoz5Z67BFLEuv48=";
+  };
+
+  propagatedBuildInputs = [
+    spotipy
+    click
+    pycryptodomex
+    mutagen
+    requests
+    deezer-py
+  ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [
+    "spotipy"
+    "click"
+    "Cryptodome"
+    "mutagen"
+    "requests"
+    "deezer"
+  ];
+
+  meta = with lib; {
+    homepage = "https://git.freezer.life/RemixDev/deemix-py";
+    description = "Deezer downloader built from the ashes of Deezloader Remix";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ natto1784 ];
+  };
+}
diff --git a/pkgs/development/python-modules/deezer-py/default.nix b/pkgs/development/python-modules/deezer-py/default.nix
new file mode 100644
index 00000000000..de5c076a428
--- /dev/null
+++ b/pkgs/development/python-modules/deezer-py/default.nix
@@ -0,0 +1,30 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "deezer-py";
+  version = "1.1.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-EAiGMSLrRsF03FMLkizy3Fm+nAldSTxe9KdXFFep0iQ=";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # Project has no tests
+  doCheck = false;
+  pythonImportsCheck = [ "requests" ];
+
+  meta = with lib; {
+    homepage = "https://gitlab.com/RemixDev/deezer-py";
+    description = "A wrapper for all Deezer's APIs";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ natto1784 ];
+  };
+}
diff --git a/pkgs/development/python-modules/embrace/default.nix b/pkgs/development/python-modules/embrace/default.nix
new file mode 100644
index 00000000000..414425ed6f2
--- /dev/null
+++ b/pkgs/development/python-modules/embrace/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchFromSourcehut, sqlparse, wrapt, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "embrace";
+  version = "4.0.0";
+
+  src = fetchFromSourcehut {
+    vc = "hg";
+    owner = "~olly";
+    repo = "embrace-sql";
+    rev = "v${version}-release";
+    sha256 = "sha256-G/7FeKlMbOWobQOpD7/0JiTFpf8oWZ1TxPpDS9wrKMo=";
+  };
+
+  propagatedBuildInputs = [ sqlparse wrapt ];
+  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [ "embrace" ];
+
+  meta = with lib; {
+    description = "Embrace SQL keeps your SQL queries in SQL files";
+    homepage = "https://pypi.org/project/embrace/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pacien ];
+  };
+}
diff --git a/pkgs/development/python-modules/httpx-ntlm/default.nix b/pkgs/development/python-modules/httpx-ntlm/default.nix
new file mode 100644
index 00000000000..b3ac17cf7f0
--- /dev/null
+++ b/pkgs/development/python-modules/httpx-ntlm/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, cryptography
+, fetchPypi
+, httpx
+, ntlm-auth
+}:
+
+buildPythonPackage rec {
+  pname = "httpx-ntlm";
+  version = "0.0.10";
+
+  src = fetchPypi {
+    pname = "httpx_ntlm";
+    inherit version;
+    sha256 = "1rar6smz56y8k5qbgrpabpr639nwvf6whdi093hyakf0m3h9cpfz";
+  };
+
+  propagatedBuildInputs = [
+    cryptography
+    httpx
+    ntlm-auth
+  ];
+
+  # https://github.com/ulodciv/httpx-ntlm/issues/5
+  doCheck = false;
+
+  pythonImportsCheck = [ "httpx_ntlm" ];
+
+  meta = with lib; {
+    description = "NTLM authentication support for HTTPX";
+    homepage = "https://github.com/ulodciv/httpx-ntlm";
+    license = licenses.isc;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
new file mode 100644
index 00000000000..f73d81cc6aa
--- /dev/null
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, async-timeout
+, buildPythonPackage
+, curio
+, fetchFromGitHub
+, flask
+, httpcore
+, httpx
+, pytest-asyncio
+, pytest-trio
+, pytestCheckHook
+, python-socks
+, pythonOlder
+, sniffio
+, trio
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "httpx-socks";
+  version = "0.4.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "romis2012";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1rz69z5fcw7d5nzy5q2q0r9gxrsqijgpg70cnyr5br6xnfgy01ar";
+  };
+
+  propagatedBuildInputs = [
+    async-timeout
+    curio
+    httpcore
+    httpx
+    python-socks
+    sniffio
+    trio
+  ];
+
+  checkInputs = [
+    flask
+    pytest-asyncio
+    pytest-trio
+    pytestCheckHook
+    yarl
+  ];
+
+  pythonImportsCheck = [ "httpx_socks" ];
+
+  meta = with lib; {
+    description = "Proxy (HTTP, SOCKS) transports for httpx";
+    homepage = "https://github.com/romis2012/httpx-socks";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index e5db065defc..6a9300566d5 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, brotli
+, brotlicffi
 , certifi
 , h2
 , httpcore
@@ -11,25 +11,25 @@
 , pytestCheckHook
 , pytest-asyncio
 , pytest-trio
-, pytest-cov
+, typing-extensions
 , trustme
 , uvicorn
 }:
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.18.0";
+  version = "0.18.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6EYBTRXaVHBgW/JzZvWLz55AqgocOyym2FVtu2Nkp/U=";
+    sha256 = "0rr5b6z96yipvp4riqmmbkbcy0sdyzykcdwf5y9ryh27pxr8q8x4";
   };
 
   propagatedBuildInputs = [
-    brotli
+    brotlicffi
     certifi
     h2
     httpcore
@@ -41,8 +41,8 @@ buildPythonPackage rec {
     pytestCheckHook
     pytest-asyncio
     pytest-trio
-    pytest-cov
     trustme
+    typing-extensions
     uvicorn
   ];
 
@@ -62,6 +62,6 @@ buildPythonPackage rec {
     description = "The next generation HTTP client";
     homepage = "https://github.com/encode/httpx";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc fab ];
   };
 }
diff --git a/pkgs/development/python-modules/notmuch/2.nix b/pkgs/development/python-modules/notmuch/2.nix
index bde039836ff..bd195b52d44 100644
--- a/pkgs/development/python-modules/notmuch/2.nix
+++ b/pkgs/development/python-modules/notmuch/2.nix
@@ -10,7 +10,7 @@ buildPythonPackage {
   pname = "notmuch2";
   inherit (notmuch) version src;
 
-  sourceRoot = "${notmuch.src.name}/bindings/python-cffi";
+  sourceRoot = "notmuch-${notmuch.version}/bindings/python-cffi";
 
   buildInputs = [ python notmuch cffi ];
 
diff --git a/pkgs/development/python-modules/pyfakewebcam/default.nix b/pkgs/development/python-modules/pyfakewebcam/default.nix
new file mode 100644
index 00000000000..1ef1d2df474
--- /dev/null
+++ b/pkgs/development/python-modules/pyfakewebcam/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildPythonPackage, fetchPypi, numpy, opencv4 }:
+
+buildPythonPackage rec {
+  pname = "pyfakewebcam";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "152nglscxmv7600i1i2gahny5z0bybnqgq3npak8npb0lsnwxn1a";
+  };
+
+  propagatedBuildInputs = [ numpy opencv4 ];
+
+  # No tests are available
+  doCheck = false;
+  pythonImportsCheck = [ "pyfakewebcam" ];
+
+  meta = with lib; {
+    description = "A library for writing RGB frames to a fake webcam device on Linux";
+    homepage = "https://github.com/jremmons/pyfakewebcam";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ angustrau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/python-modules/pypykatz/default.nix b/pkgs/development/python-modules/pypykatz/default.nix
index f4eafdcb4fc..2e2bd7def65 100644
--- a/pkgs/development/python-modules/pypykatz/default.nix
+++ b/pkgs/development/python-modules/pypykatz/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pypykatz";
-  version = "0.5.0";
+  version = "0.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1p8v4Qi0MNqMUpcErWnxveYu4d4N5BUBCDBsw1xX96I=";
+    sha256 = "1lyvypi1g4l9fq1f9q05bdn6vq8y5y9ghmb6ziqdycr0lxn7lfdd";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-lsp-server/default.nix b/pkgs/development/python-modules/python-lsp-server/default.nix
index 90ab506d651..9c6b8c31e12 100644
--- a/pkgs/development/python-modules/python-lsp-server/default.nix
+++ b/pkgs/development/python-modules/python-lsp-server/default.nix
@@ -26,14 +26,14 @@
 
 buildPythonPackage rec {
   pname = "python-lsp-server";
-  version = "1.1.0";
+  version = "1.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "python-lsp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1akdpfnylqg2mcwpkqmdwcg6j6hab23slp5rfjfidhphig2f2yjv";
+    sha256 = "09wnnbf7lqqni6xkpzzk7nmcqjm5bx49xqzmp5fkb9jk50ivcrdz";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyverilog/default.nix b/pkgs/development/python-modules/pyverilog/default.nix
new file mode 100644
index 00000000000..8e41d26921f
--- /dev/null
+++ b/pkgs/development/python-modules/pyverilog/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, jinja2
+, ply
+, verilog
+, pytest-pythonpath
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pyverilog";
+  version = "1.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1a74k8r21swmfwvgv4c014y6nbcyl229fspxw89ygsgb0j83xnar";
+  };
+
+  disabled = pythonOlder "3.7";
+
+  patchPhase = ''
+    # The path to Icarus can still be overridden via an environment variable at runtime.
+    substituteInPlace pyverilog/vparser/preprocessor.py \
+      --replace "iverilog = 'iverilog'" "iverilog = '${verilog}/bin/iverilog'"
+  '';
+
+  propagatedBuildInputs = [
+    jinja2
+    ply
+    verilog
+  ];
+
+  checkInputs = [
+    pytest-pythonpath
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/PyHDI/Pyverilog";
+    description = "Python-based Hardware Design Processing Toolkit for Verilog HDL";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ trepetti ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix
index 4c06728a419..b9b983666a8 100644
--- a/pkgs/development/python-modules/pyvicare/default.nix
+++ b/pkgs/development/python-modules/pyvicare/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pyvicare";
-  version = "1.1";
+  version = "2.4";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "somm15";
     repo = "PyViCare";
     rev = version;
-    sha256 = "1mkbz1gl8bv4j7q82cbc9d3dzx80brzdwrcp8z3kma1b91ig99bk";
+    sha256 = "1lih5hdyc3y0ickvfxd0gdgqv19zmqsfrnlxfwg8aqr73hl3ca8z";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index 0a3fa27a808..0d7f509b4a0 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -3,40 +3,46 @@
 , fetchFromGitHub
 , httpcore
 , httpx
+, flask
 , pytest-asyncio
-, pytest-cov
 , pytestCheckHook
+, starlette
 , trio
 }:
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.17.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    sha256 = "sha256-unGAIsslGXOUHXr0FKzC9bX6+Q3mNGZ9Z/dtjz0gkj4=";
+    sha256 = "0w8idh6l2iq04ydz7r2qisq9jsxq8wszkx97kx4g3yjwg4ypvc6k";
   };
 
-  # Coverage is under 100 % due to the excluded tests
-  postPatch = ''
-    substituteInPlace setup.cfg --replace "--cov-fail-under 100" ""
-  '';
-
-  propagatedBuildInputs = [ httpx ];
+  propagatedBuildInputs = [
+    httpx
+  ];
 
   checkInputs = [
     httpcore
     httpx
+    flask
     pytest-asyncio
-    pytest-cov
     pytestCheckHook
+    starlette
     trio
   ];
 
-  disabledTests = [ "test_pass_through" ];
+  postPatch = ''
+    sed -i "/--cov/d" setup.cfg
+  '';
+
+  disabledTests = [
+    "test_pass_through"
+  ];
+
   pythonImportsCheck = [ "respx" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/solc-select/default.nix b/pkgs/development/python-modules/solc-select/default.nix
new file mode 100644
index 00000000000..e51f1cd143f
--- /dev/null
+++ b/pkgs/development/python-modules/solc-select/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "solc-select";
+  version = "0.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-6VawTcffIgnR+zuC4rti+Ocwu1VMTX+VihT/L7LzchI=";
+  };
+
+  # no tests
+  doCheck = false;
+  pythonImportsCheck = [ "solc_select" ];
+
+  meta = with lib; {
+    description = "Manage and switch between Solidity compiler versions";
+    homepage = "https://github.com/crytic/solc-select";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ arturcygan ];
+  };
+}
diff --git a/pkgs/development/python-modules/streaming-form-data/default.nix b/pkgs/development/python-modules/streaming-form-data/default.nix
new file mode 100644
index 00000000000..2f52d4aeb30
--- /dev/null
+++ b/pkgs/development/python-modules/streaming-form-data/default.nix
@@ -0,0 +1,34 @@
+{ lib, fetchFromGitHub, buildPythonPackage, pythonOlder,
+cython, numpy, pytest, requests-toolbelt }:
+
+buildPythonPackage rec {
+  pname = "streaming-form-data";
+  version = "1.8.1";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "siddhantgoel";
+    repo = "streaming-form-data";
+    rev = "v${version}";
+    sha256 = "1wnak8gwkc42ihgf0g9r7r858hxbqav2xdgqa8azid8v2ff6iq4d";
+  };
+
+  nativeBuildInputs = [ cython ];
+
+  propagatedBuildInputs = [ requests-toolbelt ];
+
+  checkInputs = [ numpy pytest ];
+
+  checkPhase = ''
+    make test
+  '';
+
+  pythonImportsCheck = [ "streaming_form_data" ];
+
+  meta = with lib; {
+    description = "Streaming parser for multipart/form-data";
+    homepage = "https://github.com/siddhantgoel/streaming-form-data";
+    license = licenses.mit;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/pkgs/development/python-modules/yalesmartalarmclient/default.nix b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
index ce0dc34c0b4..201a1636f17 100644
--- a/pkgs/development/python-modules/yalesmartalarmclient/default.nix
+++ b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "yalesmartalarmclient";
-  version = "0.3.4";
+  version = "0.3.5";
 
   src = fetchFromGitHub {
     owner = "domwillcode";
     repo = "yale-smart-alarm-client";
     rev = "v${version}";
-    sha256 = "sha256-waWi3QnH7xQZh5iYklISCvfAaBdH5k+Y10huZuTNlSc=";
+    sha256 = "11i7vh61a5xfv32zm7rkigl010wzd6snag6sf7w38256j95nnb05";
   };
 
   propagatedBuildInputs = [
@@ -23,6 +23,7 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
+
   pythonImportsCheck = [ "yalesmartalarmclient" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index fc869efe087..fa0c0ac6af0 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.32.1";
+  version = "0.33.2";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = version;
-    sha256 = "02fvh5ii73rf6pg9x93pc0sl1isx2ivg3d80l6s8h35w2f4g4azf";
+    sha256 = "0pcfglxvrd3n6b5hkn169p38flhqr7alj8ipxx1p7kphywywplif";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/ruby-modules/with-packages/Gemfile b/pkgs/development/ruby-modules/with-packages/Gemfile
index b3ddb5b1310..a3e7f41a2a0 100644
--- a/pkgs/development/ruby-modules/with-packages/Gemfile
+++ b/pkgs/development/ruby-modules/with-packages/Gemfile
@@ -131,6 +131,7 @@ source 'https://rubygems.org' do
   gem 'sinatra'
   gem 'slop'
   gem 'snappy'
+  gem 'snmp'
   gem 'sqlite3'
   gem 'taglib-ruby'
   gem 'thrift'
diff --git a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
index ebbfa619fed..338c711e527 100644
--- a/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
+++ b/pkgs/development/tools/analysis/cargo-tarpaulin/default.nix
@@ -1,4 +1,4 @@
-{ lib, pkg-config, rustPlatform, fetchFromGitHub, openssl }:
+{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, curl, openssl, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-tarpaulin";
@@ -14,7 +14,8 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [
     pkg-config
   ];
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ curl Security ];
 
   cargoSha256 = "sha256-1lFGczzcN4QPsIpEVQiSmNS7L+9rlSfxi+gopt2E7Ec=";
   #checkFlags = [ "--test-threads" "1" ];
@@ -25,6 +26,5 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://github.com/xd009642/tarpaulin";
     license = with licenses; [ mit /* or */ asl20 ];
     maintainers = with maintainers; [ hugoreeves ];
-    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index 45ba1223e84..57fe4125658 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoPackage rec {
   pname = "tfsec";
-  version = "0.55.0";
+  version = "0.55.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1l71r9il45svdwydvi08hnyh310j0gha11qhyqvdz14d8czf8ahn";
+    sha256 = "0s18hfy1gnnvhppvapj8n066pb0fc7w3sm0zm0mzjd58h11x0bbr";
   };
 
   goPackagePath = "github.com/aquasecurity/tfsec";
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index 3afe88043de..cdcae79dde1 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -9,8 +9,9 @@ let
       url = "https://services.gradle.org/distributions/${name}-bin.zip";
     };
   };
-in rec {
-  gradleGen = {name, src, nativeVersion} : stdenv.mkDerivation {
+in
+rec {
+  gradleGen = { name, src, nativeVersion }: stdenv.mkDerivation {
     inherit name src nativeVersion;
 
     dontBuild = true;
@@ -27,20 +28,21 @@ in rec {
     '';
 
     fixupPhase = if (!stdenv.isLinux) then ":" else
-      let arch = if stdenv.is64bit then "amd64" else "i386"; in ''
-        mkdir patching
-        pushd patching
-        jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-${nativeVersion}.jar
-        patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64" net/rubygrapefruit/platform/linux-${arch}/libnative-platform.so
-        jar cf native-platform-linux-${arch}-${nativeVersion}.jar .
-        mv native-platform-linux-${arch}-${nativeVersion}.jar $out/lib/gradle/lib/
-        popd
+    let arch = if stdenv.is64bit then "amd64" else "i386"; in
+    ''
+      mkdir patching
+      pushd patching
+      jar xf $out/lib/gradle/lib/native-platform-linux-${arch}-${nativeVersion}.jar
+      patchelf --set-rpath "${stdenv.cc.cc.lib}/lib:${stdenv.cc.cc.lib}/lib64" net/rubygrapefruit/platform/linux-${arch}/libnative-platform.so
+      jar cf native-platform-linux-${arch}-${nativeVersion}.jar .
+      mv native-platform-linux-${arch}-${nativeVersion}.jar $out/lib/gradle/lib/
+      popd
 
-        # The scanner doesn't pick up the runtime dependency in the jar.
-        # Manually add a reference where it will be found.
-        mkdir $out/nix-support
-        echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies
-      '';
+      # The scanner doesn't pick up the runtime dependency in the jar.
+      # Manually add a reference where it will be found.
+      mkdir $out/nix-support
+      echo ${stdenv.cc.cc} > $out/nix-support/manual-runtime-dependencies
+    '';
 
     nativeBuildInputs = [ makeWrapper unzip ];
     buildInputs = [ java ];
@@ -64,9 +66,9 @@ in rec {
   gradle_latest = gradle_7;
 
   gradle_7 = gradleGen (gradleSpec {
-    version = "7.1";
+    version = "7.1.1";
     nativeVersion = "0.22-milestone-16";
-    sha256 = "0yyqksq3zza7r9ls389ha81l3s768j7dfdqiwk3846qy4wcyxsrd";
+    sha256 = "0p9nss2xywwhjbpdcyma3d0ijvkav9hzmldpkcp447ch92cqd2xz";
   });
 
   gradle_6_8 = gradleGen (gradleSpec {
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 677b31063ac..ec479c13895 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt";
-  version = "1.5.4";
+  version = "1.5.5";
 
   src = fetchurl {
     url = "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz";
-    sha256 = "035jl4czx9ixl12z874bksq5wxdnajxr06cl1yvfj2v92yx3l5wf";
+    sha256 = "1jdknan2gckkfl79pzshgb4009xn2y3nlp0ws1xd47n9yl6dbz60";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index aa7c7c8ca05..74cb56c201d 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -10,13 +10,12 @@ buildGoModule rec {
 
   subPackages = [ "cmd/doctl" ];
 
-  buildFlagsArray = let t = "github.com/digitalocean/doctl"; in ''
-    -ldflags=
-    -X ${t}.Major=${lib.versions.major version}
-    -X ${t}.Minor=${lib.versions.minor version}
-    -X ${t}.Patch=${lib.versions.patch version}
-    -X ${t}.Label=release
-  '';
+  ldflags = let t = "github.com/digitalocean/doctl"; in [
+    "-X ${t}.Major=${lib.versions.major version}"
+    "-X ${t}.Minor=${lib.versions.minor version}"
+    "-X ${t}.Patch=${lib.versions.patch version}"
+    "-X ${t}.Label=release"
+  ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/fnlfmt/default.nix b/pkgs/development/tools/fnlfmt/default.nix
new file mode 100644
index 00000000000..4333706d1cf
--- /dev/null
+++ b/pkgs/development/tools/fnlfmt/default.nix
@@ -0,0 +1,41 @@
+{ lib, stdenv, fetchFromSourcehut, fennel, lua }:
+
+stdenv.mkDerivation rec {
+  pname = "fnlfmt";
+  version = "0.2.1";
+
+  src = fetchFromSourcehut {
+    owner = "~technomancy";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-JIqeQhI3fFGrej2wbj6/367IZqWAFegySc2R8IDmvGE=";
+  };
+
+  nativeBuildInputs = [ fennel ];
+
+  buildInputs = [ lua ];
+
+  buildPhase = ''
+    runHook preBuild
+
+    echo "#!${lua}/bin/lua" > fnlfmt
+    ${fennel}/bin/fennel --require-as-include --compile cli.fnl >> fnlfmt
+    chmod +x fnlfmt
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D ./fnlfmt $out/bin/fnlfmt
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Formatter for Fennel";
+    homepage = "https://git.sr.ht/~technomancy/fnlfmt";
+    license = licenses.lgpl3Plus;
+    platforms = lua.meta.platforms;
+    maintainers = [ maintainers.gpanders ];
+  };
+}
diff --git a/pkgs/development/tools/jbang/default.nix b/pkgs/development/tools/jbang/default.nix
index f179ef13ba9..c09344d8d53 100644
--- a/pkgs/development/tools/jbang/default.nix
+++ b/pkgs/development/tools/jbang/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, fetchzip, jdk, makeWrapper, coreutils, curl }:
 
 stdenv.mkDerivation rec {
-  version = "0.77.0";
+  version = "0.78.0";
   pname = "jbang";
 
   src = fetchzip {
     url = "https://github.com/jbangdev/jbang/releases/download/v${version}/${pname}-${version}.tar";
-    sha256 = "sha256-EOseHe0CrSzOI/NgPk0Q24nzeOSV6X8GVFNPstou/Ng=";
+    sha256 = "sha256-03CuKNQtKdhD6fFYfsmeNR18oRGL5vWG7Lb+srNw8XU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/apio/default.nix b/pkgs/development/tools/misc/apio/default.nix
index b810910f7fe..95de28113f8 100644
--- a/pkgs/development/tools/misc/apio/default.nix
+++ b/pkgs/development/tools/misc/apio/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonApplication rec {
   pname = "apio";
-  version = "0.7.5";
+  version = "0.7.6";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "FPGAwars";
     repo = "apio";
     rev = "v${version}";
-    sha256 = "sha256-9f0q6tELUDo6FdjPG708d7BY3O5ZiZ0FwNFzBBiLQp4=";
+    sha256 = "sha256-KmqxwYKsvcTSuUSVXgegR47y9VeU/vICbYWD7z3aDRM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/misc/editorconfig-checker/default.nix b/pkgs/development/tools/misc/editorconfig-checker/default.nix
index b4359bb1860..37f455e91be 100644
--- a/pkgs/development/tools/misc/editorconfig-checker/default.nix
+++ b/pkgs/development/tools/misc/editorconfig-checker/default.nix
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   nativeBuildInputs = [ installShellFiles ];
 
-  buildFlagsArray = [ "-ldflags=-X main.version=${version}" ];
+  ldflags = [ "-X main.version=${version}" ];
 
   postInstall = ''
     installManPage docs/editorconfig-checker.1
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
index ee661e62202..87cb582417a 100644
--- a/pkgs/development/tools/mold/default.nix
+++ b/pkgs/development/tools/mold/default.nix
@@ -1,9 +1,9 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , lib
 , autoPatchelfHook
 , cmake
-, tbb
 , llvmPackages_latest
 , xxHash
 , zlib
@@ -12,16 +12,24 @@
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2LXOPirhjAifKYPgngUJwEdGrKMYsRySr5TL2x2p8J0=";
+    sha256 = "sha256:1z9i8nvdl9h0zydh1gd9244q96n9x1gh5y90m71bghnh7nws0zmd";
   };
 
-  buildInputs = [ tbb zlib openssl ];
+  patches = [
+    # Intercept all invocations of ld, ld.gold or ld.lld
+    (fetchpatch {
+      url = "https://github.com/rui314/mold/commit/d25c2553ad3cfa39d99043927db1af2c028b5acf.patch";
+      sha256 = "1ic1dyvjcrj6834n6mw9id50l6nymrfn6hws6pjpy8gjk6mqfvnk";
+    })
+  ];
+
+  buildInputs = [ zlib openssl ];
   nativeBuildInputs = [ autoPatchelfHook cmake xxHash ];
 
   dontUseCmakeConfigure = true;
diff --git a/pkgs/development/tools/packer/default.nix b/pkgs/development/tools/packer/default.nix
index c48cf727d20..7b86f8da10e 100644
--- a/pkgs/development/tools/packer/default.nix
+++ b/pkgs/development/tools/packer/default.nix
@@ -15,7 +15,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  buildFlagsArray = [ "-ldflags=-s -w" ];
+  ldflags = [ "-s" "-w" ];
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index f71b28d7e12..1b1b31deaed 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "byacc";
-  version = "20210619";
+  version = "20210802";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz"
     ];
-    sha256 = "sha256-rN1ggNz5NXMqCOyOjEwWHGZs1W2MSQc5xtu2JnpJjA4=";
+    sha256 = "sha256-KUnGftE71nkX8Mm8yFx22ZowkNIRBep2cqh6NQLjzPY=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/tools/roswell/0001-get-image-from-environment.patch b/pkgs/development/tools/roswell/0001-get-image-from-environment.patch
new file mode 100644
index 00000000000..5eeaf514db9
--- /dev/null
+++ b/pkgs/development/tools/roswell/0001-get-image-from-environment.patch
@@ -0,0 +1,25 @@
+From 40c81f684ec2014ea63a712329f61c52aebe4dba Mon Sep 17 00:00:00 2001
+From: Valentin Boettcher <hiro@protagon.space>
+Date: Wed, 4 Aug 2021 17:25:12 +0200
+Subject: [PATCH] get image from environment
+
+---
+ src/cmd-run-sbcl.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/cmd-run-sbcl.c b/src/cmd-run-sbcl.c
+index a83b56c..dc472bb 100644
+--- a/src/cmd-run-sbcl.c
++++ b/src/cmd-run-sbcl.c
+@@ -12,7 +12,7 @@ char** cmd_run_sbcl(int argc,char** argv,struct sub_command* cmd) {
+   char* impl_path=impldir(arch,os,impl,version);
+   char* help=get_opt("help",0);
+   char* script=get_opt("script",0);
+-  char* image=get_opt("image",0);
++  char* image=get_opt("image",1);
+   char* program=get_opt("program",0);
+   char* dynamic_space_size=get_opt("dynamic-space-size",1);
+   char* control_stack_size=get_opt("control-stack-size",1);
+-- 
+2.32.0
+
diff --git a/pkgs/development/tools/roswell/default.nix b/pkgs/development/tools/roswell/default.nix
index 98445ea875a..28dcec785ed 100644
--- a/pkgs/development/tools/roswell/default.nix
+++ b/pkgs/development/tools/roswell/default.nix
@@ -2,15 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "roswell";
-  version = "21.01.14.108";
+  version = "21.06.14.110";
 
   src = fetchFromGitHub {
     owner = "roswell";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hj9q3ig7naky3pb3jkl9yjc9xkg0k7js3glxicv0aqffx9hkp3p";
+    sha256 = "18hxhz7skxvzabz5z0yjky4f3fsyfanafh0imkn5macp8aw3wsfm";
   };
 
+  patches = [
+    # Load the name of the image from the environment variable so that
+    # it can be consistently overwritten. Using the command line
+    # argument in the wrapper did not work.
+    ./0001-get-image-from-environment.patch
+  ];
+
   preConfigure = ''
     sh bootstrap
   '';
@@ -19,7 +26,8 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram $out/bin/ros \
-      --add-flags 'lisp=sbcl-bin/system sbcl-bin.version=system' \
+      --set image `basename $out` \
+      --add-flags 'lisp=sbcl-bin/system sbcl-bin.version=system -L sbcl-bin' \
       --prefix PATH : ${lib.makeBinPath [ sbcl ]} --argv0 ros
   '';
 
diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/development/tools/treefmt/default.nix
index 961b9625ede..590fae64082 100644
--- a/pkgs/development/tools/treefmt/default.nix
+++ b/pkgs/development/tools/treefmt/default.nix
@@ -1,16 +1,16 @@
 { lib, rustPlatform, fetchFromGitHub }:
 rustPlatform.buildRustPackage rec {
   pname = "treefmt";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "numtide";
     repo = "treefmt";
     rev = "v${version}";
-    sha256 = "13z7n0xg150815c77ysz4iqpk8rbgj4vmqy1y2262ryb88dwaw5n";
+    sha256 = "1j505bjdgd6lsq197frlyw26fl1621aw6z339bdp7zc3sa54z0d6";
   };
 
-  cargoSha256 = "1jfrmafj1b28k6xjpj0qq1jpccll0adqxhjypphxhyfsfnra8g6f";
+  cargoSha256 = "0aky94rq1gs506yhpinj759lpvlnw3q2k97gvq34svgq0n38drvk";
 
   meta = {
     description = "one CLI to format the code tree";
diff --git a/pkgs/development/tools/tychus/default.nix b/pkgs/development/tools/tychus/default.nix
index 8b330b36ea9..3838dfdc485 100644
--- a/pkgs/development/tools/tychus/default.nix
+++ b/pkgs/development/tools/tychus/default.nix
@@ -17,7 +17,7 @@ buildGoPackage rec {
 
   buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ CoreFoundation ];
 
-  buildFlags = [ "--tags" "release" ];
+  tags = [ "release" ];
 
   meta = {
     description = "Command line utility to live-reload your application";
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index 27453ed5988..cf3c17823dc 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -2,8 +2,14 @@
 
 let
   version = "2.3.2";
-in appimageTools.wrapType2 rec {
+  src = fetchurl {
+    # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage
+    url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage";
+    sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn";
+  };
   name = "unityhub";
+in appimageTools.wrapType2 rec {
+  inherit name src;
 
   extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
     alsa-lib cups gnome2.GConf libcap fontconfig freetype pango
@@ -13,19 +19,23 @@ in appimageTools.wrapType2 rec {
     libX11 libXcursor libXdamage libXfixes libXrender libXi
     libXcomposite libXext libXrandr libXtst libSM libICE libxcb
 
-    libselinux pciutils libpulseaudio libxml2 icu clang
+    libselinux pciutils libpulseaudio libxml2 icu clang cacert
   ]);
 
+  extraInstallCommands =
+    let appimageContents = appimageTools.extractType2 { inherit name src; }; in
+    ''
+      install -Dm444 ${appimageContents}/unityhub.desktop -t $out/share/applications
+      substituteInPlace $out/share/applications/unityhub.desktop \
+        --replace 'Exec=AppRun' 'Exec=${name}'
+      install -m 444 -D ${appimageContents}/unityhub.png \
+        $out/share/icons/hicolor/64x64/apps/unityhub.png
+    '';
+
   profile = ''
     export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
-  src = fetchurl {
-    # mirror of https://public-cdn.cloud.unity3d.com/hub/prod/UnityHub.AppImage
-    url = "https://archive.org/download/unity-hub-${version}/UnityHub.AppImage";
-    sha256 = "07nfyfp9apshqarc6pgshsczila6x4943hiyyizc55kp85aw0imn";
-  };
-
   meta = with lib; {
     homepage = "https://unity3d.com/";
     description = "Game development tool";
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index 0e1715a4c12..e58a7d9295a 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -17,11 +17,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "8.1.0";
+  version = "8.2.0";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "17cq88qrq3dshgfaycb77xbkzr9drw7fvw0xqijlxivvmnbvwi6i";
+    sha256 = "0j5acj7ghqf2pywpf4vzzvmcn4ypc4gv0pjyjd8hgzrrl3kff4dm";
   };
 
   # don't remove runtime deps
diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix
index c89b48ae3dd..494edc1e997 100644
--- a/pkgs/development/web/nodejs/v16.nix
+++ b/pkgs/development/web/nodejs/v16.nix
@@ -1,4 +1,4 @@
-{ callPackage, openssl, python3, enableNpm ? true }:
+{ callPackage, openssl, python3, fetchpatch, enableNpm ? true }:
 
 let
   buildNodejs = callPackage ./nodejs.nix {
@@ -8,6 +8,14 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "16.6.0";
-    sha256 = "1ndrqx3k5m62r7nzl5za59m33bx10541n7xbaxxz7088ifh18msw";
+    version = "16.5.0";
+    sha256 = "16dapj5pm2y1m3ldrjjlz8rq9axk85nn316iz02nk6qjs66y6drz";
+    patches = [
+      # Fix CVE-2021-22930 https://github.com/nodejs/node/pull/39423.
+      # It should be fixed by Node.js 16.6.0, but currently it fails to build on Darwin
+      (fetchpatch {
+        url = "https://github.com/nodejs/node/commit/9d950a0956bf2c3dd87bacb56807f37e16a91db4.patch";
+        sha256 = "1narhk5dqdkbndh9hg0dn5ghhgrd6gsamjqszpivmp33nl5hgsx3";
+      })
+    ];
   }
diff --git a/pkgs/games/factorio/versions.json b/pkgs/games/factorio/versions.json
index 500181ff70e..d8174417cb3 100644
--- a/pkgs/games/factorio/versions.json
+++ b/pkgs/games/factorio/versions.json
@@ -2,12 +2,12 @@
   "x86_64-linux": {
     "alpha": {
       "experimental": {
-        "name": "factorio_alpha_x64-1.1.36.tar.xz",
+        "name": "factorio_alpha_x64-1.1.37.tar.xz",
         "needsAuth": true,
-        "sha256": "1x9a2lv6zbqawqlxg8bcbx04hjy0pq40macfa4sqi8w6h14wgww8",
+        "sha256": "0aj8w38lx8bx3d894qxr416x515ijadrlcynvvqjaj1zx3acldzh",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.36/alpha/linux64",
-        "version": "1.1.36"
+        "url": "https://factorio.com/get-download/1.1.37/alpha/linux64",
+        "version": "1.1.37"
       },
       "stable": {
         "name": "factorio_alpha_x64-1.1.36.tar.xz",
@@ -38,12 +38,12 @@
     },
     "headless": {
       "experimental": {
-        "name": "factorio_headless_x64-1.1.36.tar.xz",
+        "name": "factorio_headless_x64-1.1.37.tar.xz",
         "needsAuth": false,
-        "sha256": "1s8g030xp5nrlmnn21frrd8n4nd7jjmb5hbpj1vhxjrk6vpijh24",
+        "sha256": "0hawwjdaxgbrkb80vn9jk6dn0286mq35zkgg5vvv5zhi339pqwwg",
         "tarDirectory": "x64",
-        "url": "https://factorio.com/get-download/1.1.36/headless/linux64",
-        "version": "1.1.36"
+        "url": "https://factorio.com/get-download/1.1.37/headless/linux64",
+        "version": "1.1.37"
       },
       "stable": {
         "name": "factorio_headless_x64-1.1.36.tar.xz",
diff --git a/pkgs/games/osu-lazer/bypass-tamper-detection.patch b/pkgs/games/osu-lazer/bypass-tamper-detection.patch
deleted file mode 100644
index 576f83a96c5..00000000000
--- a/pkgs/games/osu-lazer/bypass-tamper-detection.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/osu.Game/OsuGameBase.cs b/osu.Game/OsuGameBase.cs

-index 98f60d52d..a27ce47ca 100644

---- a/osu.Game/OsuGameBase.cs

-+++ b/osu.Game/OsuGameBase.cs

-@@ -135,17 +135,7 @@ public OsuGameBase()

-         [BackgroundDependencyLoader]

-         private void load()

-         {

--            try

--            {

--                using (var str = File.OpenRead(typeof(OsuGameBase).Assembly.Location))

--                    VersionHash = str.ComputeMD5Hash();

--            }

--            catch

--            {

--                // special case for android builds, which can't read DLLs from a packed apk.

--                // should eventually be handled in a better way.

--                VersionHash = $"{Version}-{RuntimeInfo.OS}".ComputeMD5Hash();

--            }

-+            VersionHash = "253aa3a3a356a71295bf5b018cd4fda1";

- 

-             Resources.AddStore(new DllResourceStore(OsuResources.ResourceAssembly));

- 

diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index 55f9bfb75c3..99f188c7476 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -25,9 +25,6 @@ in stdenv.mkDerivation rec {
     sha256 = "I7UkbyH2i218d5RCq4al9Gr1C0MX339jFOeyKrKQ3b0=";
   };
 
-  patches = [ ./bypass-tamper-detection.patch ];
-  patchFlags = [ "--binary" "-p1" ];
-
   nativeBuildInputs = [
     dotnet-sdk dotnetPackages.Nuget makeWrapper
     # FIXME: Without `cacert`, we will suffer from https://github.com/NuGet/Announcements/issues/49
diff --git a/pkgs/games/terraria-server/default.nix b/pkgs/games/terraria-server/default.nix
index b5a8c7e486b..e325319e39c 100644
--- a/pkgs/games/terraria-server/default.nix
+++ b/pkgs/games/terraria-server/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   urlVersion = lib.replaceChars [ "." ] [ "" ] version;
 
   src = fetchurl {
-    url = "https://terraria.org/system/dedicated_servers/archives/000/000/046/original/terraria-server-${urlVersion}.zip";
+    url = "https://terraria.org/api/download/pc-dedicated-server/terraria-server-${urlVersion}.zip";
     sha256 = "0qm4pbm1d9gax47fk4zhw9rcxvajxs36w7dghirli89i994r7g8j";
   };
 
@@ -14,17 +14,21 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoPatchelfHook unzip ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin
     cp -r Linux $out/
     chmod +x "$out/Linux/TerrariaServer.bin.x86_64"
     ln -s "$out/Linux/TerrariaServer.bin.x86_64" $out/bin/TerrariaServer
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     homepage = "https://terraria.org";
-    description =
-      "Dedicated server for Terraria, a 2D action-adventure sandbox";
+    description = "Dedicated server for Terraria, a 2D action-adventure sandbox";
     platforms = [ "x86_64-linux" ];
     license = licenses.unfree;
+    maintainers = with maintainers; [ ncfavier ];
   };
 }
diff --git a/pkgs/misc/vim-plugins/build-vim-plugin.nix b/pkgs/misc/vim-plugins/build-vim-plugin.nix
index c490f943d43..3c623f08a16 100644
--- a/pkgs/misc/vim-plugins/build-vim-plugin.nix
+++ b/pkgs/misc/vim-plugins/build-vim-plugin.nix
@@ -54,7 +54,8 @@ rec {
     }));
 
   buildVimPluginFrom2Nix = attrs: buildVimPlugin ({
-    dontBuild = true;
-    dontConfigure = true;
+    # vim plugins may override this
+    buildPhase = ":";
+    configurePhase =":";
   } // attrs);
 }
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/misc/vim-plugins/generated.nix
index 1c93b714f28..0a1cd947e6b 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/misc/vim-plugins/generated.nix
@@ -77,12 +77,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "fa032b1b7fde1cb00bfa3e16a0d3ebd37a7d8be4";
-      sha256 = "0gdascxqbydpf60rnk9zqrvjjhplc6qgy16k4m5k2x6q1zh7g64a";
+      rev = "9eb39348e928e6a89938784e67ba4168c5a295c0";
+      sha256 = "18j5zpkkir9yxcvmyggglh76fzny1i9z6pkj2bdszvz8rxw8z88y";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -425,12 +425,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2021-08-03";
+    version = "2021-08-05";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "2dfc18f269ea74502cfbb8fed0e6ef5408fc5aea";
-      sha256 = "1sf65kgjd8glx2y7jm4ysmk5yn1hrcmprd6ybc2n5gyi9b2ikrzq";
+      rev = "681950778d7b4e18cb28d5cc7ba54bc480aad232";
+      sha256 = "11g7a86sprfdch68xwabkfr5gv9jpmji587cw1h5cabbzxslrvcg";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -1340,12 +1340,12 @@ final: prev:
 
   doki-theme-vim = buildVimPluginFrom2Nix {
     pname = "doki-theme-vim";
-    version = "2021-07-07";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "doki-theme";
       repo = "doki-theme-vim";
-      rev = "570577ba3f47baebd9e9019916971bee60e2c2e4";
-      sha256 = "05y3dd2w518jcpgbmj83hv8knm92xnagzbv9hknhbs99bgghmp0h";
+      rev = "40fc9b306d45921a6b5bd649566d218a41cb04da";
+      sha256 = "08bbb1syhdfspdh5303gkf524jr90vkfcx759wv9khz1k9cz975c";
     };
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
@@ -1667,12 +1667,12 @@ final: prev:
 
   friendly-snippets = buildVimPluginFrom2Nix {
     pname = "friendly-snippets";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "rafamadriz";
       repo = "friendly-snippets";
-      rev = "8e12f8aee2c78e97cb1e99a3c409da1d8c0a13b6";
-      sha256 = "0rv03vyndfh4ic0y9d9x3ckxlcf0rvxxa2ahzgqaz17wn4wzl7a9";
+      rev = "97942a726bf7e4851d8d1812e910e8f9d489f909";
+      sha256 = "1mqgy6jps6g69x1jj3x60hcr3szpfnwvvyjyafqbd3wpc313pnwq";
     };
     meta.homepage = "https://github.com/rafamadriz/friendly-snippets/";
   };
@@ -2231,12 +2231,12 @@ final: prev:
 
   indent-blankline-nvim = buildVimPluginFrom2Nix {
     pname = "indent-blankline-nvim";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "lukas-reineke";
       repo = "indent-blankline.nvim";
-      rev = "0bac1e1a73c4f7e1ab9cca5f9f5ca557eb65c246";
-      sha256 = "0gxmn5kiwgxbkh3hghiqsq6jg5bkbcn8lk6yz6fjrs9ndb917hvc";
+      rev = "f452ba25ecae318c591b4e6983aa5bd9ac6fd8e6";
+      sha256 = "13aqr4gigpjjz0g25y8q48hb0sfa6xxgp0lr8hk1ykv8w0nwlgra";
     };
     meta.homepage = "https://github.com/lukas-reineke/indent-blankline.nvim/";
   };
@@ -2388,12 +2388,12 @@ final: prev:
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-07-01";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "6ff9e9938badea96f64154f2991e165e8d340cf2";
-      sha256 = "11k1gjsh8fibdpg5lrcq3rz90gwjb7725krhimnvhrkwhcyl1bwb";
+      rev = "9d7d6af330f9cbd7d4d536b5952b71a64790621d";
+      sha256 = "1vzwa0nrwvfpiqvaad4jykpx1h5blsl3l125xzhx7vxgksmmrxbs";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
@@ -2628,12 +2628,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed-nvim";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "8668745f3209a79204056d076d23a69d540b9156";
-      sha256 = "09fy66ifj5nxg57vs4mdz3nyyl447a0qc8idvbd64xi4h2kavcf8";
+      rev = "9a9a28e58cb00935486acf49fba8683e8b2de22a";
+      sha256 = "0m1y6lwr7gqwshmrr3yzvbbsbrva3h276cj2fnczgchqbix9jzvi";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -2712,12 +2712,12 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature-nvim";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "fbec3fe2b885ef365431146296bcce29de9478a8";
-      sha256 = "1d6mp96gx03n5087zwsydm33zyll8daw03wx3lsg0wpvp5ph43cd";
+      rev = "444f5e0a27ca58040c33715be8c3b6051db17230";
+      sha256 = "0rijkdsnxdkyrrpib0qlszjkkx33cm3nb9spcmjrcqi6674kyq88";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
@@ -3504,12 +3504,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls-nvim";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "2c9690964b91e34b421326dc4839b322a7b1a6cd";
-      sha256 = "0cany30kzcf2qy0lfhalxcinnyz7ff3ss3cxx2x9fmh74b9jhgrk";
+      rev = "bbaf11b0104f921348a1e8f8a9f211c86e6867e1";
+      sha256 = "15vkqy1nf0yi6y94npzlqncblh2h4mlhji4wwsdlbk86c493j4wj";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -3708,24 +3708,24 @@ final: prev:
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "f6eb9e06c4575945e7a20d87ac8968f84d18d608";
-      sha256 = "1kz7fm2aqg2jqmjw2dyjc506j6hgkv7vgqrl7fdxdabsss581cs5";
+      rev = "9465c24cb8f4293569f6a4e937a3a38a4416a072";
+      sha256 = "0l484w17bb0kdk1k7dhxj5322a8xsh374ma6yci92jh7sv3dp60f";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "ada900452b2f7100c5e6bafafb87ec2979f1b423";
-      sha256 = "1qiisd6r1571b9f2agc7xphrh2a7g24yz9a2xaajissxddf3330g";
+      rev = "52d60a93013fa2dbbefce6e8b000f08ea0ca8a36";
+      sha256 = "0pib5gmryixn6j0cshkl94syzd5jribj6spdjdj85s6z0r55qck8";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -3802,6 +3802,18 @@ final: prev:
     meta.homepage = "https://github.com/yamatsum/nvim-nonicons/";
   };
 
+  nvim-notify = buildVimPluginFrom2Nix {
+    pname = "nvim-notify";
+    version = "2021-08-04";
+    src = fetchFromGitHub {
+      owner = "rcarriga";
+      repo = "nvim-notify";
+      rev = "bc18fb4552f051639eade5318f1d538ffe0302f5";
+      sha256 = "1l5fi8c59zqyjgkikbrxas4klfa11j17bl72qxg3kj8isnfalspj";
+    };
+    meta.homepage = "https://github.com/rcarriga/nvim-notify/";
+  };
+
   nvim-peekup = buildVimPluginFrom2Nix {
     pname = "nvim-peekup";
     version = "2021-07-05";
@@ -3936,12 +3948,12 @@ final: prev:
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2021-07-27";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "80ec3ba1aa3fd4005c4679b7b03da37435bc1654";
-      sha256 = "1pmg2qp6sdk2ijcav4s1la1zax05cwd9vvbrr3s283lqsqwzflax";
+      rev = "64389d5956df699c9c671e00818cc4039edb7dd9";
+      sha256 = "0q72jsyldpk9x3whjh8pggiscrir614zl9d65cbzrlklmmpif6d6";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
@@ -4477,12 +4489,12 @@ final: prev:
 
   rnvimr = buildVimPluginFrom2Nix {
     pname = "rnvimr";
-    version = "2021-07-22";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "rnvimr";
-      rev = "6bd1b891ecf6c5c054442c6934965714d5ffe834";
-      sha256 = "1a5dw5y359jbvd3yr9sjxjbjwqrgvmwdv9y1jifqk7s5p0y0b4jg";
+      rev = "75eb226fe32ef18add0fc70715cbcc7550ecb698";
+      sha256 = "12skmq1zlpkk8y05503p01rxfdkqdl3mdhf8bbgq3f2ky7d7iarj";
     };
     meta.homepage = "https://github.com/kevinhwang91/rnvimr/";
   };
@@ -5068,12 +5080,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2021-08-02";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "23ea1961b97b6d33bb7226d7415d9c3338defa13";
-      sha256 = "11zvsclgfrc05q4k0sj14h596hv5gfh00dx3h987w2hawn0qbsk8";
+      rev = "cd74f18d10d3d89d6088ec6d6d8400f9f1845c08";
+      sha256 = "0s89lsc6hi110d7wj3gaflra3wsqs87pb5pa1vrqg5wvmsn77jzx";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -5140,12 +5152,12 @@ final: prev:
 
   telescope-frecency-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-frecency-nvim";
-    version = "2021-07-14";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-frecency.nvim";
-      rev = "5173a42d4a306567a90c41fb90ee660a3274d34f";
-      sha256 = "0baphixbfwq3fd3wcxf1fjgb7qwr7l0p6c8rpqf80msb0d7ikv77";
+      rev = "31e8158d54ce945dc416b1f53df827aa3c096c55";
+      sha256 = "1q2bf21gymjjx603159x59sg1ahwgsqais6q5laz4cpcwmxmwq7f";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-frecency.nvim/";
   };
@@ -5213,12 +5225,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-nvim";
-    version = "2021-08-03";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "f8caad1d6bd19dbd79945850342b49df41928525";
-      sha256 = "1liwcrb5w5s9bgniz6byw1c68x42z6162lsshhl1cm8s5ywh4sn5";
+      rev = "e7362e999683b4a0d18ec51656de93a9a9d98091";
+      sha256 = "1hqsscl6xl6qf4vczn9sczz4ymzijmw7n66bfdipc5ikn9aydxcn";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -5790,12 +5802,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2021-07-18";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "b861f9d2483a8b066f7b5b4dbae8990ff21455c5";
-      sha256 = "0rz7p95ks4ymdwz7aqahc782msdz70qx25807cwvqh1gc9x887vq";
+      rev = "0cfd829c92a6fd208bfdcbdd2881105462224636";
+      sha256 = "1jl6j7pq5klcr5rf2vmwrqvzx1y7paywhfw96dfk6397rxsga058";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -7038,12 +7050,12 @@ final: prev:
 
   vim-gruvbox8 = buildVimPluginFrom2Nix {
     pname = "vim-gruvbox8";
-    version = "2021-06-13";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "lifepillar";
       repo = "vim-gruvbox8";
-      rev = "73bd562267d3dea92b6e8dd1f0e3caca024927ad";
-      sha256 = "01x0y5ma7wz2yjcq12zzlmkn8x4yz4gcmxmkyrcy127pnhjn8a23";
+      rev = "1e205910e67003ff9efb77e7730f1e49d8aae29c";
+      sha256 = "1z7vx4x4flx6853a70vk2bcnv52ra3z275g1i30pjzc5blsbw6hw";
     };
     meta.homepage = "https://github.com/lifepillar/vim-gruvbox8/";
   };
@@ -8469,12 +8481,12 @@ final: prev:
 
   vim-puppet = buildVimPluginFrom2Nix {
     pname = "vim-puppet";
-    version = "2021-07-26";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "rodjek";
       repo = "vim-puppet";
-      rev = "f92bf8c0b343870faec2be09243ca0d778524049";
-      sha256 = "06s46pl9gz6802nfcdfa3bgvzfhlc3bhi5qxnl185jn5mv6vz50i";
+      rev = "980147f64d708652aad1e67d8b39c17b2dd07702";
+      sha256 = "0851b22an00p6i2xbc18zx3z5ik5k8nfr6is2fcbsqhlks0g7cgf";
     };
     meta.homepage = "https://github.com/rodjek/vim-puppet/";
   };
@@ -8901,12 +8913,12 @@ final: prev:
 
   vim-snippets = buildVimPluginFrom2Nix {
     pname = "vim-snippets";
-    version = "2021-07-16";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "honza";
       repo = "vim-snippets";
-      rev = "f1b72d866d6564075a8b0da1f179c0b7de723131";
-      sha256 = "1vfpf0mjwk519gdly44f0ixc5y4609j33fsjsfzwgcmp3xgmf081";
+      rev = "95c6f94bd5849e533542c2e375e3347c7faa1c58";
+      sha256 = "023p5x6h8jwsxv724r6dgy0hh0bi0j0jfq68klm0shl68q4g5awq";
     };
     meta.homepage = "https://github.com/honza/vim-snippets/";
   };
@@ -9442,12 +9454,12 @@ final: prev:
 
   vim-visual-multi = buildVimPluginFrom2Nix {
     pname = "vim-visual-multi";
-    version = "2021-08-02";
+    version = "2021-08-05";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-visual-multi";
-      rev = "015c02c0246150d87f66e88f226e73e37a296191";
-      sha256 = "01m20bng31bs8r99bayw6qrkg5p1pqnwpc9k6cljpn7a52gbapwk";
+      rev = "daab513799f88bcc88e6d7ba361826d21dfdfa61";
+      sha256 = "0ccrf88abc1ibswzvb1l5qdm6xsxip0gk4yds9128s205n1bl32v";
     };
     meta.homepage = "https://github.com/mg979/vim-visual-multi/";
   };
@@ -9598,12 +9610,12 @@ final: prev:
 
   vim-xtabline = buildVimPluginFrom2Nix {
     pname = "vim-xtabline";
-    version = "2021-07-19";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "mg979";
       repo = "vim-xtabline";
-      rev = "e1be98dc050b8c5196e324cb4236e8c4b44483e6";
-      sha256 = "12gr0v2r91q75v1wfrskp330zlyibshngs11if9nlxpnhgz8f6dn";
+      rev = "dd1a4d7e05c79a48ef4f22400af2aff1b2e09ddd";
+      sha256 = "18sfwc36m7c901lfdk3f5mlx4bhk0vdg4qb54j4fr487hg89vnfc";
     };
     meta.homepage = "https://github.com/mg979/vim-xtabline/";
   };
@@ -9803,12 +9815,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2021-08-02";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "b704fd3dc9979ca6b9ddf2894177af950a01f0be";
-      sha256 = "17rwbfq1vxd9ar6dwwq380qq1vkqwz6nq3x22bkbhj4jdaqp069x";
+      rev = "078292ed7efb95a5ff6c4cf21f4273ae599af2bd";
+      sha256 = "0hk4wx89blvimw5vgkxri2ci4k2dhflwkj5mshc0k8v7bidli8m4";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -9827,12 +9839,12 @@ final: prev:
 
   vimway-lsp-diag-nvim = buildVimPluginFrom2Nix {
     pname = "vimway-lsp-diag-nvim";
-    version = "2021-07-23";
+    version = "2021-08-04";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "vimway-lsp-diag.nvim";
-      rev = "28c23ed9dc499410b4bd0ac040e48c76560b18b7";
-      sha256 = "1fdmg6xhhqdhk4hykhhxw55d11gcb932b2iz2sk7f4bps8c2lgg9";
+      rev = "4de4ba1b545203660be3ab935c4ed3063aebde78";
+      sha256 = "12fmm80xw72k4dmcxal1ypyjgd5qvkwgsmmj7jzn5b4z2iddn302";
     };
     meta.homepage = "https://github.com/onsails/vimway-lsp-diag.nvim/";
   };
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index 086877dd5a1..af0c6d4c806 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -501,10 +501,7 @@ self: super: {
 
   telescope-fzf-native-nvim = super.telescope-fzf-native-nvim.overrideAttrs (old: {
     dependencies = with self; [ telescope-nvim ];
-
-    dontBuild = false;
     buildPhase = "make";
-
     meta.platforms = lib.platforms.all;
   });
 
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index d2079702db3..d74ebb3601d 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -565,6 +565,7 @@ ray-x/lsp_signature.nvim
 rbgrouleff/bclose.vim
 rbong/vim-flog
 rcarriga/nvim-dap-ui
+rcarriga/nvim-notify
 rcarriga/vim-ultest
 rhysd/committia.vim
 rhysd/conflict-marker.vim
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 9f0f566494d..e74cd257d28 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,13 +1,13 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.277";
+  version = "4.4.278";
   extraMeta.branch = "4.4";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1m5zkssh523f15fvy80rcvfwqzdkldz3jhny6vbaj8q0zvk3w5r5";
+    sha256 = "1r2sbxn8finzcg72ds5dyh4578vv2s5zwylq3b3xyw3hzr4swn4f";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_4 ];
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 5d3a556da3d..d88479ee18c 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,13 +1,13 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.277";
+  version = "4.9.278";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1pkjcz9llc7hkmzfyjcx20b5njnqbkwlzyy1ncc8na71nn6rvsg6";
+    sha256 = "04byav6cbga3jqkppygm5zj73d9v44xyvx6hbrhwr22lsk282dz7";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_4_9 ];
diff --git a/pkgs/os-specific/linux/kernel/linux-5.13.nix b/pkgs/os-specific/linux/kernel/linux-5.13.nix
index 2f2dc1516b2..efa1329153c 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.13.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.13.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.13.7";
+  version = "5.13.8";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,7 +13,7 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0fg41dv62vsnv2hywym15zz0n08rhdzwqvcarspm9r5gac85c7pr";
+    sha256 = "0a54r71mcyqvq7c8kff817vh6zfj0bdzmp6ql4az84wq9nwc526h";
   };
 
   kernelTests = args.kernelTests or [ nixosTests.kernel-generic.linux_5_13 ];
diff --git a/pkgs/os-specific/linux/s6-linux-init/default.nix b/pkgs/os-specific/linux/s6-linux-init/default.nix
index 5d6941259e1..f618fa7d8da 100644
--- a/pkgs/os-specific/linux/s6-linux-init/default.nix
+++ b/pkgs/os-specific/linux/s6-linux-init/default.nix
@@ -4,8 +4,8 @@ with skawarePackages;
 
 buildPackage {
   pname = "s6-linux-init";
-  version = "1.0.6.2";
-  sha256 = "06xcmn2a89fvng056lcnnyrl2ak0y7cblkc90lj9a2liyhawy9dr";
+  version = "1.0.6.3";
+  sha256 = "1idqjcxhl5wgff8yrsvx2812wahjri2hcs7qs6k62g0sdd8niqr9";
 
   description = "A set of minimalistic tools used to create a s6-based init system, including a /sbin/init binary, on a Linux kernel";
   platforms = lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 7784aa8e03f..517e6036e78 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -14,6 +14,9 @@
 # Kernel dependencies
 , kernel ? null
 , enablePython ? true
+
+# for determining the latest compatible linuxPackages
+, linuxPackages_5_13
 }:
 
 with lib;
@@ -28,6 +31,7 @@ let
     , extraPatches ? []
     , rev ? "zfs-${version}"
     , isUnstable ? false
+    , latestCompatibleLinuxPackages
     , kernelCompatible ? null }:
 
     stdenv.mkDerivation {
@@ -161,7 +165,7 @@ let
       outputs = [ "out" ] ++ optionals buildUser [ "dev" ];
 
       passthru = {
-        inherit enableMail;
+        inherit enableMail latestCompatibleLinuxPackages;
 
         tests =
           if isUnstable then [
@@ -196,6 +200,7 @@ in {
   zfsStable = common {
     # check the release notes for compatible kernels
     kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.14";
+    latestCompatibleLinuxPackages = linuxPackages_5_13;
 
     # this package should point to the latest release.
     version = "2.1.0";
@@ -206,6 +211,7 @@ in {
   zfsUnstable = common {
     # check the release notes for compatible kernels
     kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.14";
+    latestCompatibleLinuxPackages = linuxPackages_5_13;
 
     # this package should point to a version / git revision compatible with the latest kernel release
     version = "2.1.0";
diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index 935db27044f..4fec4390e34 100644
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -5,22 +5,16 @@ let
   jre8 = jdk8_headless;
   jre11 = jdk11_headless;
   versionMap = {
-    "2.4" = {
-      kafkaVersion = "2.4.1";
-      scalaVersion = "2.12";
-      sha256 = "0ahsprmpjz026mhbr79187wfdrxcg352iipyfqfrx68q878wnxr1";
-      jre = jre8;
-    };
-    "2.5" = {
-      kafkaVersion = "2.5.1";
-      scalaVersion = "2.12";
-      sha256 = "1wn4iszrm2rvsfyyr515zx79k5m86davjkcwcwpxcgc4k3q0z7lv";
-      jre = jre8;
+    "2.7" = {
+      kafkaVersion = "2.7.1";
+      scalaVersion = "2.13";
+      sha256 = "1qv6blf99211bc80xnd4k42r9v9c5vilyqkplyhsa6hqymg32gfa";
+      jre = jre11;
     };
-    "2.6" = {
-      kafkaVersion = "2.6.1";
+    "2.8" = {
+      kafkaVersion = "2.8.0";
       scalaVersion = "2.13";
-      sha256 = "1a2kd4r6f8z7qf886nnq9f350sblzzdi230j2hll7x156888573y";
+      sha256 = "1iljfjlp29m4s6gkja9fxkzj8a8p0qc0sfy8x4g1318kbnp818rz";
       jre = jre11;
     };
   };
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index da0e7364e95..0b94528164c 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -32,12 +32,11 @@ buildGoModule rec {
 
   deleteVendor = true;
 
-  preBuild = ''
-    buildFlagsArray+=("-ldflags"
-                      "-X github.com/hashicorp/consul/version.GitDescribe=v${version}
-                       -X github.com/hashicorp/consul/version.Version=${version}
-                       -X github.com/hashicorp/consul/version.VersionPrerelease=")
-  '';
+  ldflags = [
+    "-X github.com/hashicorp/consul/version.GitDescribe=v${version}"
+    "-X github.com/hashicorp/consul/version.Version=${version}"
+    "-X github.com/hashicorp/consul/version.VersionPrerelease="
+  ];
 
   meta = with lib; {
     description = "Tool for service discovery, monitoring and configuration";
diff --git a/pkgs/servers/dict/dictd-db-collector.nix b/pkgs/servers/dict/dictd-db-collector.nix
index faf0fd24831..a0ad507c466 100644
--- a/pkgs/servers/dict/dictd-db-collector.nix
+++ b/pkgs/servers/dict/dictd-db-collector.nix
@@ -78,5 +78,6 @@ stdenv.mkDerivation {
 
   buildInputs = [ dict ];
 
+  dontUnpack = true;
   inherit installPhase;
 })
diff --git a/pkgs/servers/hqplayerd/default.nix b/pkgs/servers/hqplayerd/default.nix
index 76f8bde3e4e..14fe83ea5cb 100644
--- a/pkgs/servers/hqplayerd/default.nix
+++ b/pkgs/servers/hqplayerd/default.nix
@@ -53,32 +53,37 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     cp ./usr/bin/hqplayerd $out/bin
 
+    # main configuration
+    mkdir -p $out/etc/hqplayer
+    cp ./etc/hqplayer/hqplayerd.xml $out/etc/hqplayer/
+
     # udev rules
     mkdir -p $out/etc/udev/rules.d
-    cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d
+    cp ./etc/udev/rules.d/50-taudio2.rules $out/etc/udev/rules.d/
 
     # kernel module cfgs
     mkdir -p $out/etc/modules-load.d
-    cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d
+    cp ./etc/modules-load.d/taudio2.conf $out/etc/modules-load.d/
 
     # systemd service file
     mkdir -p $out/lib/systemd/system
-    cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system
+    cp ./usr/lib/systemd/system/hqplayerd.service $out/lib/systemd/system/
 
     # documentation
     mkdir -p $out/share/doc/hqplayerd
-    cp ./usr/share/doc/hqplayerd/* $out/share/doc/hqplayerd
+    cp ./usr/share/doc/hqplayerd/* $out/share/doc/hqplayerd/
 
     # misc service support files
     mkdir -p $out/var/lib/hqplayer
-    cp -r ./var/lib/hqplayer/web $out/var/lib/hqplayer/web
+    cp -r ./var/lib/hqplayer/web $out/var/lib/hqplayer
 
     runHook postInstall
   '';
 
   postInstall = ''
     substituteInPlace $out/lib/systemd/system/hqplayerd.service \
-      --replace /usr/bin/hqplayerd $out/bin/hqplayerd
+      --replace /usr/bin/hqplayerd $out/bin/hqplayerd \
+      --replace "NetworkManager-wait-online.service" ""
   '';
 
   postFixup = ''
diff --git a/pkgs/servers/interlock/default.nix b/pkgs/servers/interlock/default.nix
index 9823a36d754..e151c9ec45e 100644
--- a/pkgs/servers/interlock/default.nix
+++ b/pkgs/servers/interlock/default.nix
@@ -21,7 +21,7 @@ buildGoPackage rec {
   goDeps = ./deps.nix;
 
   nativeBuildInputs = [ sudo ];
-  buildFlags = [ "-tags textsecure" ];
+  tags = [ "textsecure" ];
   postPatch = ''
     grep -lr '/s\?bin/' | xargs sed -i \
       -e 's|/bin/mount|${mount}/bin/mount|' \
diff --git a/pkgs/servers/monitoring/grafana-agent/default.nix b/pkgs/servers/monitoring/grafana-agent/default.nix
index 4c9d0437d79..318b945a592 100644
--- a/pkgs/servers/monitoring/grafana-agent/default.nix
+++ b/pkgs/servers/monitoring/grafana-agent/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grafana-agent";
-  version = "0.17.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "grafana";
     repo = "agent";
-    sha256 = "sha256-rHJGVQWbvgcvwPzt8e2uWs1n4bbaAZz6lQjyvmqmLZw=";
+    sha256 = "sha256-FUAaM4jYjyYeu5TX5I8icuzjGv80ZzZPWSsNwE5w84U=";
   };
 
-  vendorSha256 = "sha256-jA8M8ZdJWmrGRQb0W1duVV+XwxqJVQ/ek0Yhw6JZvX8=";
+  vendorSha256 = "sha256-xQNsRL0hFuJ/gm1K/1IpzAGIqpyN2CF1EeX/cEfcBBM=";
 
   patches = [
     # https://github.com/grafana/agent/issues/731
diff --git a/pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix b/pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix
new file mode 100644
index 00000000000..9f1d501d23f
--- /dev/null
+++ b/pkgs/servers/monitoring/grafana/plugins/grafadruid-druid-datasource/default.nix
@@ -0,0 +1,13 @@
+{ grafanaPlugin, lib }:
+
+grafanaPlugin rec {
+  pname = "grafadruid-druid-datasource";
+  version = "1.2.0";
+  zipHash = "sha256-DPeyV2jZquSQcSE+HzvxArWEefs9bFNPjZwDFp+dIjg=";
+  meta = with lib; {
+    description = "Connects Grafana to Druid";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nukaduka ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/grafana/plugins/plugins.nix b/pkgs/servers/monitoring/grafana/plugins/plugins.nix
index d763f14c75a..a99a71cffd1 100644
--- a/pkgs/servers/monitoring/grafana/plugins/plugins.nix
+++ b/pkgs/servers/monitoring/grafana/plugins/plugins.nix
@@ -5,6 +5,7 @@
   grafanaPlugin = callPackage ./grafana-plugin.nix { };
 
   doitintl-bigquery-datasource = callPackage ./doitintl-bigquery-datasource { };
+  grafadruid-druid-datasource = callPackage ./grafadruid-druid-datasource { };
   grafana-clock-panel = callPackage ./grafana-clock-panel { };
   grafana-piechart-panel = callPackage ./grafana-piechart-panel { };
   grafana-polystat-panel = callPackage ./grafana-polystat-panel { };
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 578bb10652a..ef7b144a5b1 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -15,7 +15,8 @@ buildGoModule rec {
     sha256 = "sha256-8shyNKwSg3pUxfQsIHBNnIaks/86vHuHN/SroDE3QFU=";
   };
 
-  vendorSha256 = "sha256-jP6P2NShzlFCptCQ04XY4cIrONNArwthiEONEo32Btw=";
+  vendorSha256 = "sha256-GMNyeWa2dz+q4RYS+DDkpj9sx1PlPvSuWYcHSM2umRE=";
+  proxyVendor = true;
 
   preBuild = ''
     buildFlagsArray+=("-ldflags=-w -s -X main.version=${version}")
diff --git a/pkgs/servers/moonraker/default.nix b/pkgs/servers/moonraker/default.nix
new file mode 100644
index 00000000000..2ca35beeff1
--- /dev/null
+++ b/pkgs/servers/moonraker/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenvNoCC, fetchFromGitHub, python3, makeWrapper, unstableGitUpdater }:
+
+let
+  pythonEnv = python3.withPackages (packages: with packages; [
+    tornado
+    pyserial
+    pillow
+    lmdb
+    streaming-form-data
+    distro
+    inotify-simple
+    libnacl
+    paho-mqtt
+  ]);
+in stdenvNoCC.mkDerivation rec {
+  pname = "moonraker";
+  version = "unstable-2021-07-18";
+
+  src = fetchFromGitHub {
+    owner = "Arksine";
+    repo = "moonraker";
+    rev = "42f61ceafa90fcfea8bffbe968e26a6fd8b61af6";
+    sha256 = "1w6l9pgs4n4nnk3h40y346bf6j3v4j4h1qnhj5dwlbwdxiqpd9gs";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out $out/bin $out/lib
+    cp -r moonraker $out/lib
+
+    makeWrapper ${pythonEnv}/bin/python $out/bin/moonraker \
+      --add-flags "$out/lib/moonraker/moonraker.py"
+  '';
+
+  passthru.updateScript = unstableGitUpdater { url = meta.homepage; };
+
+  meta = with lib; {
+    description = "API web server for Klipper";
+    homepage = "https://github.com/Arksine/moonraker";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/pkgs/servers/nitter/default.nix b/pkgs/servers/nitter/default.nix
new file mode 100644
index 00000000000..47352edf48d
--- /dev/null
+++ b/pkgs/servers/nitter/default.nix
@@ -0,0 +1,131 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, nim
+, libsass
+}:
+
+let
+  jester = fetchFromGitHub {
+    owner = "dom96";
+    repo = "jester";
+    rev = "v0.5.0";
+    sha256 = "0m8a4ss4460jd2lcbqcbdd68jhcy35xg7qdyr95mh8rflwvmcvhk";
+  };
+  karax = fetchFromGitHub {
+    owner = "karaxnim";
+    repo = "karax";
+    rev = "1.1.2";
+    sha256 = "07ykrd21hd76vlmkqpvv5xvaxw6aaq87bky47p2420ni85a6d94j";
+  };
+  sass = fetchFromGitHub {
+    owner = "dom96";
+    repo = "sass";
+    rev = "e683aa1";
+    sha256 = "0qvly5rilsqqsyvr67pqhglm55ndc4nd6v90jwswbnigxiqf79lc";
+  };
+  regex = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-regex";
+    rev = "2e32fdc";
+    sha256 = "1hrl40mwql7nh4wc7sdhmk8bj5728b93v5a93j49v660l0rn4qx8";
+  };
+  unicodedb = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-unicodedb";
+    rev = "v0.9.0";
+    sha256 = "06j8d0bjbpv1iibqlmrac4qb61ggv17hvh6nv4pbccqk1rlpxhsq";
+  };
+  unicodeplus= fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-unicodeplus";
+    rev = "v0.8.0";
+    sha256 = "181wzwivfgplkqn5r4crhnaqgsza7x6fi23i86djb2dxvm7v6qxk";
+  };
+  segmentation = fetchFromGitHub {
+    owner = "nitely";
+    repo = "nim-segmentation";
+    rev = "v0.1.0";
+    sha256 = "007bkx8dwy8n340zbp6wyqfsq9bh6q5ykav1ywdlwykyp1n909bh";
+  };
+  nimcrypto = fetchFromGitHub {
+    owner = "cheatfate";
+    repo = "nimcrypto";
+    rev = "a5742a9a214ac33f91615f3862c7b099aec43b00";
+    sha256 = "0al0jsaicm8vyr63n909dq1glhvpra1n9sllmj0r7lsjsdb59wsz";
+  };
+  markdown = fetchFromGitHub {
+    owner = "soasme";
+    repo = "nim-markdown";
+    rev = "abdbe5e";
+    sha256 = "0f3c1sxvhbbds43c9l8cz69pfpf984msj1lv4pb7bzpxb5zil2wy";
+  };
+  packedjson = fetchFromGitHub {
+    owner = "Araq";
+    repo = "packedjson";
+    rev = "7198cc8";
+    sha256 = "1ay2zd88q8hvpvigsg8h0y5vc65hk3lk0d48fy9hwg4lcng19mp1";
+  };
+  supersnappy = fetchFromGitHub {
+    owner = "guzba";
+    repo = "supersnappy";
+    rev = "1.1.5";
+    sha256 = "1y26sgnszvdf5sn7j0jx2dpd4i03mvbk9i9ni9kbyrs798bjwi6z";
+  };
+  redpool = fetchFromGitHub {
+    owner = "zedeus";
+    repo = "redpool";
+    rev = "57aeb25";
+    sha256 = "0fph7qlia6fvya1zqzbgvww2hk5pd0vq1wlf9ij9jyn655mg0w3q";
+  };
+  frosty = fetchFromGitHub {
+    owner = "disruptek";
+    repo = "frosty";
+    rev = "0.3.1";
+    sha256 = "0hd6484ihjgl57gmqyp5xfq5prycb49k0313fqky600mhz71nmyz";
+  };
+  redis = fetchFromGitHub {
+    owner = "zedeus";
+    repo = "redis";
+    rev = "94bcbf1";
+    sha256 = "1p9zv4f4lqrjqa8fk98cb89b9fzlf866jc584ll9sws14904i80j";
+  };
+in stdenv.mkDerivation rec {
+  pname = "nitter";
+  version = "unstable-2021-07-18";
+
+  src = fetchFromGitHub {
+    owner = "zedeus";
+    repo = "nitter";
+    rev = "6c5cb01b294d4f6e3b438fc47683359eb0fe5057";
+    sha256 = "1dl8ndyv8m1hnydrp5xilcpp2cfbp02d5jap3y42i4nazc9ar6p4";
+  };
+
+  nativeBuildInputs = [ nim ];
+  buildInputs = [ libsass ];
+
+  buildPhase = ''
+    runHook preBuild
+    export HOME=$TMPDIR
+    nim -d:release -p:${jester} -p:${karax} -p:${sass}/src -p:${regex}/src -p:${unicodedb}/src -p:${unicodeplus}/src -p:${segmentation}/src -p:${nimcrypto} -p:${markdown}/src -p:${packedjson} -p:${supersnappy}/src -p:${redpool}/src -p:${frosty} -p:${redis}/src c src/$pname
+    nim -p:${sass}/src c --hint[Processing]:off -r tools/gencss
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -Dt $out/bin src/$pname
+    mkdir -p $out/share/nitter
+    cp -r public $out/share/nitter/public
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Alternative Twitter front-end";
+    homepage = "https://github.com/zedeus/nitter";
+    maintainers = with maintainers; [ erdnaxe ];
+    license = licenses.agpl3Only;
+    platforms = [ "x86_64-linux" ];
+  };
+}
+
diff --git a/pkgs/servers/pg_tileserv/default.nix b/pkgs/servers/pg_tileserv/default.nix
index d9ba4e8e6fa..b7f1fa0c1c9 100644
--- a/pkgs/servers/pg_tileserv/default.nix
+++ b/pkgs/servers/pg_tileserv/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pg_tileserv";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "CrunchyData";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PHF8n0rjxvajyC/y2sFcdvxQdDFXkxcDZOkYT10UsE4=";
+    sha256 = "07xj807cbggnh8k7d2i7h326p4wjb8sz5ng0hbdnznvyc4sb2cdw";
   };
 
   vendorSha256 = "sha256-qdlh9H039GwKTxOhx+dzyUHkzJbaOeuguKnBOyAPe/E=";
diff --git a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
index e762d3907f7..27c749dea2e 100644
--- a/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/all-plugins.nix
@@ -5,8 +5,11 @@ in
 {
   discourse-calendar = callPackage ./discourse-calendar {};
   discourse-canned-replies = callPackage ./discourse-canned-replies {};
+  discourse-checklist = callPackage ./discourse-checklist {};
+  discourse-data-explorer = callPackage ./discourse-data-explorer {};
   discourse-github = callPackage ./discourse-github {};
   discourse-math = callPackage ./discourse-math {};
+  discourse-migratepassword = callPackage ./discourse-migratepassword {};
   discourse-solved = callPackage ./discourse-solved {};
   discourse-spoiler-alert = callPackage ./discourse-spoiler-alert {};
   discourse-yearly-review = callPackage ./discourse-yearly-review {};
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
new file mode 100644
index 00000000000..89edb3f71d7
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-checklist";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-checklist";
+    rev = "6e7b9c5040c55795c7fd4db9569b3e93dad092c2";
+    sha256 = "sha256-2KAVBrfAvhLZC9idi+ijbVqOCq9rSXbDVEOZS+mWJ10=";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/discourse/discourse-checklist";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.gpl2Only;
+    description = "A simple checklist rendering plugin for discourse ";
+  };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
new file mode 100644
index 00000000000..983c8b7fe83
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
@@ -0,0 +1,17 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-data-explorer";
+  src = fetchFromGitHub {
+    owner = "discourse";
+    repo = "discourse-data-explorer";
+    rev = "7a348aaa8b2a6b3a75db72e99a7370a1a6fcb2b8";
+    sha256 = "sha256-4X0oor3dIKrQO5IrScQ9+DBr39R7PJJ8dg9UQseV6IU=";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/discourse/discourse-data-explorer";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.mit;
+    description = "SQL Queries for admins in Discourse";
+  };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
new file mode 100644
index 00000000000..0fcdf01d56f
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile
@@ -0,0 +1,6 @@
+# frozen_string_literal: true
+
+source "https://rubygems.org"
+
+gem 'bcrypt', '3.1.3'
+gem 'unix-crypt', '1.3.0'
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
new file mode 100644
index 00000000000..2c9fb904930
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    bcrypt (3.1.3)
+    unix-crypt (1.3.0)
+
+PLATFORMS
+  x86_64-linux
+
+DEPENDENCIES
+  bcrypt (= 3.1.3)
+  unix-crypt (= 1.3.0)
+
+BUNDLED WITH
+   2.2.20
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
new file mode 100644
index 00000000000..4c46dfb181e
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/default.nix
@@ -0,0 +1,18 @@
+{ lib, mkDiscoursePlugin, fetchFromGitHub }:
+
+mkDiscoursePlugin {
+  name = "discourse-migratepassword";
+  bundlerEnvArgs.gemdir = ./.;
+  src = fetchFromGitHub {
+    owner = "communiteq";
+    repo = "discourse-migratepassword";
+    rev = "91d6a008de91853becca01846aa4662bd227670e";
+    sha256 = "sha256-aKj0zXyXDnG20qVdhGvn4fwXiBeHFj2pv4bTUP81MP0=";
+  };
+  meta = with lib; {
+    homepage = "https://github.com/communiteq/discourse-migratepassword";
+    maintainers = with maintainers; [ ryantm ];
+    license = licenses.gpl2Only;
+    description = "Support migrated password hashes";
+  };
+}
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
new file mode 100644
index 00000000000..22b4053bbd4
--- /dev/null
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-migratepassword/gemset.nix
@@ -0,0 +1,22 @@
+{
+  bcrypt = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1d2gqv8vry4ps0asb7nn1z4zxi3mcscy7yrim0npdd294ffyinvj";
+      type = "gem";
+    };
+    version = "3.1.3";
+  };
+  unix-crypt = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1wflipsmmicmgvqilp9pml4x19b337kh6p6jgrzqrzpkq2z52gdq";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
+}
diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py
index ae4dadfc3a7..4832e8638ea 100755
--- a/pkgs/servers/web-apps/discourse/update.py
+++ b/pkgs/servers/web-apps/discourse/update.py
@@ -187,9 +187,13 @@ def update_plugins():
 
     """
     plugins = [
+        {'name': 'discourse-calendar'},
         {'name': 'discourse-canned-replies'},
+        {'name': 'discourse-checklist'},
+        {'name': 'discourse-data-explorer'},
         {'name': 'discourse-github'},
         {'name': 'discourse-math'},
+        {'name': 'discourse-migratepassword', 'owner': 'discoursehosting'},
         {'name': 'discourse-solved'},
         {'name': 'discourse-spoiler-alert'},
         {'name': 'discourse-yearly-review'},
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 5795f999caa..6d8ffa01000 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1915,17 +1915,17 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
-  xeyes = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libXext, libXmu, xorgproto, libXrender, libXt }: stdenv.mkDerivation {
+  xeyes = callPackage ({ stdenv, pkg-config, fetchurl, libX11, libxcb, libXext, libXi, libXmu, xorgproto, libXrender, libXt }: stdenv.mkDerivation {
     pname = "xeyes";
-    version = "1.1.2";
+    version = "1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2";
-      sha256 = "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p";
+      url = "mirror://xorg/individual/app/xeyes-1.2.0.tar.bz2";
+      sha256 = "1nxn443pfhddmwl59wplpjkslhlyfk307qx18nrimvvb2hipx8gq";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
-    buildInputs = [ libX11 libXext libXmu xorgproto libXrender libXt ];
+    buildInputs = [ libX11 libxcb libXext libXi libXmu xorgproto libXrender libXt ];
     meta.platforms = lib.platforms.unix;
   }) {};
 
@@ -3102,11 +3102,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xorgserver = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
     pname = "xorg-server";
-    version = "1.20.12";
+    version = "1.20.13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/xserver/xorg-server-1.20.12.tar.xz";
-      sha256 = "1b4ckvxaiiiwdxwyfzbbfkr384qqy5qzfsm37z0fr08x8f9w0v9k";
+      url = "mirror://xorg/individual/xserver/xorg-server-1.20.13.tar.xz";
+      sha256 = "003371ad64bz7i2hx7idnh90yw12dbh116ssy40s70balnb4xaj0";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
@@ -3312,11 +3312,11 @@ lib.makeScope newScope (self: with self; {
   # THIS IS A GENERATED FILE.  DO NOT EDIT!
   xwd = callPackage ({ stdenv, pkg-config, fetchurl, libxkbfile, libX11, xorgproto }: stdenv.mkDerivation {
     pname = "xwd";
-    version = "1.0.7";
+    version = "1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
-      url = "mirror://xorg/individual/app/xwd-1.0.7.tar.bz2";
-      sha256 = "1537i8q8pgf0sjklakzfvjwrq5b246qjywrx9ll8xfg0p6w1as6d";
+      url = "mirror://xorg/individual/app/xwd-1.0.8.tar.bz2";
+      sha256 = "06q36fh55r62ms0igfxsanrn6gv8lh794q1bw9xzw51p2qs2papv";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index e18479c0d7a..62873ceda48 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -1,10 +1,7 @@
-#! /usr/bin/env perl
-
-# Usage:
-#
-# manually update tarballs.list
-# then run: cat tarballs.list | perl ./generate-expr-from-tarballs.pl
+#!/usr/bin/env nix-shell
+#!nix-shell --pure --keep NIX_PATH -i perl -p cacert nix perl
 
+# Usage: manually update tarballs.list then run: ./generate-expr-from-tarballs.pl tarballs.list
 
 use strict;
 use warnings;
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index a52e1a7b0a5..ec43ae9d59d 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -844,10 +844,6 @@ self: super:
     postInstall = "mkdir $out/bin";
   });
 
-  xwd = super.xwd.overrideAttrs (attrs: {
-    buildInputs = with self; attrs.buildInputs ++ [libXt];
-  });
-
   xrdb = super.xrdb.overrideAttrs (attrs: {
     configureFlags = [ "--with-cpp=${mcpp}/bin/mcpp" ];
   });
diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list
index 35f0a6b186e..f5a874754cd 100644
--- a/pkgs/servers/x11/xorg/tarballs.list
+++ b/pkgs/servers/x11/xorg/tarballs.list
@@ -36,7 +36,7 @@ mirror://xorg/individual/app/xdm-1.1.12.tar.bz2
 mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2
 mirror://xorg/individual/app/xdriinfo-1.0.6.tar.bz2
 mirror://xorg/individual/app/xev-1.2.3.tar.bz2
-mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2
+mirror://xorg/individual/app/xeyes-1.2.0.tar.bz2
 mirror://xorg/individual/app/xfd-1.1.3.tar.bz2
 mirror://xorg/individual/app/xfontsel-1.0.6.tar.bz2
 mirror://xorg/individual/app/xfs-1.2.0.tar.bz2
@@ -70,7 +70,7 @@ mirror://xorg/individual/app/xsm-1.0.4.tar.bz2
 mirror://xorg/individual/app/xstdcmap-1.0.4.tar.bz2
 mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2
 mirror://xorg/individual/app/xvinfo-1.1.4.tar.bz2
-mirror://xorg/individual/app/xwd-1.0.7.tar.bz2
+mirror://xorg/individual/app/xwd-1.0.8.tar.bz2
 mirror://xorg/individual/app/xwininfo-1.1.4.tar.bz2
 mirror://xorg/individual/app/xwud-1.0.5.tar.bz2
 mirror://xorg/individual/data/xbitmaps-1.1.2.tar.bz2
@@ -218,4 +218,4 @@ mirror://xorg/individual/util/lndir-1.0.3.tar.bz2
 mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2
 mirror://xorg/individual/util/util-macros-1.19.3.tar.bz2
 mirror://xorg/individual/util/xorg-cf-files-1.0.7.tar.bz2
-mirror://xorg/individual/xserver/xorg-server-1.20.12.tar.xz
+mirror://xorg/individual/xserver/xorg-server-1.20.13.tar.xz
diff --git a/pkgs/tools/admin/chamber/default.nix b/pkgs/tools/admin/chamber/default.nix
index 4a26603a134..524970925dd 100644
--- a/pkgs/tools/admin/chamber/default.nix
+++ b/pkgs/tools/admin/chamber/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chamber";
-  version = "2.10.1";
+  version = "2.10.2";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nIIoU+iz2uOglNaqGIhQ2kUjpFOyOx+flXXwu02UG6Y=";
+    sha256 = "sha256-JPc57s5FIoZJNKNpd5OO4vZ3j7bPTQSBcJUeNhGvOgk=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 924c6c745ce..7e4316bf52e 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -21,23 +21,33 @@ let
   sources = name: system: {
     x86_64-darwin = {
       url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
-      sha256 = "0gln8v1yyyis9sd8hldw4g1hdx1022iqqacq3lca5mfhp2j9bffk";
+      sha256 = "1a17bbvimdqq4k25lprqk9cq3lpfchd65hzjf23ha4imndpbjgqr";
     };
 
     aarch64-darwin = {
       url = "${baseUrl}/${name}-darwin-arm.tar.gz";
-      sha256 = "1wzi81a2p5wj547nb2i60iz76c78iv2pbynjb266a53i8d1ldxla";
+      sha256 = "184k1kv10g4zzzxgmwpakvg5ffxhz01dd01kb5h32mf1j5fid1zh";
     };
 
     x86_64-linux = {
       url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
-      sha256 = "1vlcwab68d8rpzkjcwj83qn35bq0awsl15p35x5qpsymmvf046l6";
+      sha256 = "0hhaq5hf5nvaah06h6v8q2hpn8hc815ihsi74dpwg6pmg9h266pr";
+    };
+
+    i686-linux = {
+      url = "${baseUrl}/${name}-linux-x86.tar.gz";
+      sha256 = "14z1nzwc0j3qhbw2ldrskd8zjsslwgsw7pxxq3v0ypc1rjibsql5";
+    };
+
+    aarch64-linux = {
+      url = "${baseUrl}/${name}-linux-arm.tar.gz";
+      sha256 = "0f6xrij2wbx57s4897bi12l9fz3flj1wyibbk7jjg0l5332h4yhr";
     };
   }.${system};
 
 in stdenv.mkDerivation rec {
   pname = "google-cloud-sdk";
-  version = "350.0.0";
+  version = "351.0.0";
 
   src = fetchurl (sources "${pname}-${version}" stdenv.hostPlatform.system);
 
@@ -114,6 +124,6 @@ in stdenv.mkDerivation rec {
     license = licenses.free;
     homepage = "https://cloud.google.com/sdk/";
     maintainers = with maintainers; [ iammrinal0 pradyuman stephenmw zimbatm ];
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/tools/inputmethods/remote-touchpad/default.nix b/pkgs/tools/inputmethods/remote-touchpad/default.nix
index a4dc6a1c463..90a438adb73 100644
--- a/pkgs/tools/inputmethods/remote-touchpad/default.nix
+++ b/pkgs/tools/inputmethods/remote-touchpad/default.nix
@@ -19,7 +19,7 @@ buildGoModule rec {
   };
 
   buildInputs = [ libX11 libXi libXt libXtst ];
-  buildFlags = [ "-tags" "portal,x11" ];
+  tags = [ "portal,x11" ];
 
   vendorSha256 = "1pgj0m67g759mcs4s34h4pq3mc7gni643z5cp6ffq4rrn8mdi060";
 
diff --git a/pkgs/tools/misc/dust/default.nix b/pkgs/tools/misc/dust/default.nix
index 85055ccba5e..01c0ff4315e 100644
--- a/pkgs/tools/misc/dust/default.nix
+++ b/pkgs/tools/misc/dust/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "du-dust";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "bootandy";
     repo = "dust";
     rev = "v${version}";
-    sha256 = "sha256-SgTEawxuz9gRxSZ9edNz2NwfJWSAwxKXxDJVpU6oTBg=";
+    sha256 = "sha256-5GhoL3by4sXhFJrNZi/UlERBa+s2oqDVVJODY0kdfxI=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-/kDF1ZOzu32Dwd5fWZGhMlEf65TAKLMPFu+ZnZxOAms=";
+  cargoSha256 = "sha256-cgH3jrZPGUHiBDeJ9qj80dU+Vbz+wHMOsCaGAvJY6mg=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index 3ef5a643259..d38a0ad7137 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -19,8 +19,8 @@ buildGoModule rec {
 
   buildInputs = [ ncurses ];
 
-  buildFlagsArray = [
-    "-ldflags=-s -w -X main.version=${version} -X main.revision=${src.rev}"
+  ldflags = [
+    "-s" "-w" "-X main.version=${version} -X main.revision=${src.rev}"
   ];
 
   # The vim plugin expects a relative path to the binary; patch it to abspath.
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index d2446829b28..44b52e27c4a 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "0.174.1";
+  version = "0.174.2";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oHH5/w1G0xlhmnUe6/qS0++qtBdDd6dUw6JfWYAWIh8=";
+    sha256 = "sha256-o/rDqYjOI+HxThQA7cflWUhCdsb6m4XOuzI753upmio=";
   };
 
   vendorSha256 = "sha256-P91wi2Fqo9+Yccqoqmsx0IbjSGUpiKIh7uOsgsR9c+0=";
diff --git a/pkgs/tools/misc/kepubify/default.nix b/pkgs/tools/misc/kepubify/default.nix
index b1ece43154f..19bf832fadf 100644
--- a/pkgs/tools/misc/kepubify/default.nix
+++ b/pkgs/tools/misc/kepubify/default.nix
@@ -14,7 +14,7 @@ buildGoModule rec {
   vendorSha256 = "sha256-bLQH7ZY2hE8fBTcW7DNoUQxe4N3m9Mv3JjjKO4cG7DY=";
 
   # remove when built with >= go 1.17
-  buildFlags = [ "-tags" "zip117" ];
+  tags = [ "zip117" ];
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/misc/maker-panel/default.nix b/pkgs/tools/misc/maker-panel/default.nix
new file mode 100644
index 00000000000..96c4d6ad61c
--- /dev/null
+++ b/pkgs/tools/misc/maker-panel/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, go-md2man
+, installShellFiles
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "maker-panel";
+  version = "0.12.4";
+
+  src = fetchFromGitHub {
+    owner = "twitchyliquid64";
+    repo = "maker-panel";
+    rev = version;
+    sha256 = "0dlsy0c46781sb652kp80pvga7pzx6xla64axir92fcgg8k803bi";
+  };
+
+  cargoSha256 = "1ar62dn0khlbm47chakrsrxd1y76gpq0sql4g9j7dqqrvkavgd7w";
+
+  nativeBuildInputs = [ go-md2man installShellFiles ];
+
+  postBuild = ''
+    go-md2man --in docs/spec-reference.md --out maker-panel.5
+  '';
+
+  postInstall = ''
+    installManPage maker-panel.5
+  '';
+
+  meta = with lib; {
+    description = "Make mechanical PCBs by combining shapes together.";
+    homepage = "https://github.com/twitchyliquid64/maker-panel";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ twitchyliquid64 ];
+  };
+}
diff --git a/pkgs/tools/misc/mathpix-snipping-tool/default.nix b/pkgs/tools/misc/mathpix-snipping-tool/default.nix
index 7e940ee4f77..a264a107990 100644
--- a/pkgs/tools/misc/mathpix-snipping-tool/default.nix
+++ b/pkgs/tools/misc/mathpix-snipping-tool/default.nix
@@ -1,12 +1,12 @@
 { appimageTools, lib, fetchurl }:
 let
   pname = "mathpix-snipping-tool";
-  version = "03.00.0025";
+  version = "03.00.0050";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://download.mathpix.com/linux/Mathpix_Snipping_Tool-x86_64.v${version}.AppImage";
-    sha256 = "0p39rsmjfz3m5s3k9pmmkqbp8f21s1cwjgspz8m47dq5jjls8ay8";
+    sha256 = "0bf4x6jffiqdss8vwy1qypv75zxi1bfc8rywsgp5qlsjq792plpb";
   };
 
   appimageContents = appimageTools.extract { inherit name src; };
diff --git a/pkgs/tools/misc/mimeo/default.nix b/pkgs/tools/misc/mimeo/default.nix
index ea79b8d2f0f..d8e09e72f73 100644
--- a/pkgs/tools/misc/mimeo/default.nix
+++ b/pkgs/tools/misc/mimeo/default.nix
@@ -2,11 +2,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "mimeo";
-  version = "2019.7";
+  version = "2021.2";
 
   src = fetchurl {
     url = "https://xyne.archlinux.ca/projects/mimeo/src/${pname}-${version}.tar.xz";
-    sha256 = "0nzn7qvmpbb17d6q16llnhz1qdmyg718q59ic4gw2rq23cd6q47r";
+    sha256 = "113ip024ggajjdx0l406g6lwypdrddxz6k3640y6lzqjivcgybjf";
   };
 
   buildInputs = [ file desktop-file-utils ];
diff --git a/pkgs/tools/misc/mmv-go/default.nix b/pkgs/tools/misc/mmv-go/default.nix
index 8787e4a838f..640b0d611e4 100644
--- a/pkgs/tools/misc/mmv-go/default.nix
+++ b/pkgs/tools/misc/mmv-go/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = "0xnrai15ww9lfk02bc9p5ssycwnqkyjj5ch1srh7yvnbw3fakx68";
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.revision=${src.rev}" ];
+  ldflags = [ "-s" "-w" "-X main.revision=${src.rev}" ];
 
   meta = with lib; {
     homepage = "https://github.com/itchyny/mmv";
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 7c730c8c4a5..1d6cce63340 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -15,9 +15,8 @@ buildGoModule rec {
     sha256 = "03713b4bkhcz61maz0r5mkd36kv3rq8rji3qcpi9zf5bkkjs1yzb";
   };
 
-  vendorSha256 = if stdenv.isDarwin
-    then "0anw3l6pq8yys2g2607ndhklb9m1i9krgjrw4wb99igavjzp3wpj"
-    else "04h463d2d7g6wqp5mzkqlszwzdbq0pix6j7n2s9s80lwg7nh8k3h";
+  vendorSha256 = "sha256-sNI2OoDsSNtcQP8rNO4OCboFqSC7v6g4xEPNRKjv3sQ=";
+  proxyVendor = true;
 
   subPackages = [ "cmd/otelcontribcol" ];
 
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 0667327d062..519d928c695 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "parallel";
-  version = "20210322";
+  version = "20210722";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-mPcbRFojoYu06bzk83S5PmptnezfiSvo0iRZ8iS4VpQ=";
+    sha256 = "0jaa5137sjw2szvmnnslkqv1n3gg2rkkgr71j7hpp5a3q15hjf9j";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/tools/misc/pferd/default.nix b/pkgs/tools/misc/pferd/default.nix
index c964a334553..5c88ea2349f 100644
--- a/pkgs/tools/misc/pferd/default.nix
+++ b/pkgs/tools/misc/pferd/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pferd";
-  version = "3.1.0";
+  version = "3.2.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "Garmelon";
     repo = "PFERD";
     rev = "v${version}";
-    sha256 = "08kcl1c8z8qx65dfz5ghmbfqyjgkng4g9ymcnhydiz8j27smkj5d";
+    sha256 = "0r75a128r8ghrccc1flmpxblfrab5kg6fypzrlfmv2aqhkqg1brb";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/misc/szyszka/default.nix b/pkgs/tools/misc/szyszka/default.nix
new file mode 100755
index 00000000000..61bc41b269b
--- /dev/null
+++ b/pkgs/tools/misc/szyszka/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, glib
+, cairo
+, pango
+, atk
+, gdk-pixbuf
+, gtk3
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "szyszka";
+  version = "2.0.0";
+
+  src = fetchFromGitHub {
+    owner = "qarmin";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-TQwDvkWWlk09kVVaVI56isJi+X9UXWnoz+2PVyK9BGc=";
+  };
+
+  cargoSha256 = "sha256-2uyMA2nIOPkc5+qImFn3eUVq2AxHu3Xj91TpkKswjao=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    glib
+    cairo
+    pango
+    atk
+    gdk-pixbuf
+    gtk3
+  ];
+
+  meta = with lib; {
+    description = "A simple but powerful and fast bulk file renamer";
+    homepage = "https://github.com/qarmin/szyszka";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/pkgs/tools/networking/dnschef/default.nix b/pkgs/tools/networking/dnschef/default.nix
new file mode 100644
index 00000000000..5dbb8980f06
--- /dev/null
+++ b/pkgs/tools/networking/dnschef/default.nix
@@ -0,0 +1,27 @@
+{ buildPythonApplication, fetchFromGitHub, dnslib, lib }:
+
+buildPythonApplication rec {
+  pname = "dnschef";
+  version = "0.4";
+
+  src = fetchFromGitHub {
+    owner = "iphelix";
+    repo = "dnschef";
+    rev = "a395411ae1f5c262d0b80d06a45a445f696f3243";
+    sha256 = "0ll3hw6w5zhzyqc2p3c9443gcp12sx6ddybg5rjpl01dh3svrk1q";
+  };
+
+  format = "other";
+  installPhase = ''
+    install -D ./dnschef.py $out/bin/dnschef
+  '';
+
+  propagatedBuildInputs = [ dnslib ];
+
+  meta = with lib; {
+    homepage = "https://github.com/iphelix/dnschef";
+    description = "Highly configurable DNS proxy for penetration testers and malware analysts";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.gfrascadorio ];
+  };
+}
diff --git a/pkgs/tools/networking/innernet/default.nix b/pkgs/tools/networking/innernet/default.nix
index f643702d625..a00164670e1 100644
--- a/pkgs/tools/networking/innernet/default.nix
+++ b/pkgs/tools/networking/innernet/default.nix
@@ -2,15 +2,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "innernet";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "tonarino";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n+xNWhOkRCIcoBHR8u+xZK81fU0usIfFhYg3BO9yXik=";
+    sha256 = "sha256-ss3BtwRnRAUPfM6yjl14rQrYZ7PHAT3s/MEHnbV7IEU=";
   };
-  cargoSha256 = "sha256-cTqQtJpuwVlUKfAK8ASf6vq6PU2NE8PT/el/Hz4HgtA=";
+  cargoSha256 = "sha256-hhsRLm8wsmvnu3wRK9s4Fjdy0bKLboAKw6qS2XQ1nsI=";
 
   nativeBuildInputs = with llvmPackages; [
     llvm
diff --git a/pkgs/tools/networking/ngrok-1/default.nix b/pkgs/tools/networking/ngrok-1/default.nix
index 82f6ed4760c..d33b749399f 100644
--- a/pkgs/tools/networking/ngrok-1/default.nix
+++ b/pkgs/tools/networking/ngrok-1/default.nix
@@ -27,7 +27,7 @@ buildGoPackage rec {
     export sourceRoot=$sourceRoot/src/ngrok
   '';
 
-  buildFlags = [ "-tags release" ];
+  tags = [ "release" ];
 
   meta = {
     homepage = "https://ngrok.com/";
diff --git a/pkgs/tools/networking/noip/default.nix b/pkgs/tools/networking/noip/default.nix
index 3425d1e3a82..4b57ef7731e 100644
--- a/pkgs/tools/networking/noip/default.nix
+++ b/pkgs/tools/networking/noip/default.nix
@@ -1,7 +1,8 @@
 {lib, stdenv, fetchurl}:
 
 stdenv.mkDerivation {
-  name = "noip-2.1.9-1";
+  pname = "noip";
+  version = "2.1.9-1";
 
   src = fetchurl {
     url = "https://www.noip.com/client/linux/noip-duc-linux.tar.gz";
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index 2ba373a2c61..46dd586c0fa 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -7,12 +7,13 @@
 # directory, but we use luajit, zeromq, and rrdtool from nixpkgs
 
 stdenv.mkDerivation rec {
-  name = "ntopng-2.0";
+  pname = "ntopng";
+  version = "2.0";
 
   src = fetchurl {
     urls = [
-      "mirror://sourceforge/project/ntop/ntopng/old/${name}.tar.gz"
-      "mirror://sourceforge/project/ntop/ntopng/${name}.tar.gz"
+      "mirror://sourceforge/project/ntop/ntopng/old/ntopng-${version}.tar.gz"
+      "mirror://sourceforge/project/ntop/ntopng/ntopng-${version}.tar.gz"
     ];
     sha256 = "0l82ivh05cmmqcvs26r6y69z849d28njipphqzvnakf43ggddgrw";
   };
diff --git a/pkgs/tools/networking/nylon/default.nix b/pkgs/tools/networking/nylon/default.nix
index 840b714fc9f..b519db4b55b 100644
--- a/pkgs/tools/networking/nylon/default.nix
+++ b/pkgs/tools/networking/nylon/default.nix
@@ -6,10 +6,11 @@ let
     paths = [ libevent.dev libevent.out ];
   };
 in
-stdenv.mkDerivation {
-  name = "nylon-1.21";
+stdenv.mkDerivation rec {
+  pname = "nylon";
+  version = "1.21";
   src = fetchurl {
-    url = "https://monkey.org/~marius/nylon/nylon-1.21.tar.gz";
+    url = "https://monkey.org/~marius/nylon/nylon-${version}.tar.gz";
     sha256 = "34c132b005c025c1a5079aae9210855c80f50dc51dde719298e1113ad73408a4";
   };
 
diff --git a/pkgs/tools/networking/pcapfix/default.nix b/pkgs/tools/networking/pcapfix/default.nix
index ee5212b9750..bdce32f0813 100644
--- a/pkgs/tools/networking/pcapfix/default.nix
+++ b/pkgs/tools/networking/pcapfix/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pcapfix-1.1.4";
+  pname = "pcapfix";
+  version = "1.1.4";
 
   src = fetchurl {
-    url = "https://f00l.de/pcapfix/${name}.tar.gz";
+    url = "https://f00l.de/pcapfix/pcapfix-${version}.tar.gz";
     sha256 = "0m6308ka33wqs568b7cwa1f5q0bv61j2nwfizdyzrazw673lnh6d";
   };
 
diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix
index a08182394b1..d797833618c 100644
--- a/pkgs/tools/networking/pdnsd/default.nix
+++ b/pkgs/tools/networking/pdnsd/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "pdnsd-1.2.9a-par";
+stdenv.mkDerivation rec {
+  pname = "pdnsd";
+  version = "1.2.9a-par";
 
   src = fetchurl {
-    url = "http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-1.2.9a-par.tar.gz";
+    url = "http://members.home.nl/p.a.rombouts/pdnsd/releases/pdnsd-${version}.tar.gz";
     sha256 = "0yragv5zk77a1hfkpnsh17vvsw8b14d6mzfng4bb7i58rb83an5v";
   };
 
diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix
index 87601b0ddf3..d7ac9ad54e6 100644
--- a/pkgs/tools/networking/pdsh/default.nix
+++ b/pkgs/tools/networking/pdsh/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, perl, readline, rsh, ssh, slurm, slurmSupport ? false }:
 
 stdenv.mkDerivation rec {
-  name = "pdsh-2.34";
+  pname = "pdsh";
+  version = "2.34";
 
   src = fetchurl {
-    url = "https://github.com/chaos/pdsh/releases/download/${name}/${name}.tar.gz";
+    url = "https://github.com/chaos/pdsh/releases/download/pdsh-${version}/pdsh-${version}.tar.gz";
     sha256 = "1s91hmhrz7rfb6h3l5k97s393rcm1ww3svp8dx5z8vkkc933wyxl";
   };
 
diff --git a/pkgs/tools/networking/polygraph/default.nix b/pkgs/tools/networking/polygraph/default.nix
index 74347ff8395..f4742e660d8 100644
--- a/pkgs/tools/networking/polygraph/default.nix
+++ b/pkgs/tools/networking/polygraph/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, openssl, zlib, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "polygraph-4.13.0";
+  pname = "polygraph";
+  version = "4.13.0";
 
   src = fetchurl {
-    url = "http://www.web-polygraph.org/downloads/srcs/${name}-src.tgz";
+    url = "http://www.web-polygraph.org/downloads/srcs/polygraph-${version}-src.tgz";
     sha256 = "1rwzci3n7q33hw3spd79adnclzwgwlxcisc9szzjmcjqhbkcpj1a";
   };
 
diff --git a/pkgs/tools/networking/snmpcheck/default.nix b/pkgs/tools/networking/snmpcheck/default.nix
new file mode 100644
index 00000000000..e27ead59e97
--- /dev/null
+++ b/pkgs/tools/networking/snmpcheck/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, lib, fetchurl, ruby }:
+
+let
+  rubyEnv = ruby.withPackages (ps: [ ps.snmp ]);
+in
+stdenv.mkDerivation rec {
+  pname = "snmpcheck";
+  version = "1.9";
+  src = fetchurl {
+    url = "http://www.nothink.org/codes/snmpcheck/snmpcheck-${version}.rb";
+    sha256 = "sha256-9xkLqbgxU1uykx+M9QsbPAH8OI/Cqn9uw6ALe23Lbq0=";
+    executable = true;
+  };
+
+  dontUnpack = true;
+
+  buildInputs = [ rubyEnv.wrappedRuby ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp $src $out/bin/snmp-check
+  '';
+
+  meta = with lib; {
+    description = "SNMP enumerator";
+    homepage = "http://www.nothink.org/codes/snmpcheck/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ elohmeier ];
+  };
+}
diff --git a/pkgs/tools/networking/srelay/default.nix b/pkgs/tools/networking/srelay/default.nix
index 9ff25d6a17c..da09395fc7a 100644
--- a/pkgs/tools/networking/srelay/default.nix
+++ b/pkgs/tools/networking/srelay/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "srelay-0.4.8";
+stdenv.mkDerivation rec {
+  pname = "srelay";
+  version = "0.4.8";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/socks-relay/socks-relay/srelay-0.4.8/srelay-0.4.8.tar.gz";
+    url = "mirror://sourceforge/project/socks-relay/socks-relay/srelay-${version}/srelay-${version}.tar.gz";
     sha256 = "1sn6005aqyfvrlkm5445cyyaj6h6wfyskfncfmds55x34hfyxpvl";
   };
 
diff --git a/pkgs/tools/networking/surfraw/default.nix b/pkgs/tools/networking/surfraw/default.nix
index 70bb5453518..44e8877eb5d 100644
--- a/pkgs/tools/networking/surfraw/default.nix
+++ b/pkgs/tools/networking/surfraw/default.nix
@@ -1,10 +1,11 @@
 {lib, stdenv, fetchurl, perl}:
 
-stdenv.mkDerivation {
-  name = "surfraw-2.3.0";
+stdenv.mkDerivation rec {
+  pname = "surfraw";
+  version = "2.3.0";
 
   src = fetchurl {
-    url = "https://gitlab.com/surfraw/Surfraw/uploads/2de827b2786ef2fe43b6f07913ca7b7f/surfraw-2.3.0.tar.gz";
+    url = "https://gitlab.com/surfraw/Surfraw/uploads/2de827b2786ef2fe43b6f07913ca7b7f/surfraw-${version}.tar.gz";
     sha256 = "099nbif0x5cbcf18snc58nx1a3q7z0v9br9p2jiq9pcc7ic2015d";
   };
 
diff --git a/pkgs/tools/networking/swec/default.nix b/pkgs/tools/networking/swec/default.nix
index c98a3417d1c..6751b1cf5eb 100644
--- a/pkgs/tools/networking/swec/default.nix
+++ b/pkgs/tools/networking/swec/default.nix
@@ -1,10 +1,11 @@
 { fetchurl, lib, stdenv, makeWrapper, perlPackages }:
 
 stdenv.mkDerivation rec {
-  name = "swec-0.4";
+  pname = "swec";
+  version = "0.4";
 
   src = fetchurl {
-    url = "http://files.zerodogg.org/swec/${name}.tar.bz2";
+    url = "http://files.zerodogg.org/swec/swec-${version}.tar.bz2";
     sha256 = "1m3971z4z1wr0paggprfz0n8ng8vsnkc9m6s3bdplgyz7qjk6jwx";
   };
 
@@ -24,9 +25,9 @@ stdenv.mkDerivation rec {
   installPhase = ''
     make install prefix="$out"
 
-    mkdir -p "$out/share/${name}"
-    cp -v default.sdf "$out/share/${name}"
-    sed -i "$out/bin/swec" -e"s|realpath(\$0)|'$out/share/${name}/swec'|g"
+    mkdir -p "$out/share/swec-${version}"
+    cp -v default.sdf "$out/share/swec-${version}"
+    sed -i "$out/bin/swec" -e"s|realpath(\$0)|'$out/share/swec-${version}/swec'|g"
 
     wrapProgram "$out/bin/swec" \
       --prefix PERL5LIB : ${with perlPackages; makePerlPath [ LWP URI HTMLParser ]}
diff --git a/pkgs/tools/networking/trickle/default.nix b/pkgs/tools/networking/trickle/default.nix
index 8a5143d1e3b..f07bf5bdca3 100644
--- a/pkgs/tools/networking/trickle/default.nix
+++ b/pkgs/tools/networking/trickle/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, libevent, libtirpc }:
 
 stdenv.mkDerivation rec {
-  name = "trickle-1.07";
+  pname = "trickle";
+  version = "1.07";
 
   src = fetchurl {
-    url = "https://monkey.org/~marius/trickle/${name}.tar.gz";
+    url = "https://monkey.org/~marius/trickle/trickle-${version}.tar.gz";
     sha256 = "0s1qq3k5mpcs9i7ng0l9fvr1f75abpbzfi1jaf3zpzbs1dz50dlx";
   };
 
diff --git a/pkgs/tools/networking/ucspi-tcp/default.nix b/pkgs/tools/networking/ucspi-tcp/default.nix
index 0d6e0a2f8d9..4b307079266 100644
--- a/pkgs/tools/networking/ucspi-tcp/default.nix
+++ b/pkgs/tools/networking/ucspi-tcp/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "ucspi-tcp-0.88";
+  pname = "ucspi-tcp";
+  version = "0.88";
 
   src = fetchurl {
-    url = "https://cr.yp.to/ucspi-tcp/${name}.tar.gz";
+    url = "https://cr.yp.to/ucspi-tcp/ucspi-tcp-${version}.tar.gz";
     sha256 = "171yl9kfm8w7l17dfxild99mbf877a9k5zg8yysgb1j8nz51a1ja";
   };
 
diff --git a/pkgs/tools/networking/udptunnel/default.nix b/pkgs/tools/networking/udptunnel/default.nix
index 6063cb38b56..362f6fbbc2c 100644
--- a/pkgs/tools/networking/udptunnel/default.nix
+++ b/pkgs/tools/networking/udptunnel/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "udptunnel-19";
+stdenv.mkDerivation rec {
+  pname = "udptunnel";
+  version = "19";
 
   src = fetchurl {
-    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/udptunnel/udptunnel-r19.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/udptunnel/udptunnel-r${version}.tar.gz";
     sha256 = "1hkrn153rdyrp9g15z4d5dq44cqlnby2bfplp6z0g3862lnv7m3l";
   };
 
diff --git a/pkgs/tools/networking/unbound/python.nix b/pkgs/tools/networking/unbound/python.nix
index fcfd93be4d6..a141d85b7fc 100644
--- a/pkgs/tools/networking/unbound/python.nix
+++ b/pkgs/tools/networking/unbound/python.nix
@@ -4,19 +4,21 @@ let
   inherit (pythonPackages) python;
 in stdenv.mkDerivation rec {
   pname = "pyunbound";
-  version = "1.9.3";
+  version = "1.13.1";
 
   src = fetchurl {
     url = "http://unbound.net/downloads/unbound-${version}.tar.gz";
-    sha256 = "1ykdy62sgzv33ggkmzwx2h0ifm7hyyxyfkb4zckv7gz4f28xsm8v";
+    sha256 = "sha256-hQTZe4/FvYlzRcldEW4O4N34yP+ZWQqytL0TJ4yfULg=";
   };
 
-  buildInputs = [ openssl expat libevent swig python ];
+  nativeBuildInputs = [ swig ];
 
-  patchPhase = ''substituteInPlace Makefile.in \
+  buildInputs = [ openssl expat libevent python ];
+
+  postPatch = ''substituteInPlace Makefile.in \
     --replace "\$(DESTDIR)\$(PYTHON_SITE_PKG)" "$out/${python.sitePackages}" \
     --replace "\$(LIBTOOL) --mode=install cp _unbound.la" "cp _unbound.la"
-    '';
+  '';
 
   preConfigure = "export PYTHON_VERSION=${python.pythonVersion}";
 
@@ -30,18 +32,22 @@ in stdenv.mkDerivation rec {
     "--enable-pie"
     "--enable-relro-now"
     "--with-pyunbound"
-    "DESTDIR=$out PREFIX="
+    "DESTDIR=$out"
+    "PREFIX="
   ];
 
   preInstall = ''
     mkdir -p $out/${python.sitePackages} $out/etc/${pname}
     cp .libs/_unbound.so .libs/libunbound.so* $out/${python.sitePackages}
     substituteInPlace _unbound.la \
-      --replace "-L.libs $PWD/libunbound.la" "-L$out/${python.sitePackages}" \
-      --replace "libdir=\'$PWD/${python.sitePackages}\'" "libdir=\'$out/${python.sitePackages}\'"
+      --replace "-L.libs $PWD/libunbound.la" "-L$out/${python.sitePackages}"
     '';
 
-  installFlags = [ "configfile=\${out}/etc/unbound/unbound.conf pyunbound-install lib" ];
+  installFlags = [
+    "configfile=\${out}/etc/unbound/unbound.conf"
+    "pyunbound-install"
+    "lib"
+  ];
 
   # All we want is the Unbound Python module
   postInstall = ''
@@ -51,8 +57,11 @@ in stdenv.mkDerivation rec {
     $out/bin/unbound-anchor -l | tail --lines=+2 - > $out/etc/${pname}/root.key
     # We don't need anything else
     rm -fR $out/bin $out/share $out/include $out/etc/unbound
-    patchelf --replace-needed libunbound.so.2 $out/${python.sitePackages}/libunbound.so.2 $out/${python.sitePackages}/_unbound.so
-    '';
+  ''
+  # patchelf is only available on Linux and no patching is needed on darwin
+  + lib.optionalString stdenv.isLinux ''
+    patchelf --replace-needed libunbound.so.8 $out/${python.sitePackages}/libunbound.so.8 $out/${python.sitePackages}/_unbound.so
+  '';
 
   meta = with lib; {
     description = "Python library for Unbound, the validating, recursive, and caching DNS resolver";
@@ -60,6 +69,5 @@ in stdenv.mkDerivation rec {
     homepage = "http://www.unbound.net";
     maintainers = with maintainers; [ leenaars ];
     platforms = lib.platforms.unix;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/uwimap/default.nix b/pkgs/tools/networking/uwimap/default.nix
index e675268163a..78480bbc3df 100644
--- a/pkgs/tools/networking/uwimap/default.nix
+++ b/pkgs/tools/networking/uwimap/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, pam, openssl }:
 
-stdenv.mkDerivation ({
-  name = "uw-imap-2007f";
+stdenv.mkDerivation rec {
+  pname = "uw-imap";
+  version = "2007f";
 
   src = fetchurl {
-    url = "ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz";
+    url = "ftp://ftp.cac.washington.edu/imap/imap-${version}.tar.gz";
     sha256 = "0a2a00hbakh0640r2wdpnwr8789z59wnk7rfsihh3j0vbhmmmqak";
   };
 
@@ -59,4 +60,4 @@ stdenv.mkDerivation ({
     echo "Cross-compilation, injecting make flags"
     makeFlagsArray+=("ARRC=${stdenv.hostPlatform.config}-ar rc")
   '';
-})
+}
diff --git a/pkgs/tools/networking/vde2/default.nix b/pkgs/tools/networking/vde2/default.nix
index 58fae3f9f15..694a2bc0205 100644
--- a/pkgs/tools/networking/vde2/default.nix
+++ b/pkgs/tools/networking/vde2/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, openssl, libpcap, python2, withPython ? false }:
 
 stdenv.mkDerivation rec {
-  name = "vde2-2.3.2";
+  pname = "vde2";
+  version = "2.3.2";
 
   src = fetchurl {
-    url = "mirror://sourceforge/vde/vde2/2.3.1/${name}.tar.gz";
+    url = "mirror://sourceforge/vde/vde2/${version}/vde2-${version}.tar.gz";
     sha256 = "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2";
   };
 
diff --git a/pkgs/tools/networking/vlan/default.nix b/pkgs/tools/networking/vlan/default.nix
index 2d329cb29b0..8ddbb834634 100644
--- a/pkgs/tools/networking/vlan/default.nix
+++ b/pkgs/tools/networking/vlan/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "vlan-1.9";
+stdenv.mkDerivation rec {
+  pname = "vlan";
+  version = "1.9";
 
   src = fetchurl {
-    url = "mirror://gentoo/distfiles/vlan.1.9.tar.gz";
+    url = "mirror://gentoo/distfiles/vlan.${version}.tar.gz";
     sha256 = "1jjc5f26hj7bk8nkjxsa8znfxcf8pgry2ipnwmj2fr6ky0dhm3rv";
   };
 
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index edb50559fc0..6928bacd6ce 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchsvn, nettools, libgcrypt, openssl, openresolv, perl, gawk, makeWrapper }:
 
 stdenv.mkDerivation {
-  name = "vpnc-0.5.3-post-r550";
+  pname = "vpnc";
+  version = "0.5.3-post-r550";
   src = fetchsvn {
     url = "https://svn.unix-ag.uni-kl.de/vpnc";
     rev = "550";
diff --git a/pkgs/tools/networking/vtun/default.nix b/pkgs/tools/networking/vtun/default.nix
index 4d79fdc9bc5..61c18af1656 100644
--- a/pkgs/tools/networking/vtun/default.nix
+++ b/pkgs/tools/networking/vtun/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, fetchpatch, openssl, lzo, zlib, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "vtun-3.0.4";
+  pname = "vtun";
+  version = "3.0.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/vtun/${name}.tar.gz";
+    url = "mirror://sourceforge/vtun/vtun-${version}.tar.gz";
     sha256 = "1fcqzn2bdjw31j1hvv6lg99v2phhszm29kp2xambxzp32mmxzy5b";
   };
 
diff --git a/pkgs/tools/networking/wakelan/default.nix b/pkgs/tools/networking/wakelan/default.nix
index 96e01141c18..5365e696fad 100644
--- a/pkgs/tools/networking/wakelan/default.nix
+++ b/pkgs/tools/networking/wakelan/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "wakelan-1.1";
+  pname = "wakelan";
+  version = "1.1";
 
   src = fetchurl {
-    url = "mirror://metalab/system/network/misc/${name}.tar.gz";
+    url = "mirror://metalab/system/network/misc/wakelan-${version}.tar.gz";
     sha256 = "0vydqpf44146ir6k87gmqaq6xy66xhc1gkr3nsd7jj3nhy7ypx9x";
   };
 
diff --git a/pkgs/tools/networking/webalizer/default.nix b/pkgs/tools/networking/webalizer/default.nix
index 332d1cf2867..200202f9ae2 100644
--- a/pkgs/tools/networking/webalizer/default.nix
+++ b/pkgs/tools/networking/webalizer/default.nix
@@ -1,10 +1,11 @@
 { lib, stdenv, fetchurl, zlib, libpng, gd, geoip, db }:
 
-stdenv.mkDerivation {
-  name = "webalizer-2.23-05";
+stdenv.mkDerivation rec {
+  pname = "webalizer";
+  version = "2.23-05";
 
   src = fetchurl {
-    url = "ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-05-src.tar.bz2";
+    url = "ftp://ftp.mrunix.net/pub/webalizer/webalizer-${version}-src.tar.bz2";
     sha256 = "0nl88y57a7gawfragj3viiigfkh5sgivfb4n0k89wzcjw278pj5g";
   };
 
diff --git a/pkgs/tools/networking/x11-ssh-askpass/default.nix b/pkgs/tools/networking/x11-ssh-askpass/default.nix
index d33dd3df12e..87bd5c77c33 100644
--- a/pkgs/tools/networking/x11-ssh-askpass/default.nix
+++ b/pkgs/tools/networking/x11-ssh-askpass/default.nix
@@ -1,12 +1,13 @@
 { lib, stdenv, fetchurl, xlibsWrapper, imake, gccmakedep }:
 
-stdenv.mkDerivation {
-  name = "x11-ssh-askpass-1.2.4.1";
+stdenv.mkDerivation rec {
+  pname = "x11-ssh-askpass";
+  version = "1.2.4.1";
 
   outputs = [ "out" "man" ];
 
   src = fetchurl {
-    url = "http://pkgs.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-1.2.4.1.tar.gz";
+    url = "http://pkgs.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-${version}.tar.gz/8f2e41f3f7eaa8543a2440454637f3c3/x11-ssh-askpass-${version}.tar.gz";
     sha256 = "620de3c32ae72185a2c9aeaec03af24242b9621964e38eb625afb6cdb30b8c88";
   };
 
diff --git a/pkgs/tools/networking/xh/default.nix b/pkgs/tools/networking/xh/default.nix
index 0a62fee4bd7..90f99120cd4 100644
--- a/pkgs/tools/networking/xh/default.nix
+++ b/pkgs/tools/networking/xh/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "xh";
-  version = "0.10.0";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "ducaale";
     repo = "xh";
     rev = "v${version}";
-    sha256 = "0b9cgjgzf1vxd9j6cz44g68xbaii8gb3973pvjf0p6barnqzvqvq";
+    sha256 = "sha256-icJBQdFWdiHCYrZ7U90g6CdXdAkv3Y/WJu0IfZAdGv0=";
   };
 
-  cargoSha256 = "0lwxmqp0ww9wf9p3nd42q89j0g7ichpkcm0mb1p5hhagwqgb0z15";
+  cargoSha256 = "sha256-htv5OQnat4Qi6A6lmVonuz+8/DWz8fOGYPbnCnlizBo=";
 
   nativeBuildInputs = [ installShellFiles pkg-config ];
 
diff --git a/pkgs/tools/networking/xnbd/default.nix b/pkgs/tools/networking/xnbd/default.nix
index 0488fb9fa18..348d557da76 100644
--- a/pkgs/tools/networking/xnbd/default.nix
+++ b/pkgs/tools/networking/xnbd/default.nix
@@ -1,14 +1,15 @@
 { lib, stdenv, fetchurl, pkg-config, autoreconfHook, glib, jansson }:
 
 stdenv.mkDerivation rec {
-  name = "xnbd-0.4.0";
+  pname = "xnbd";
+  version = "0.4.0";
 
   src = fetchurl {
-    url = "https://bitbucket.org/hirofuchi/xnbd/downloads/${name}.tgz";
+    url = "https://bitbucket.org/hirofuchi/xnbd/downloads/xnbd-${version}.tgz";
     sha256 = "00wkvsa0yaq4mabczcbfpj6rjvp02yahw8vdrq8hgb3wpm80x913";
   };
 
-  sourceRoot = "${name}/trunk";
+  sourceRoot = "xnbd-${version}/trunk";
 
   patches = [ ./0001-Fix-build-for-glibc-2.28.patch ];
 
diff --git a/pkgs/tools/security/echidna/default.nix b/pkgs/tools/security/echidna/default.nix
new file mode 100644
index 00000000000..70628b75fd6
--- /dev/null
+++ b/pkgs/tools/security/echidna/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, fetchpatch
+, fetchFromGitHub
+# Haskell deps
+, mkDerivation, aeson, ansi-terminal, base, base16-bytestring, binary, brick
+, bytestring, cborg, containers, data-dword, data-has, deepseq, directory
+, exceptions, filepath, hashable, hevm, hpack, lens, lens-aeson, megaparsec
+, MonadRandom, mtl, optparse-applicative, process, random, stm, tasty
+, tasty-hunit, tasty-quickcheck, temporary, text, transformers , unix, unliftio
+, unliftio-core, unordered-containers, vector, vector-instances, vty
+, wl-pprint-annotated, word8, yaml , extra, ListLike, semver
+}:
+mkDerivation rec {
+  pname = "echidna";
+  version = "1.7.2";
+
+  src = fetchFromGitHub {
+    owner = "crytic";
+    repo = "echidna";
+    rev = "v${version}";
+    sha256 = "sha256-eFhL8Zn8204JRrF69ibPtd7VpFW63i1iVXoGwXHlqps=";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "update-hevm-to-0.47.0.patch";
+      url = "https://github.com/crytic/echidna/commit/25dfdad93d0e0dd822f22a1c1e63a0ecf2b22a23.patch";
+      sha256 = "sha256-dj3Ie+Z4zE1fgROE/KuWZXaH9knsXJi1ai3gu5zyw/E=";
+    })
+  ];
+
+  isLibrary = true;
+  isExecutable = true;
+  libraryHaskellDepends = [
+    aeson ansi-terminal base base16-bytestring binary brick bytestring cborg
+    containers data-dword data-has deepseq directory exceptions filepath
+    hashable hevm lens lens-aeson megaparsec MonadRandom mtl
+    optparse-applicative process random stm temporary text transformers unix
+    unliftio unliftio-core unordered-containers vector vector-instances vty
+    wl-pprint-annotated word8 yaml extra ListLike semver
+  ];
+  libraryToolDepends = [ hpack ];
+  executableHaskellDepends = libraryHaskellDepends;
+  testHaskellDepends = [
+    tasty tasty-hunit tasty-quickcheck
+  ];
+  preConfigure = ''
+    hpack
+    # re-enable dynamic build for Linux
+    sed -i -e 's/os(linux)/false/' echidna.cabal
+  '';
+  shellHook = "hpack";
+  doHaddock = false;
+  # tests depend on a specific version of solc
+  doCheck = false;
+
+  description = "Ethereum smart contract fuzzer";
+  homepage = "https://github.com/crytic/echidna";
+  license = lib.licenses.agpl3Plus;
+  maintainers = with lib.maintainers; [ arturcygan ];
+  platforms = lib.platforms.unix;
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 974fabb3a27..57e5af58fa9 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-08-04";
+  version = "2021-08-05";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-DJg/pBTK2abo3eemt8XI4ecy7sZ8iH/qrJgUqrDNjjQ=";
+    sha256 = "sha256-on70ulr8B883Ty7ctmB9d8bLhK+83Qo2UqwIIrA7fkE=";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index ec240a7c715..8b65d3b8b00 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -29,7 +29,7 @@ buildGoPackage rec {
   ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ AVFoundation AudioToolbox ImageIO CoreMedia Foundation CoreGraphics MediaToolbox ];
-  buildFlags = [ "-tags production" ];
+  tags = [ "production" ];
 
   meta = with lib; {
     homepage = "https://www.keybase.io/";
diff --git a/pkgs/tools/security/keybase/kbfs.nix b/pkgs/tools/security/keybase/kbfs.nix
index 67abb57394c..dc49f9d9e77 100644
--- a/pkgs/tools/security/keybase/kbfs.nix
+++ b/pkgs/tools/security/keybase/kbfs.nix
@@ -10,7 +10,7 @@ buildGoPackage {
 
   dontRenameImports = true;
 
-  buildFlags = [ "-tags production" ];
+  tags = [ "production" ];
 
   meta = with lib; {
     homepage = "https://keybase.io/docs/kbfs";
diff --git a/pkgs/tools/security/prs/default.nix b/pkgs/tools/security/prs/default.nix
index 6d97958ec78..30e12467f83 100644
--- a/pkgs/tools/security/prs/default.nix
+++ b/pkgs/tools/security/prs/default.nix
@@ -9,20 +9,21 @@
 , gpgme
 , gtk3
 , libxcb
+, libxkbcommon
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "prs";
-  version = "0.2.11";
+  version = "0.2.13";
 
   src = fetchFromGitLab {
     owner = "timvisee";
     repo = "prs";
     rev = "v${version}";
-    sha256 = "sha256-jBHe3ZeB+GS+Ds8c6ySwoyyJfqoCWKSgIObg+z1TNmU=";
+    sha256 = "sha256-UZm147oNBbgagGKgJcaT5354Tl+MXkK+/bB+tuncH5o=";
   };
 
-  cargoSha256 = "sha256-dhQuzzML817cDIsYuZElHZfq55AdZ20xeXTNm1nJPqk=";
+  cargoSha256 = "sha256-u31xzgZVlXbraq2lTRJCKZVoHqRg8iH2kE3tkq5NwLk=";
 
   postPatch = ''
     # The GPGME backend is recommended
@@ -34,7 +35,14 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
 
-  buildInputs = [ dbus glib gpgme gtk3 libxcb ];
+  buildInputs = [
+    dbus
+    glib
+    gpgme
+    gtk3
+    libxcb
+    libxkbcommon
+  ];
 
   postInstall = ''
     for shell in bash fish zsh; do
diff --git a/pkgs/tools/security/vault/default.nix b/pkgs/tools/security/vault/default.nix
index 66a6d5e63e8..346141ca892 100644
--- a/pkgs/tools/security/vault/default.nix
+++ b/pkgs/tools/security/vault/default.nix
@@ -1,27 +1,34 @@
-{ stdenv, lib, fetchFromGitHub, buildGoPackage, installShellFiles, nixosTests
+{ stdenv, lib, fetchFromGitHub, buildGoModule, installShellFiles, nixosTests
 , makeWrapper
 , gawk
 , glibc
 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "vault";
-  version = "1.7.3";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = "vault";
     rev = "v${version}";
-    sha256 = "sha256-BO4xzZrX9eVETQWjBDBfP7TlD7sO+gLgbB330A11KAI=";
+    sha256 = "sha256-jyGymAplSe8vaSwbONtpRoAondxNBcRbFZ+YyOtr7qo=";
   };
 
-  goPackagePath = "github.com/hashicorp/vault";
+  vendorSha256 = "11mrdf7pwf8v7bb7wamv2yhixw4x06rd0qym942kk9bwif2balfp";
 
   subPackages = [ "." ];
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
-  buildFlagsArray = [ "-tags=vault" "-ldflags=-s -w -X ${goPackagePath}/sdk/version.GitCommit=${src.rev}" ];
+  tags = [ "vault" ];
+
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/hashicorp/vault/sdk/version.GitCommit=${src.rev}"
+    "-X github.com/hashicorp/vault/sdk/version.Version=${version}"
+    "-X github.com/hashicorp/vault/sdk/version.VersionPrerelease="
+  ];
 
   postInstall = ''
     echo "complete -C $out/bin/vault vault" > vault.bash
diff --git a/pkgs/tools/security/vault/vault-bin.nix b/pkgs/tools/security/vault/vault-bin.nix
index c38f370b0bf..c2f0c2ea51d 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, makeWrapper, gawk, glibc }:
 
 let
-  version = "1.7.3";
+  version = "1.8.0";
 
   sources = let
     base = "https://releases.hashicorp.com/vault/${version}";
   in {
     x86_64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_amd64.zip";
-      sha256 = "sha256-hFMTKpO3VcCondSy8amb1K8G+BZ7gZF/EXCAg5Ax4D8=";
+      sha256 = "sha256-H+kPDE8xuu2lgENf4t+vCb+Tni+ChkB8K5ZEgIY3Jyo=";
     };
     i686-linux = fetchurl {
       url = "${base}/vault_${version}_linux_386.zip";
-      sha256 = "02wbbzffb2m7y3476l5qa5dhi0v30f3sfif0svqhhzh927kg4s5w";
+      sha256 = "19c7d7yr5nm1xgrkh46pcgwwxa6iic6is06n343qaxcj0dfg43kn";
     };
     x86_64-darwin = fetchurl {
       url = "${base}/vault_${version}_darwin_amd64.zip";
-      sha256 = "0sw56dhjbasdnlwg668swhyxrn5gy7h9gysdg96za4dhq3iimkrn";
+      sha256 = "0zql0r6gmq0yqb1cbpjgwsg6cky9y43n5gsvijp6snhnp86bicdr";
     };
     aarch64-linux = fetchurl {
       url = "${base}/vault_${version}_linux_arm64.zip";
-      sha256 = "0c2w0684adaqildwviajp6pi8vp76g4zwwgc1k2bb5mwv1h2y293";
+      sha256 = "1ajkgkanq8ijcxbb5zbn9z25r0v7qcq13ivjqr0x7ql5bxm3xfmc";
     };
   };
 
diff --git a/pkgs/tools/security/wapiti/default.nix b/pkgs/tools/security/wapiti/default.nix
index 945f78dc559..cd89d4039e5 100644
--- a/pkgs/tools/security/wapiti/default.nix
+++ b/pkgs/tools/security/wapiti/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wapiti";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchFromGitHub {
     owner = "wapiti-scanner";
     repo = pname;
     rev = version;
-    sha256 = "0wnz4nq1q5y74ksb1kcss9vdih0kbrmnkfbyc2ngd9id1ixfamxb";
+    sha256 = "0663hzpmn6p5xh65d2gk4yk2zh992lfd9lhdwwabhpv3n85nza75";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -21,24 +21,34 @@ python3.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python3.pkgs; [
     beautifulsoup4
     browser-cookie3
+    cryptography
     Mako
     markupsafe
     pysocks
-    requests
+    httpx
+    httpx-ntlm
+    httpx-socks
     six
     tld
     yaswfp
   ] ++ lib.optionals (python3.pythonOlder "3.8") [ importlib-metadata ];
 
   checkInputs = with python3.pkgs; [
-    responses
+    respx
+    pytest-asyncio
     pytestCheckHook
   ];
 
   postPatch = ''
-    # Is already fixed in the repo. Will be part of the next release
+    # Ignore pinned versions
     substituteInPlace setup.py \
-      --replace "importlib_metadata==2.0.0" "importlib_metadata"
+      --replace "==" ">="
+    substituteInPlace setup.cfg \
+      --replace " --cov" ""
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
   '';
 
   disabledTests = [
@@ -47,6 +57,10 @@ python3.pkgs.buildPythonApplication rec {
     "test_bad_separator_used"
     "test_blind"
     "test_chunked_timeout"
+    "test_cookies"
+    "test_drop_cookies"
+    "test_save_and_restore_state"
+    "test_explorer_extract_links"
     "test_cookies_detection"
     "test_csrf_cases"
     "test_detection"
@@ -63,6 +77,8 @@ python3.pkgs.buildPythonApplication rec {
     "test_no_crash"
     "test_options"
     "test_out_of_band"
+    "test_multi_detection"
+    "test_vulnerabilities"
     "test_partial_tag_name_escape"
     "test_prefix_and_suffix_detection"
     "test_qs_limit"
@@ -85,6 +101,9 @@ python3.pkgs.buildPythonApplication rec {
     "test_xss_with_strong_csp"
     "test_xss_with_weak_csp"
     "test_xxe"
+    # Requires a PHP installation
+    "test_timesql"
+    "test_cookies"
   ];
 
   pythonImportsCheck = [ "wapitiCore" ];
diff --git a/pkgs/tools/system/acpica-tools/default.nix b/pkgs/tools/system/acpica-tools/default.nix
index 36ad8ff06e3..2d2033aadef 100644
--- a/pkgs/tools/system/acpica-tools/default.nix
+++ b/pkgs/tools/system/acpica-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "acpica-tools";
-  version = "20200430";
+  version = "20210730";
 
   src = fetchurl {
     url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
-    sha256 = "0z19bniqsa8y0n1qrxmb6gz7m63jpwx22zgk5ablyriixhfpz07v";
+    sha256 = "1pmm977nyl3bs71ipzcl4dh30qm8x9wm2p2ml0m62rl62kai832a";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
@@ -16,9 +16,10 @@ stdenv.mkDerivation rec {
   buildFlags = [
     "acpibin"
     "acpidump"
+    "acpiexamples"
     "acpiexec"
     "acpihelp"
-    "acpinames"
+    "acpisrc"
     "acpixtract"
   ];
 
@@ -29,7 +30,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "ACPICA Tools";
     homepage = "https://www.acpica.org/";
-    license = with licenses; [ gpl2 bsd3 ];
+    license = with licenses; [ iasl gpl2Only bsd3 ];
     platforms = platforms.linux;
     maintainers = with maintainers; [ tadfisher ];
   };
diff --git a/pkgs/tools/system/hostctl/default.nix b/pkgs/tools/system/hostctl/default.nix
index 54bc72144ea..3c366d56fca 100644
--- a/pkgs/tools/system/hostctl/default.nix
+++ b/pkgs/tools/system/hostctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "hostctl";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "guumaster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-X07JvXN1mwOQE2XBfaYbqQnQ92fBSg/Erj0yUygAqmM=";
+    sha256 = "sha256-VjFjGvIoymGVVRiZUk/qoq/PTYoklp+Jz89zndX0e5A=";
   };
 
   vendorSha256 = "sha256-rGDWrivIdl5FTu/kNR8nAfE2+1hE4cm3uDg7oBobE9M=";
diff --git a/pkgs/tools/text/ispell/default.nix b/pkgs/tools/text/ispell/default.nix
index f4403f4991f..b3dac1c48fd 100644
--- a/pkgs/tools/text/ispell/default.nix
+++ b/pkgs/tools/text/ispell/default.nix
@@ -6,25 +6,11 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://fmg-www.cs.ucla.edu/geoff/tars/${pname}-${version}.tar.gz";
-    sha256 = "1d7c2fqrdjckp91ajpkn5nnmpci2qrxqn8b6cyl0zn1afb9amxbz";
+    sha256 = "1hmfnz55qzfpz7lz0r3m4kkv31smir92ks9s5l1iiwimhr2jxi2x";
   };
 
   buildInputs = [ bison ncurses ];
 
-  patches = [
-    ./patches/0007-Use-termios.patch
-    ./patches/0008-Tex-backslash.patch
-    ./patches/0009-Fix-FTBFS-on-glibc.patch
-    ./patches/0011-Missing-prototypes.patch
-    ./patches/0012-Fix-getline.patch
-    ./patches/0013-Fix-man-pages.patch
-    ./patches/0021-Fix-gcc-warnings.patch
-    ./patches/0023-Exclusive-options.patch
-    ./patches/0024-Check-tempdir-creation.patch
-    ./patches/0025-Languages.patch
-    ./patches/0030-Display-whole-multibyte-character.patch
-  ];
-
   postPatch = ''
     cat >> local.h <<EOF
     ${lib.optionalString (!stdenv.isDarwin) "#define USG"}
@@ -43,12 +29,6 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  preBuild = ''
-    for dir in $out/share/emacs/site-lisp $out/share/info $out/share/man/man1 $out/share/man/man4 $out/bin $out/lib; do
-    mkdir -p $dir
-    done
-  '';
-
   meta = with lib; {
     description = "An interactive spell-checking program for Unix";
     homepage = "https://www.cs.hmc.edu/~geoff/ispell.html";
diff --git a/pkgs/tools/text/ispell/patches/0007-Use-termios.patch b/pkgs/tools/text/ispell/patches/0007-Use-termios.patch
deleted file mode 100644
index 299e3c01ab1..00000000000
--- a/pkgs/tools/text/ispell/patches/0007-Use-termios.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-From: Torsten Landschoff <t.landschoff@gmx.net>
-Date: Tue, 30 Mar 1999 21:05:09 +0100
-Subject: 0007 Use termios
-
-Use termios instead of termio (Closes: #35288).
-
-Patch updated on Mon, 07 Mar 2011 20:40:53 +0100 based on
-ispell-3.3.02-terminal.patch from ispell-3.3.02-102.1.src.rpm
----
- term.c |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 files changed, 58 insertions(+), 0 deletions(-)
-
-diff --git a/term.c b/term.c
-index 4923844..47c1aa0 100644
---- a/term.c
-+++ b/term.c
-@@ -87,13 +87,22 @@ static char Rcs_Id[] =
- #include "proto.h"
- #include "msgs.h"
- #ifdef USG
-+#if defined(__GLIBC__) && __GLIBC__ >= 2
-+/* Use termios under at least glibc */
-+  #include <termios.h>
-+  #define USE_TERMIOS
-+#else
- #include <termio.h>
-+#endif
- #else
- #ifndef __DJGPP__
- #include <sgtty.h>
- #endif
- #endif
- #include <signal.h>
-+#include <unistd.h>
-+#include <sys/types.h>
-+#include <sys/wait.h>
- 
- void		ierase P ((void));
- void		imove P ((int row, int col));
-@@ -166,8 +175,13 @@ static int iputch (c)
-     }
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+static struct termios	sbuf;
-+static struct termios	osbuf;
-+#else
- static struct termio	sbuf;
- static struct termio	osbuf;
-+#endif
- #else
- static struct sgttyb	sbuf;
- static struct sgttyb	osbuf;
-@@ -190,9 +204,13 @@ void terminit ()
-     int			tpgrp;
- #else
- #ifdef TIOCGPGRP
-+#ifdef USE_TERMIOS
-+    pid_t		tpgrp;
-+#else
-     int			tpgrp;
- #endif
- #endif
-+#endif
- #ifdef TIOCGWINSZ
-     struct winsize	wsize;
- #endif /* TIOCGWINSZ */
-@@ -276,7 +294,11 @@ retry:
- 	(void) fprintf (stderr, TERM_C_NO_BATCH);
- 	exit (1);
- 	}
-+#ifdef USE_TERMIOS
-+    (void) tcgetattr (0, &osbuf);
-+#else
-     (void) ioctl (0, TCGETA, (char *) &osbuf);
-+#endif
-     termchanged = 1;
- 
-     sbuf = osbuf;
-@@ -285,7 +307,11 @@ retry:
-     sbuf.c_iflag &= ~(INLCR | IGNCR | ICRNL);
-     sbuf.c_cc[VMIN] = 1;
-     sbuf.c_cc[VTIME] = 1;
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &sbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- 
-     uerasechar = osbuf.c_cc[VERASE];
-     ukillchar = osbuf.c_cc[VKILL];
-@@ -298,7 +324,11 @@ retry:
- #endif
- #endif
- #ifdef TIOCGPGRP
-+#ifdef USE_TERMIOS
-+    if ((tpgrp = tcgetpgrp (0)) == -1)
-+#else
-     if (ioctl (0, TIOCGPGRP, (char *) &tpgrp) != 0)
-+#endif
- 	{
- 	(void) fprintf (stderr, TERM_C_NO_BATCH);
- 	exit (1);
-@@ -373,7 +403,11 @@ SIGNAL_TYPE done (signo)
- 	if (te)
- 	    tputs (te, 1, iputch);
- #ifdef USG
-+#ifdef USE_TERMIOS
-+	(void) tcsetattr (0, TCSADRAIN, &osbuf);
-+#else
- 	(void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
- 	(void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -394,7 +428,11 @@ static SIGNAL_TYPE onstop (signo)
- 	if (te)
- 	    tputs (te, 1, iputch);
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSANOW, &osbuf); /* OpenSuse: TCSADRAIN */
-+#else
- 	(void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
- 	(void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -413,7 +451,11 @@ static SIGNAL_TYPE onstop (signo)
-     if (termchanged)
- 	{
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSANOW, &sbuf);
-+#else
- 	(void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- #else
- 	(void) ioctl (0, TIOCSETP, (char *) &sbuf);
- #ifdef TIOCSLTC
-@@ -481,7 +523,11 @@ int shellescape	(buf)
-     argv[i] = NULL;
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &osbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -527,7 +573,11 @@ int shellescape	(buf)
- #endif
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &sbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &sbuf);
- #ifdef TIOCSLTC
-@@ -563,7 +613,11 @@ void shescape (buf)
- #endif
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &osbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &osbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &osbuf);
- #ifdef TIOCSLTC
-@@ -611,7 +665,11 @@ void shescape (buf)
- #endif
- 
- #ifdef USG
-+#ifdef USE_TERMIOS
-+    (void) tcsetattr (0, TCSADRAIN, &sbuf);
-+#else
-     (void) ioctl (0, TCSETAW, (char *) &sbuf);
-+#endif
- #else
-     (void) ioctl (0, TIOCSETP, (char *) &sbuf);
- #ifdef TIOCSLTC
--- 
diff --git a/pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch b/pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch
deleted file mode 100644
index 21b44d505db..00000000000
--- a/pkgs/tools/text/ispell/patches/0008-Tex-backslash.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From: Ken Stevens <kstevens@ece.utah.edu>
-Date: Sat, 15 Jul 2000 22:10:53 -0400
-Subject: 0008 Tex backslash
-
-Version 3.1.20 contains an irritating bug when using latex that causes all
-sorts of problems when the backslash is used. (The backslash is a common
-character in latex that is used, among other things, to create a forced space
-similar to the tilde character.) In the current version, 3.1.20, the next TWO
-characters are skipped after a backslash. This can results in misspellings and
-the file being incorrectly parsed. (For example, if the text contains the
-sequence `\ $' math mode will not be entered until the matching $ which should
-end it, resulting in the body of the text not being spell checked and the math
-region being checked.)
-
-Make sure to undefine NO8BIT and use a larger number for MASKBITS if you are
-using iso character sets.
-
-http://www.kdstevens.com/~stevens/ispell-faq.html#bslash
----
- defmt.c |    7 +++----
- 1 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/defmt.c b/defmt.c
-index 35f93e4..7499752 100644
---- a/defmt.c
-+++ b/defmt.c
-@@ -884,6 +884,8 @@ static int TeX_math_end (bufp)
- 	return 0;
-     }
- 
-+/* Updates bufp to point to the next character to skip. */
-+/*  Should only be called on non-word characters. */
- static int TeX_math_begin (bufp)
-     unsigned char **	bufp;
-     {
-@@ -902,10 +904,7 @@ static int TeX_math_begin (bufp)
- 	if (**bufp == TEXLEFTPAREN  ||  **bufp == TEXLEFTSQUARE)
- 	    return 1;
- 	else if (!isalpha(**bufp)  &&  **bufp != '@')
--	    {
--	    (*bufp)++;
--	    continue;
--	    }
-+	    return 0;
- 	else if (TeX_strncmp (*bufp, "begin", 5) == 0)
- 	    {
- 	    if (TeX_math_check ('b', bufp))
--- 
diff --git a/pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch b/pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch
deleted file mode 100644
index dbe0db9a053..00000000000
--- a/pkgs/tools/text/ispell/patches/0009-Fix-FTBFS-on-glibc.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From: Richard Braakman <dark@dark.wapit.fi>
-Date: Fri, 2 Feb 2001 17:22:53 +0200
-Subject: 0009 Fix FTBFS on glibc
-
-Fix FTBFS on glibc (Closes: #75377)
----
- config.X |    2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/config.X b/config.X
-index 18bf621..0a47cb2 100644
---- a/config.X
-+++ b/config.X
-@@ -531,7 +531,7 @@
- #endif /* NO_MKSTEMP */
- 
- /* Aliases for some routines */
--#ifdef USG
-+#if defined (USG) && !defined(__GLIBC__)
- #define BCOPY(s, d, n)	memcpy (d, s, n)
- #define BZERO(d, n)	memset (d, 0, n)
- #define index strchr
--- 
diff --git a/pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch b/pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch
deleted file mode 100644
index 5e77b6a4f37..00000000000
--- a/pkgs/tools/text/ispell/patches/0011-Missing-prototypes.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From: Doug Porter <dsp@debian.org>
-Date: Tue, 22 Jan 2002 10:28:44 -0500
-Subject: 0011 Missing prototypes
-
-Fixing implicit declarations (Closes: #130405).
----
- correct.c |    1 +
- ijoin.c   |    2 +-
- ispell.c  |    2 ++
- lookup.c  |    2 ++
- tree.c    |    1 +
- 5 files changed, 7 insertions(+), 1 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index e2b63c8..661bf57 100644
---- a/correct.c
-+++ b/correct.c
-@@ -201,6 +201,7 @@ static char Rcs_Id[] =
-  */
- 
- #include <ctype.h>
-+#include <unistd.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
-diff --git a/ijoin.c b/ijoin.c
-index edb18d1..5da039a 100644
---- a/ijoin.c
-+++ b/ijoin.c
-@@ -115,6 +115,7 @@ static char Rcs_Id[] =
-  */
- 
- #include <stdio.h>
-+#include <string.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
-@@ -169,7 +170,6 @@ static char *		tabchar = " \t"; /* Field separator character(s) */
- static int		unpairable1 = 0; /* NZ if -a1 */
- static int		unpairable2 = 0; /* NZ if -a2 */
- 
--extern int	strcmp ();
- 
- int main (argc, argv)			/* Join files */
-     int			argc;		/* Argument count */
-diff --git a/ispell.c b/ispell.c
-index 9b509d0..59fe358 100644
---- a/ispell.c
-+++ b/ispell.c
-@@ -235,6 +235,8 @@ static char Rcs_Id[] =
- #include <fcntl.h>
- #endif /* NO_FCNTL_H */
- #include <sys/stat.h>
-+#include <ctype.h>
-+#include <unistd.h>
- 
- static void	usage P ((void));
- int		main P ((int argc, char * argv[]));
-diff --git a/lookup.c b/lookup.c
-index 648f9c8..8bf1f6c 100644
---- a/lookup.c
-+++ b/lookup.c
-@@ -87,6 +87,8 @@ static char Rcs_Id[] =
- 
- #include <fcntl.h>
- 
-+#include <sys/types.h>
-+#include <unistd.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
-diff --git a/tree.c b/tree.c
-index 073a6a6..c26f635 100644
---- a/tree.c
-+++ b/tree.c
-@@ -94,6 +94,7 @@ static char Rcs_Id[] =
- 
- #include <ctype.h>
- #include <errno.h>
-+#include <unistd.h>
- #include "config.h"
- #include "ispell.h"
- #include "proto.h"
--- 
diff --git a/pkgs/tools/text/ispell/patches/0012-Fix-getline.patch b/pkgs/tools/text/ispell/patches/0012-Fix-getline.patch
deleted file mode 100644
index ea966d67792..00000000000
--- a/pkgs/tools/text/ispell/patches/0012-Fix-getline.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From: Stefan Potyra <sistpoty@ubuntu.com>
-Date: Sat, 3 Oct 2009 04:00:34 +0200
-Subject: 0012 Fix getline
-
-getline is not provided by eglibc, avoid conflict
-
-Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549401
-Forwarded: no
----
- correct.c |   10 +++++-----
- 1 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index 661bf57..ff7cb99 100644
---- a/correct.c
-+++ b/correct.c
-@@ -246,7 +246,7 @@ static void	save_root_cap P ((ichar_t * word, ichar_t * pattern,
- 		  struct flagent * sufent,
- 		  ichar_t savearea[MAX_CAPS][INPUTWORDLEN + MAXAFFIXLEN],
- 		  int * nsaved));
--static char *	getline P ((char * buf, int bufsize));
-+static char *	getline_ispell P ((char * buf, int bufsize));
- void		askmode P ((void));
- void		copyout P ((unsigned char ** cc, int cnt));
- static void	lookharder P ((unsigned char * string));
-@@ -572,7 +572,7 @@ checkagain:
- 
- 		imove (li - 1, 0);
- 		(void) putchar ('!');
--		if (getline ((char *) buf, sizeof buf) == NULL)
-+		if (getline_ispell ((char *) buf, sizeof buf) == NULL)
- 		    {
- 		    (void) putchar (7);
- 		    ierase ();
-@@ -597,7 +597,7 @@ checkagain:
- 		    (void) printf ("%s ", CORR_C_READONLY);
- 		    }
- 		(void) printf (CORR_C_REPLACE_WITH);
--		if (getline ((char *) ctok, ctokl) == NULL)
-+		if (getline_ispell ((char *) ctok, ctokl) == NULL)
- 		    {
- 		    (void) putchar (7);
- 		    /* Put it back */
-@@ -665,7 +665,7 @@ checkagain:
- 		unsigned char	buf[100];
- 		imove (li - 1, 0);
- 		(void) printf (CORR_C_LOOKUP_PROMPT);
--		if (getline ((char *) buf, sizeof buf) == NULL)
-+		if (getline_ispell ((char *) buf, sizeof buf) == NULL)
- 		    {
- 		    (void) putchar (7);
- 		    ierase ();
-@@ -1584,7 +1584,7 @@ static void save_root_cap (word, pattern, prestrip, preadd, sufstrip, sufadd,
-     return;
-     }
- 
--static char * getline (s, len)
-+static char * getline_ispell(s, len)
-     register char *	s;
-     register int	len;
-     {
--- 
diff --git a/pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch b/pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch
deleted file mode 100644
index 9c0aedb67d7..00000000000
--- a/pkgs/tools/text/ispell/patches/0013-Fix-man-pages.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-From: David Paleino <d.paleino@gmail.com>
-Date: Mon, 9 Nov 2009 09:22:12 +0000
-Subject: 0013 Fix man pages
-
-Fix man pages, manpage-has-errors-from-man and hyphen-used-as-minus-sign
-
-Forwarded: no
----
- ispell.1X |   26 +++++++++++++-------------
- ispell.5X |   26 +++++++++++++-------------
- 2 files changed, 26 insertions(+), 26 deletions(-)
-
-diff --git a/ispell.1X b/ispell.1X
-index b27b120..79894d4 100644
---- a/ispell.1X
-+++ b/ispell.1X
-@@ -236,8 +236,8 @@ count affix-file
- .RB [ \-p | \-s]
- .RB [ \-c ]
- .I expanded-file
--.IR affix [ +addition ]
--...
-+.IR affix
-+.RI [ +addition ]
- .PP
- .B icombine
- .RB [ \-T
-@@ -336,7 +336,7 @@ The amount of context is subject to a system-imposed limit.
- If the
- .B \-V
- flag is given, characters that are not in the 7-bit ANSI printable
--character set will always be displayed in the style of "cat -v", even if
-+character set will always be displayed in the style of "cat \-v", even if
- .I ispell
- thinks that these characters are legal ISO Latin-1 on your system.
- This is useful when working with older terminals.
-@@ -542,7 +542,7 @@ option is used to specify an alternate hashed dictionary file,
- other than the default.
- If the filename does not contain a "/",
- the library directory for the default dictionary file is prefixed;
--thus, to use a dictionary in the local directory "-d ./xxx.hash" must
-+thus, to use a dictionary in the local directory "\-d ./xxx.hash" must
- be used.
- This is useful to allow dictionaries for alternate languages.
- Unlike previous versions of
-@@ -615,7 +615,7 @@ alphabetics have no meaning - alphabetics are already accepted.
- .I Ispell
- will typically be used with input from a file, meaning that preserving
- parity for possible 8 bit characters from the input text is OK.  If you
--specify the -l option, and actually type text from the terminal, this may
-+specify the \-l option, and actually type text from the terminal, this may
- create problems if your stty settings preserve parity.
- .PP
- It is not possible to use
-@@ -799,7 +799,7 @@ that the '&' is replaced by '?' (and the near-miss count is always zero).
- The suggested derivations following the near misses are in the form:
- .PP
- .RS
--[prefix+] root [-prefix] [-suffix] [+suffix]
-+[prefix+] root [\-prefix] [\-suffix] [+suffix]
- .RE
- .PP
- (e.g., "re+fry-y+ies" to get "refries")
-@@ -841,7 +841,7 @@ These output lines can be summarized as follows:
- .PP
- For example, a dummy dictionary containing the words "fray", "Frey",
- "fry", and "refried" might produce the following response to the
--command "echo 'frqy refries | ispell -a -m -d ./test.hash":
-+command "echo 'frqy refries | ispell \-a \-m \-d ./test.hash":
- .RS
- .nf
- (#) International Ispell Version 3.0.05 (beta), 08/10/91
-@@ -1036,7 +1036,7 @@ script does this.
- As an example, the command:
- .PP
- .RS
--echo BOTHER | ispell -c
-+echo BOTHER | ispell \-c
- .RE
- .PP
- produces:
-@@ -1055,7 +1055,7 @@ it expands affix flags to produce a list of words.
- For example, the command:
- .PP
- .RS
--echo BOTH/R | ispell -e
-+echo BOTH/R | ispell \-e
- .RE
- .PP
- produces:
-@@ -1268,7 +1268,7 @@ hash file if it were added to the language table.
- Only affixes that generate legal roots (found in the original input)
- are listed.
- .PP
--If the "-c" option is not given, the output lines are in the
-+If the "\-c" option is not given, the output lines are in the
- following format:
- .IP
- strip/add/count/bytes
-@@ -1298,7 +1298,7 @@ If the
- the output is made visually cleaner (but harder to post-process)
- by changing it to:
- .IP
---strip+add<tab>count<tab>bytes
-+\-strip+add<tab>count<tab>bytes
- .PP
- where
- .IR strip ,
-@@ -1313,7 +1313,7 @@ represents the ASCII tab character.
- The method used to generate possible affixes will also generate
- longer affixes which have common headers or trailers.  For example,
- the two words "moth" and "mother" will generate not only the obvious
--substitution "+er" but also "-h+her" and "-th+ther" (and possibly
-+substitution "+er" but also "\-h+her" and "\-th+ther" (and possibly
- even longer ones, depending on the value of
- .IR min ).
- To prevent
-@@ -1621,7 +1621,7 @@ redirected.
- However, a lot of the temporary space needed is for sorting, so TMPDIR
- is only a partial help on systems with an uncooperative
- .IR sort (1).
--("Cooperative" is defined as accepting the undocumented -T switch).
-+("Cooperative" is defined as accepting the undocumented \-T switch).
- At its peak usage,
- .I munchlist
- takes 10 to 40 times the original
-diff --git a/ispell.5X b/ispell.5X
-index ab526ed..7a1c2e5 100644
---- a/ispell.5X
-+++ b/ispell.5X
-@@ -137,8 +137,8 @@ This feature can be used to convert an entire dictionary if necessary:)
- 	echo qqqqq > dummy.dict
- 	buildhash dummy.dict \fIaffix-file\fP dummy.hash
- 	awk '{print "*"}END{print "#"}' \fIold-dict-file\fP \e
--	| ispell -a -T \fIold-dict-string-type\fP \e
--	  -d ./dummy.hash -p ./\fInew-dict-file\fP \e
-+	| ispell \-a \-T \fIold-dict-string-type\fP \e
-+	  \-d ./dummy.hash \-p ./\fInew-dict-file\fP \e
- 	  > /dev/null
- 	rm dummy.*
- .fi
-@@ -622,7 +622,7 @@ or
- .B stringchar
- statements.
- For example, if the hyphen is a boundary character (useful in French),
--the string "foo-bar" would be a single word, but "-foo" would be the
-+the string "foo-bar" would be a single word, but "\-foo" would be the
- same as "foo", and "foo--bar" would be two words separated by non-word
- characters.
- .PP
-@@ -916,7 +916,7 @@ The following (suffix) replacements:
- .RS
- .nf
- \&.	>	MENT
--Y	>	-Y,IES
-+Y	>	\-Y,IES
- .fi
- .RE
- .PP
-@@ -956,8 +956,8 @@ Instead, you must use two separate rules:
- .PP
- .RS
- .nf
--E	>	-E,IES
--Y	>	-Y,IES
-+E	>	\-E,IES
-+Y	>	\-Y,IES
- .fi
- .RE
- .PP
-@@ -1005,7 +1005,7 @@ For example, to specify words ending in "ED", write:
- .PP
- .RS
- .nf
--E D	>	-ED,ING		# As in covered > covering
-+E D	>	\-ED,ING		# As in covered > covering
- .fi
- .RE
- .PP
-@@ -1013,7 +1013,7 @@ If you write:
- .PP
- .RS
- .nf
--ED	>	-ED,ING
-+ED	>	\-ED,ING
- .fi
- .RE
- .PP
-@@ -1021,7 +1021,7 @@ the effect will be the same as:
- .PP
- .RS
- .nf
--[ED]	>	-ED,ING
-+[ED]	>	\-ED,ING
- .fi
- .RE
- .PP
-@@ -1047,7 +1047,7 @@ is useful, as in the following example:
- .PP
- .RS
- .nf
--$ munchlist -c oldaffixes -l newaffixes olddict > newdict
-+$ munchlist \-c oldaffixes \-l newaffixes olddict > newdict
- .fi
- .RE
- .PP
-@@ -1070,7 +1070,7 @@ flag from the English affix file:
- .RS
- .nf
- flag *S:
--    [^AEIOU]Y	>	-Y,IES	# As in imply > implies
-+    [^AEIOU]Y	>	\-Y,IES	# As in imply > implies
-     [AEIOU]Y	>	S		# As in convey > conveys
-     [SXZH]	>	ES		# As in fix > fixes
-     [^SXZHY]	>	S		# As in bat > bats
-@@ -1099,8 +1099,8 @@ For example, we could extend the English "R" flag as follows:
- flag *R:
-    E			>	R		# As in skate > skater
-    E			>	RS		# As in skate > skaters
--   [^AEIOU]Y	>	-Y,IER	# As in multiply > multiplier
--   [^AEIOU]Y	>	-Y,IERS	# As in multiply > multipliers
-+   [^AEIOU]Y	>	\-Y,IER	# As in multiply > multiplier
-+   [^AEIOU]Y	>	\-Y,IERS	# As in multiply > multipliers
-    [AEIOU]Y	>	ER		# As in convey > conveyer
-    [AEIOU]Y	>	ERS		# As in convey > conveyers
-    [^EY]		>	ER		# As in build > builder
--- 
diff --git a/pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch b/pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch
deleted file mode 100644
index 8902018dab5..00000000000
--- a/pkgs/tools/text/ispell/patches/0021-Fix-gcc-warnings.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Mon, 7 Mar 2011 22:23:56 +0100
-Subject: 0021 Fix gcc warnings
-
-Fix some gcc warnings.
----
- correct.c                |    2 +-
- languages/english/msgs.h |    8 ++++----
- tree.c                   |    2 +-
- 3 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index 79b259f..982b7c6 100644
---- a/correct.c
-+++ b/correct.c
-@@ -825,7 +825,7 @@ static void inserttoken (buf, start, tok, curchar, oktochange)
- 	for (p = start;  p != *curchar;  p++)
- 	    (void) putc (*p, logfile);
- 	(void) putc (' ', logfile);
--	(void) fputs (tok, logfile);
-+	(void) fputs ((char*) tok, logfile);
- 	(void) putc ('\n', logfile);
- 	(void) fflush (logfile);
- 	}
-diff --git a/languages/english/msgs.h b/languages/english/msgs.h
-index d33b42b..f9c87ca 100644
---- a/languages/english/msgs.h
-+++ b/languages/english/msgs.h
-@@ -182,10 +182,10 @@
- #define CORR_C_HELP_4		"next to each one.  You have the option of replacing the word%s\n"
- #define CORR_C_HELP_5		"completely, or choosing one of the suggested words.%s\n"
-     /* You may add HELP_6 through HELP_9 if your language needs more lines */
--#define CORR_C_HELP_6		""
--#define CORR_C_HELP_7		""
--#define CORR_C_HELP_8		""
--#define CORR_C_HELP_9		""
-+#define CORR_C_HELP_6		"%s"
-+#define CORR_C_HELP_7		"%s"
-+#define CORR_C_HELP_8		"%s"
-+#define CORR_C_HELP_9		"%s"
- #define CORR_C_HELP_COMMANDS	"%s\nCommands are:%s\n%s\n"
- #define CORR_C_HELP_R_CMD	"R       Replace the misspelled word completely.%s\n"
- #define CORR_C_HELP_BLANK	"Space   Accept the word this time only.%s\n"
-diff --git a/tree.c b/tree.c
-index 05a6918..229ae16 100644
---- a/tree.c
-+++ b/tree.c
-@@ -351,7 +351,7 @@ void treeinsert (word, wordlen, keep)
-     struct dent *	oldhtab;
-     unsigned int	oldhsize;
-     ichar_t		nword[INPUTWORDLEN + MAXAFFIXLEN];
--    int			isvariant;
-+    MASKTYPE		isvariant;
- 
-     /*
-      * Expand hash table when it is MAXPCT % full.
--- 
diff --git a/pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch b/pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch
deleted file mode 100644
index 392d94d27d3..00000000000
--- a/pkgs/tools/text/ispell/patches/0023-Exclusive-options.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Tue, 8 Mar 2011 21:12:23 +0100
-Subject: 0023 Exclusive options
-
-Make options -x and -b mutually exclusive
----
- ispell.c |    6 ++++--
- 1 files changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/ispell.c b/ispell.c
-index d130a0e..cd5802a 100644
---- a/ispell.c
-+++ b/ispell.c
-@@ -279,6 +279,7 @@ int main (argc, argv)
-     static char	outbuf[BUFSIZ];
-     int		argno;
-     int		arglen;
-+    int		bflag = 0;
- 
-     Cmd = *argv;
- 
-@@ -728,12 +729,13 @@ int main (argc, argv)
- 		nodictflag++;
- 		break;
- 	    case 'b':
--		if (arglen > 2)
-+		if (arglen > 2 || xflag == 1)
- 		    usage ();
- 		xflag = 0;		/* Keep a backup file */
-+		bflag = 1;
- 		break;
- 	    case 'x':
--		if (arglen > 2)
-+		if (arglen > 2 || bflag == 1)
- 		    usage ();
- 		xflag = 1;		/* Don't keep a backup file */
- 		break;
--- 
diff --git a/pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch b/pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch
deleted file mode 100644
index fd35ee34ec1..00000000000
--- a/pkgs/tools/text/ispell/patches/0024-Check-tempdir-creation.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Tue, 8 Mar 2011 21:00:31 +0100
-Subject: 0024 Check tempdir creation
-
-Fail if temporary directory cannot be created.
----
- findaffix.X |    3 ++-
- munchlist.X |    3 ++-
- subset.X    |    3 ++-
- zapdups.X   |    3 ++-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
-diff --git a/findaffix.X b/findaffix.X
-index 2c253e2..58cabab 100755
---- a/findaffix.X
-+++ b/findaffix.X
-@@ -179,7 +179,8 @@ TEMPDIR=`mktemp -d ${TDIR}/faffXXXXXXXXXX 2>/dev/null`  ||  TEMPDIR="$TDIR"
- TMP=${TEMPDIR}/faff$$
- if [ "$TEMPDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "Failed to create temporary directory; exiting"
-+    exit 1
- else
-     TOREMOVE="$TEMPDIR"
- fi
-diff --git a/munchlist.X b/munchlist.X
-index ada3f1d..47bb908 100755
---- a/munchlist.X
-+++ b/munchlist.X
-@@ -180,7 +180,8 @@ MUNCHDIR=`mktemp -d ${TDIR}/munchXXXXXXXXXX 2>/dev/null`  ||  MUNCHDIR="$TDIR"
- TMP=${MUNCHDIR}/munch$$
- if [ "$MUNCHDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "$0: Failed to create temporary directory, exiting..."
-+	exit 1
- else
-     TOREMOVE="$MUNCHDIR"
- fi
-diff --git a/subset.X b/subset.X
-index cc748ec..9c904cc 100755
---- a/subset.X
-+++ b/subset.X
-@@ -125,7 +125,8 @@ TEMPDIR=`mktemp -d ${TDIR}/ssetXXXXXXXXXX 2>/dev/null`  ||  TEMPDIR="$TDIR"
- TMP=${TEMPDIR}/sset$$
- if [ "$TEMPDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "$0: Failed to create temporary directory, exiting..."
-+    exit 1
- else
-     TOREMOVE="$TEMPDIR"
- fi
-diff --git a/zapdups.X b/zapdups.X
-index a68852a..1c610d4 100755
---- a/zapdups.X
-+++ b/zapdups.X
-@@ -111,7 +111,8 @@ TEMPDIR=`mktemp -d ${TDIR}/zapdXXXXXXXXXX 2>/dev/null`  ||  TEMPDIR="$TDIR"
- TMP=${TEMPDIR}/zapd$$
- if [ "$TEMPDIR" = "$TDIR" ]
- then
--    TOREMOVE="${TMP}*"
-+    echo "$0: Failed to create temporary directory, exiting..."
-+    exit 1
- else
-     TOREMOVE="$TEMPDIR"
- fi
--- 
diff --git a/pkgs/tools/text/ispell/patches/0025-Languages.patch b/pkgs/tools/text/ispell/patches/0025-Languages.patch
deleted file mode 100644
index ffa114d28a1..00000000000
--- a/pkgs/tools/text/ispell/patches/0025-Languages.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Tue, 8 Mar 2011 21:02:47 +0100
-Subject: 0025 Languages
-
-Fix a few words.
----
- languages/english/british.0 |    1 +
- languages/english/english.0 |    8 ++++++--
- languages/english/english.1 |    3 ++-
- 3 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/languages/english/british.0 b/languages/english/british.0
-index dc4caa7..04d9177 100644
---- a/languages/english/british.0
-+++ b/languages/english/british.0
-@@ -46,6 +46,7 @@ armour/DGMRSZ
- armoured/U
- armourer/MS
- armoury/DMS
-+artefact/MS
- atomisation/MS
- atomise/DGRSZ
- authorisation/AMS
-diff --git a/languages/english/english.0 b/languages/english/english.0
-index fc13212..f85e15a 100644
---- a/languages/english/english.0
-+++ b/languages/english/english.0
-@@ -3502,6 +3502,7 @@ closure/DGMS
- cloth/DGS
- clothe/DGS
- clothed/U
-+cloths
- cloud/DGS
- clouded/U
- cloudless/PY
-@@ -10019,9 +10020,10 @@ mystery/MS
- mystic/MS
- mystical/Y
- mysticism/S
--myth/MS
-+myth/M
- mythical/Y
- mythology/MS
-+myths
- nag/MS
- nail/DGRS
- naive/PRY
-@@ -14818,6 +14820,7 @@ tent/DGRS
- tentacle/DS
- tentative/PY
- tented/U
-+tenth
- tenths
- tenure/DS
- tenured/U
-@@ -16511,8 +16514,9 @@ youngster/MS
- your/MS
- yourself
- yourselves
--youth/MS
-+youth/M
- youthful/PY
-+youths
- yuck
- Yugoslavian/MS
- yummy/R
-diff --git a/languages/english/english.1 b/languages/english/english.1
-index 2bfac86..78a7edf 100644
---- a/languages/english/english.1
-+++ b/languages/english/english.1
-@@ -7449,7 +7449,8 @@ metalloid
- metallurgic
- metallurgical/Y
- metallurgists
--metalsmith/S
-+metalsmith
-+metalsmiths
- metalwork/GJR
- metamorphic
- metamorphism
--- 
diff --git a/pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch b/pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch
deleted file mode 100644
index bf687f04413..00000000000
--- a/pkgs/tools/text/ispell/patches/0030-Display-whole-multibyte-character.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Robert Luberda <robert@debian.org>
-Date: Mon, 21 Mar 2011 10:36:15 +0100
-Subject: 0030 Display whole multibyte character
-
-Display all bytes from multibyte characters instead of converting them
-into `cat -v' format. This fixes an ugly screen content shown while
-checking UTF-8 files.
----
- correct.c |   11 +++++++----
- 1 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/correct.c b/correct.c
-index 982b7c6..c91b41b 100644
---- a/correct.c
-+++ b/correct.c
-@@ -733,11 +733,14 @@ static int show_char (cp, linew, output, maxw)
- 	ichar = SET_SIZE + laststringch;
-     else
- 	ichar = chartoichar (ch);
--    if (!vflag  &&  iswordch (ichar)  &&  len == 1)
-+    if (!vflag  &&  iswordch (ichar)  &&  len >= 1)
- 	{
--	if (output)
--	    (void) putchar (ch);
--	(*cp)++;
-+	for (i = 0; i < len; ++i)
-+	    {
-+		if (output)
-+			(void) putchar (**cp);
-+		(*cp)++;
-+	    }
- 	return 1;
- 	}
-     if (ch == '\t')
--- 
diff --git a/pkgs/tools/text/vgrep/default.nix b/pkgs/tools/text/vgrep/default.nix
index edd0416b0ef..1eea8b7f67b 100644
--- a/pkgs/tools/text/vgrep/default.nix
+++ b/pkgs/tools/text/vgrep/default.nix
@@ -13,7 +13,7 @@ buildGoModule rec {
 
   vendorSha256 = null;
 
-  buildFlagsArray = [ "-ldflags=-s -w -X main.version=${version}" ];
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   nativeBuildInputs = [ go-md2man installShellFiles ];
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 3f977123d29..a91db037114 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -38,6 +38,7 @@ mapAliases ({
   accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
   adobeReader = adobe-reader; # added 2013-11-04
   adobe_flex_sdk = apache-flex-sdk; # added 2018-06-01
+  aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
   ag = silver-searcher; # added 2018-04-25
   aircrackng = aircrack-ng; # added 2016-01-14
   aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream."; # added 2020-11-30
@@ -52,15 +53,6 @@ mapAliases ({
   ammonite-repl = ammonite; # added 2017-05-02
   amsn = throw "amsn has been removed due to being unmaintained."; # added 2020-12-09
   antimicro = throw "antimicro has been removed as it was broken, see antimicroX instead."; # added 2020-08-06
-  apacheKafka_0_9 = throw "kafka 0.9 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_0_10 = throw "kafka 0.10 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_0_11 = throw "kafka 0.11 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_1_0 = throw "kafka 1.0 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_1_1 = throw "kafka 1.1 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_0 = throw "kafka 2.0 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_1 = throw "kafka 2.1 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_2 = throw "kafka 2.2 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
-  apacheKafka_2_3 = throw "kafka 2.3 is no longer supported. Please upgrade to a newer version."; # added 2020-12-21
   arduino_core = arduino-core;  # added 2015-02-04
   arora = throw "arora has been removed."; # added 2020-09-09
   asciidocFull = asciidoc-full;  # added 2014-06-22
@@ -215,6 +207,7 @@ mapAliases ({
   emacsPackages = emacs.pkgs; # added 2020-12-18
   emby = throw "The Emby derivation has been removed, see jellyfin instead for a free software fork."; # added 2019-05-01
   enblendenfuse = enblend-enfuse; # 2015-09-30
+  envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
   esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # added 2021-04-12
   evolution_data_server = evolution-data-server; # added 2018-02-25
   etcdctl = etcd; # added 2018-04-25
@@ -538,6 +531,7 @@ mapAliases ({
   oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # added 2019-12-10
   octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set."; # added 2021-01-24
   ofp = throw "ofp is not compatible with odp-dpdk";
+  olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
   opencl-icd = ocl-icd; # added 2017-01-20
   openconnect_pa = throw "openconnect_pa fork has been discontinued, support for GlobalProtect is now available in openconnect"; # added 2021-05-21
   openexr_ctl = ctl; # added 2018-04-25
@@ -686,6 +680,7 @@ mapAliases ({
   qvim = throw "qvim has been removed."; # added 2020-08-31
   qweechat = throw "qweechat has been removed because it was broken"; # added 2021-03-08
   qwt6 = libsForQt5.qwt;  # added 2015-12-19
+  qtkeychain = throw "the qtkeychain attribute (qt4 version) has been removes, use the qt5 version: libsForQt5.qtkeychain"; # added 2021-08-04
   qtcurve = libsForQt5.qtcurve;  # added 2020-11-07
   qtpfsgui = throw "qtpfsgui is now luminanceHDR"; # added 2019-06-26
   quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # added 2020-04-09
@@ -1119,7 +1114,7 @@ mapAliases ({
     kgamma5
     kinfocenter
     kmenuedit
-    kscreen kscreenlocker ksshaskpass ksysguard
+    kscreen kscreenlocker ksshaskpass
     kwallet-pam kwayland-integration kwin kwrited
     milou
     oxygen
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index db35a9eafdd..9c597544e28 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -369,6 +369,7 @@ in
   dockerTools = callPackage ../build-support/docker {
     writePython3 = buildPackages.writers.writePython3;
   };
+  tarsum = callPackage ../build-support/docker/tarsum.nix { };
 
   snapTools = callPackage ../build-support/snap { };
 
@@ -1510,6 +1511,8 @@ in
 
   ecdsautils = callPackage ../tools/security/ecdsautils { };
 
+  echidna = haskell.lib.justStaticExecutables (haskellPackages.callPackage (../tools/security/echidna) { });
+
   sedutil = callPackage ../tools/security/sedutil { };
 
   elvish = callPackage ../shells/elvish { };
@@ -2556,6 +2559,8 @@ in
 
   dgen-sdl = callPackage ../misc/emulators/dgen-sdl { };
 
+  dnschef = python3Packages.callPackage ../tools/networking/dnschef { };
+
   doitlive = callPackage ../tools/misc/doitlive { };
 
   dokuwiki = callPackage ../servers/web-apps/dokuwiki { };
@@ -2635,6 +2640,9 @@ in
   element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix {
     inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
   };
+  element-desktop-wayland = element-desktop.override {
+    useWayland = true;
+  };
 
   element-web = callPackage ../applications/networking/instant-messengers/element/element-web.nix {
     conf = config.element-web.conf or {};
@@ -2988,6 +2996,8 @@ in
 
   lepton = callPackage ../tools/graphics/lepton { };
 
+  lepton-eda = callPackage ../applications/science/electronics/lepton-eda { };
+
   lexicon = callPackage ../tools/admin/lexicon { };
 
   lief = callPackage ../development/libraries/lief {
@@ -3100,6 +3110,8 @@ in
 
   moodle-dl = callPackage ../tools/networking/moodle-dl { };
 
+  moonraker = callPackage ../servers/moonraker { };
+
   mousetweaks = callPackage ../applications/accessibility/mousetweaks {
     inherit (pkgs.xorg) libX11 libXtst libXfixes;
   };
@@ -7407,6 +7419,8 @@ in
 
   ngrok-1 = callPackage ../tools/networking/ngrok-1 { };
 
+  nitter = callPackage ../servers/nitter { };
+
   noice = callPackage ../applications/misc/noice { };
 
   noip = callPackage ../tools/networking/noip { };
@@ -8953,6 +8967,8 @@ in
     libpng = libpng12;
   };
 
+  snmpcheck = callPackage ../tools/networking/snmpcheck {};
+
   sniffglue = callPackage ../tools/networking/sniffglue { };
 
   snort = callPackage ../applications/networking/ids/snort { };
@@ -9044,6 +9060,8 @@ in
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
+  solc-select = with python3Packages; toPythonApplication solc-select;
+
   sourceHighlight = callPackage ../tools/text/source-highlight { };
 
   spacebar = callPackage ../os-specific/darwin/spacebar {
@@ -9841,6 +9859,8 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  sentry-native = callPackage ../development/libraries/sentry-native { };
+
   vtun = callPackage ../tools/networking/vtun {
     openssl = openssl_1_0_2;
   };
@@ -10859,6 +10879,8 @@ in
 
   devpi-server = callPackage ../development/tools/devpi-server {};
 
+  dictu = callPackage ../development/compilers/dictu { };
+
   dotty = callPackage ../development/compilers/scala/dotty.nix { jre = jre8;};
 
   ecl = callPackage ../development/compilers/ecl { };
@@ -10889,10 +10911,14 @@ in
 
   flyctl = callPackage ../development/web/flyctl { };
 
+  fluidd = callPackage ../applications/misc/fluidd { };
+
   flutterPackages =
     recurseIntoAttrs (callPackage ../development/compilers/flutter { });
   flutter = flutterPackages.stable;
 
+  fnlfmt = callPackage ../development/tools/fnlfmt { };
+
   fpc = callPackage ../development/compilers/fpc { };
 
   g203-led = callPackage ../tools/misc/g203-led { };
@@ -11635,9 +11661,12 @@ in
     inherit (darwin) libiconv libobjc libresolv;
   }) mx jvmci8 graalvm8;
 
-  inherit (callPackages ../development/compilers/graalvm/community-edition.nix {
-    inherit (darwin.apple_sdk.frameworks) Foundation;
-  }) graalvm8-ce graalvm11-ce;
+  graalvmCEPackages =
+    recurseIntoAttrs (callPackage ../development/compilers/graalvm/community-edition {
+      inherit (darwin.apple_sdk.frameworks) Foundation;
+    });
+  graalvm8-ce = graalvmCEPackages.graalvm8-ce;
+  graalvm11-ce = graalvmCEPackages.graalvm11-ce;
 
   inherit (callPackages ../development/compilers/graalvm/enterprise-edition.nix { })
     graalvm8-ee
@@ -12144,7 +12173,9 @@ in
     inherit (darwin.apple_sdk.frameworks) Security;
   };
   cargo-rr = callPackage ../development/tools/rust/cargo-rr { };
-  cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin { };
+  cargo-tarpaulin = callPackage ../development/tools/analysis/cargo-tarpaulin {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
   cargo-update = callPackage ../tools/package-management/cargo-update {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -13110,10 +13141,9 @@ in
   apacheAnt_1_9 = callPackage ../development/tools/build-managers/apache-ant/1.9.nix { };
   ant = apacheAnt;
 
-  apacheKafka = apacheKafka_2_6;
-  apacheKafka_2_4 = callPackage ../servers/apache-kafka { majorVersion = "2.4"; };
-  apacheKafka_2_5 = callPackage ../servers/apache-kafka { majorVersion = "2.5"; };
-  apacheKafka_2_6 = callPackage ../servers/apache-kafka { majorVersion = "2.6"; };
+  apacheKafka = apacheKafka_2_8;
+  apacheKafka_2_7 = callPackage ../servers/apache-kafka { majorVersion = "2.7"; };
+  apacheKafka_2_8 = callPackage ../servers/apache-kafka { majorVersion = "2.8"; };
 
   kt = callPackage ../tools/misc/kt {};
 
@@ -14450,6 +14480,8 @@ in
     stdenv = gccStdenv;
   };
 
+  szyszka = callPackage ../tools/misc/szyszka { };
+
   taplo-cli = callPackage ../development/tools/taplo-cli {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -15660,6 +15692,7 @@ in
 
   goocanvas = callPackage ../development/libraries/goocanvas { };
   goocanvas2 = callPackage ../development/libraries/goocanvas/2.x.nix { };
+  goocanvas3 = callPackage ../development/libraries/goocanvas/3.x.nix { };
   goocanvasmm2 = callPackage ../development/libraries/goocanvasmm { };
 
   gflags = callPackage ../development/libraries/gflags { };
@@ -15824,6 +15857,8 @@ in
     gdktarget = "x11";
   };
 
+  gtkextra = callPackage ../development/libraries/gtkextra { };
+
   gtk3 = callPackage ../development/libraries/gtk/3.x.nix {
     inherit (darwin.apple_sdk.frameworks) AppKit Cocoa;
   };
@@ -16230,6 +16265,8 @@ in
 
   lmdbxx = callPackage ../development/libraries/lmdbxx { };
 
+  lemon-graph = callPackage ../development/libraries/lemon-graph { };
+
   levmar = callPackage ../development/libraries/levmar { };
 
   leptonica = callPackage ../development/libraries/leptonica { };
@@ -17378,6 +17415,8 @@ in
   libva1 = callPackage ../development/libraries/libva/1.0.0.nix { };
   libva1-minimal = libva1.override { minimal = true; };
 
+  libvarlink = callPackage ../development/libraries/libvarlink { };
+
   libvdpau = callPackage ../development/libraries/libvdpau { };
 
   libmodulemd = callPackage ../development/libraries/libmodulemd { };
@@ -18247,8 +18286,6 @@ in
   qtEnv = qt5.env;
   qt5Full = qt5.full;
 
-  qtkeychain = callPackage ../development/libraries/qtkeychain { };
-
   qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
 
   quesoglc = callPackage ../development/libraries/quesoglc { };
@@ -19796,6 +19833,8 @@ in
 
   mailman-web = with python3.pkgs; toPythonApplication mailman-web;
 
+  maker-panel = callPackage ../tools/misc/maker-panel { };
+
   mastodon = callPackage ../servers/mastodon { };
 
   materialize = callPackage ../servers/sql/materialize {
@@ -22888,6 +22927,8 @@ in
 
   recursive = callPackage ../data/fonts/recursive { };
 
+  rubik = callPackage ../data/fonts/rubik { };
+
   rhodium-libre = callPackage ../data/fonts/rhodium-libre { };
 
   rictydiminished-with-firacode = callPackage ../data/fonts/rictydiminished-with-firacode { };
@@ -23292,8 +23333,6 @@ in
 
   autopanosiftc = callPackage ../applications/graphics/autopanosiftc { };
 
-  aesop = callPackage ../applications/office/aesop { };
-
   AusweisApp2 = libsForQt5.callPackage ../applications/misc/ausweisapp2 { };
 
   avidemux = libsForQt5.callPackage ../applications/video/avidemux { };
@@ -23944,8 +23983,8 @@ in
   };
 
   emacsPackagesFor = emacs: import ./emacs-packages.nix {
-    inherit (lib) makeScope makeOverridable;
-    inherit emacs;
+    inherit (lib) makeScope makeOverridable dontRecurseIntoAttrs;
+    emacs' = emacs;
     pkgs' = pkgs;  # default pkgs used for bootstrapping the emacs package set
   };
 
@@ -23953,8 +23992,6 @@ in
 
   enhanced-ctorrent = callPackage ../applications/networking/enhanced-ctorrent { };
 
-  envelope = callPackage ../applications/office/envelope { };
-
   eolie = callPackage ../applications/networking/browsers/eolie { };
 
   epdfview = callPackage ../applications/misc/epdfview { };
@@ -25827,6 +25864,8 @@ in
     ocamlPackages = ocaml-ng.ocamlPackages_4_08;
   };
 
+  mlvwm = callPackage ../applications/window-managers/mlvwm { };
+
   MMA = callPackage ../applications/audio/MMA { };
 
   mmex = callPackage ../applications/office/mmex {
@@ -26130,6 +26169,8 @@ in
 
   pcmanx-gtk2 = callPackage ../applications/misc/pcmanx-gtk2 { };
 
+  pdfmixtool = libsForQt5.callPackage ../applications/office/pdfmixtool { };
+
   pig = callPackage ../applications/networking/cluster/pig { };
 
   pijul = callPackage ../applications/version-management/pijul { };
@@ -27862,8 +27903,6 @@ in
   neovim-qt-unwrapped = libsForQt5.callPackage ../applications/editors/neovim/neovim-qt.nix { };
   neovim-qt = libsForQt5.callPackage ../applications/editors/neovim/qt.nix { };
 
-  olifant = callPackage ../applications/misc/olifant { };
-
   gnvim-unwrapped = callPackage ../applications/editors/neovim/gnvim {
     gtk = pkgs.gtk3;
   };
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 3fa2d2ea5dc..9b4d700a355 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -21,7 +21,12 @@
   (package-initialize)
 */
 
-{ pkgs', makeScope, makeOverridable, emacs }:
+{ pkgs'
+, emacs'
+, makeScope
+, makeOverridable
+, dontRecurseIntoAttrs
+}:
 
 let
 
@@ -71,7 +76,12 @@ in makeScope pkgs'.newScope (self: makeOverridable ({
   // manualPackages // { inherit manualPackages; }
   // {
 
-    inherit emacs;
+    # Propagate overriden scope
+    emacs = emacs'.overrideAttrs(old: {
+      passthru = old.passthru // {
+        pkgs = dontRecurseIntoAttrs self;
+      };
+    });
 
     trivialBuild = pkgs.callPackage ../build-support/emacs/trivial.nix {
       inherit (self) emacs;
@@ -84,7 +94,7 @@ in makeScope pkgs'.newScope (self: makeOverridable ({
     emacsWithPackages = emacsWithPackages { inherit pkgs lib; } self;
     withPackages = emacsWithPackages { inherit pkgs lib; } self;
 
-  }// {
+  } // {
 
     # Package specific priority overrides goes here
 
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 776f9134bca..160c810840e 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -610,7 +610,7 @@ let
     linenoise = callPackage ../development/ocaml-modules/linenoise { };
 
     llvm = callPackage ../development/ocaml-modules/llvm {
-      libllvm = pkgs.llvmPackages_8.libllvm;
+      libllvm = pkgs.llvmPackages_10.libllvm;
     };
 
     logs = callPackage ../development/ocaml-modules/logs { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index ff292debd20..b4e475075a1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1874,6 +1874,8 @@ in {
 
   decopatch = callPackage ../development/python-modules/decopatch { };
 
+  deemix = callPackage ../development/python-modules/deemix { };
+
   deep_merge = callPackage ../development/python-modules/deep_merge { };
 
   deepdiff = callPackage ../development/python-modules/deepdiff { };
@@ -1882,6 +1884,8 @@ in {
 
   deeptoolsintervals = callPackage ../development/python-modules/deeptoolsintervals { };
 
+  deezer-py = callPackage ../development/python-modules/deezer-py { };
+
   deezer-python = callPackage ../development/python-modules/deezer-python { };
 
   defcon = callPackage ../development/python-modules/defcon { };
@@ -2292,6 +2296,8 @@ in {
 
   email_validator = callPackage ../development/python-modules/email-validator { };
 
+  embrace = callPackage ../development/python-modules/embrace { };
+
   emcee = callPackage ../development/python-modules/emcee { };
 
   emv = callPackage ../development/python-modules/emv { };
@@ -3385,6 +3391,10 @@ in {
 
   httpx = callPackage ../development/python-modules/httpx { };
 
+  httpx-ntlm = callPackage ../development/python-modules/httpx-ntlm { };
+
+  httpx-socks = callPackage ../development/python-modules/httpx-socks { };
+
   huawei-lte-api = callPackage ../development/python-modules/huawei-lte-api { };
 
   huey = callPackage ../development/python-modules/huey { };
@@ -5990,6 +6000,8 @@ in {
 
   pyfakefs = callPackage ../development/python-modules/pyfakefs { };
 
+  pyfakewebcam = callPackage ../development/python-modules/pyfakewebcam { };
+
   pyfantom = callPackage ../development/python-modules/pyfantom { };
 
   pyfcm = callPackage ../development/python-modules/pyfcm { };
@@ -7321,6 +7333,8 @@ in {
 
   pyvera = callPackage ../development/python-modules/pyvera { };
 
+  pyverilog = callPackage ../development/python-modules/pyverilog { };
+
   pyvesync = callPackage ../development/python-modules/pyvesync { };
 
   pyvex = callPackage ../development/python-modules/pyvex { };
@@ -8162,6 +8176,8 @@ in {
 
   solax = callPackage ../development/python-modules/solax { };
 
+  solc-select = callPackage ../development/python-modules/solc-select { };
+
   solo-python = disabledIf (!pythonAtLeast "3.6") (callPackage ../development/python-modules/solo-python { });
 
   somajo = callPackage ../development/python-modules/somajo { };
@@ -8402,6 +8418,8 @@ in {
 
   stravalib = callPackage ../development/python-modules/stravalib { };
 
+  streaming-form-data = callPackage ../development/python-modules/streaming-form-data { };
+
   streamz = callPackage ../development/python-modules/streamz { };
 
   strict-rfc3339 = callPackage ../development/python-modules/strict-rfc3339 { };
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 4c3518436de..b98cbd08306 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -183,7 +183,7 @@ in (kdeFrameworks // plasma5 // plasma5.thirdParty // kdeGear // qt5 // {
   qtinstaller = callPackage ../development/libraries/qtinstaller { };
 
   qtkeychain = callPackage ../development/libraries/qtkeychain {
-    withQt5 = true;
+    inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
 
   qtpbfimageplugin = callPackage ../development/libraries/qtpbfimageplugin { };
diff --git a/pkgs/top-level/ruby-packages.nix b/pkgs/top-level/ruby-packages.nix
index 957fe10d48f..c04c88697d1 100644
--- a/pkgs/top-level/ruby-packages.nix
+++ b/pkgs/top-level/ruby-packages.nix
@@ -2522,6 +2522,16 @@
     };
     version = "0.2.0";
   };
+  snmp = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1xr7rwfk7mwxzqcgir0glmyy4j27g6yixfaswsbd2qn6r8c980qf";
+      type = "gem";
+    };
+    version = "1.3.2";
+  };
   solargraph = {
     dependencies = ["backport" "benchmark" "diff-lcs" "e2mmap" "jaro_winkler" "kramdown" "kramdown-parser-gfm" "parser" "reverse_markdown" "rubocop" "thor" "tilt" "yard"];
     groups = ["default"];