about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/contributing/submitting-changes.chapter.md2
-rw-r--r--doc/doc-support/default.nix9
-rw-r--r--doc/using/configuration.chapter.md8
-rwxr-xr-xlib/tests/modules.sh2
-rw-r--r--lib/tests/modules/functionTo/submodule-options.nix61
-rw-r--r--lib/types.nix4
-rw-r--r--maintainers/maintainer-list.nix20
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml19
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md6
-rw-r--r--nixos/lib/make-options-doc/default.nix3
-rw-r--r--nixos/lib/make-options-doc/options-to-docbook.xsl26
-rwxr-xr-xnixos/maintainers/scripts/ec2/create-amis.sh30
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix9
-rw-r--r--nixos/modules/installer/tools/nix-fallback-paths.nix10
-rw-r--r--nixos/modules/misc/locate.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix23
-rw-r--r--nixos/modules/services/networking/frr.nix11
-rw-r--r--nixos/modules/services/networking/nebula.nix1
-rw-r--r--nixos/modules/services/networking/radicale.nix2
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix3
-rw-r--r--nixos/modules/services/networking/uptermd.nix5
-rw-r--r--nixos/modules/services/networking/wg-quick.nix2
-rw-r--r--nixos/modules/services/networking/wireguard.nix10
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix41
-rw-r--r--nixos/modules/services/web-apps/nextcloud.xml2
-rw-r--r--nixos/modules/services/web-apps/restya-board.nix6
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix17
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix9
-rw-r--r--nixos/modules/services/x11/window-managers/xmonad.nix33
-rw-r--r--nixos/tests/nextcloud/default.nix2
-rw-r--r--nixos/tests/uptermd.nix7
-rw-r--r--pkgs/applications/audio/bristol/default.nix6
-rw-r--r--pkgs/applications/audio/dirt/default.nix11
-rw-r--r--pkgs/applications/audio/ecasound/default.nix2
-rw-r--r--pkgs/applications/audio/jamin/default.nix6
-rw-r--r--pkgs/applications/audio/mousai/default.nix7
-rw-r--r--pkgs/applications/audio/musikcube/default.nix6
-rw-r--r--pkgs/applications/audio/noisetorch/default.nix2
-rw-r--r--pkgs/applications/audio/pulseeffects-legacy/default.nix2
-rw-r--r--pkgs/applications/audio/ympd/default.nix9
-rw-r--r--pkgs/applications/backup/pika-backup/borg-path.patch29
-rw-r--r--pkgs/applications/backup/pika-backup/default.nix38
-rw-r--r--pkgs/applications/blockchains/alfis/default.nix6
-rw-r--r--pkgs/applications/blockchains/cgminer/default.nix7
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lightwalletd/default.nix28
-rw-r--r--pkgs/applications/blockchains/mycrypto/default.nix5
-rw-r--r--pkgs/applications/blockchains/nearcore/default.nix46
-rw-r--r--pkgs/applications/blockchains/wasabibackend/default.nix4
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix4
-rw-r--r--pkgs/applications/editors/standardnotes/default.nix6
-rw-r--r--pkgs/applications/emulators/bsnes/ares/default.nix6
-rw-r--r--pkgs/applications/emulators/bsnes/bsnes-hd/default.nix17
-rw-r--r--pkgs/applications/finance/odoo/default.nix2
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/graphics/drawio/default.nix4
-rw-r--r--pkgs/applications/graphics/drawio/headless.nix36
-rw-r--r--pkgs/applications/graphics/grafx2/default.nix6
-rw-r--r--pkgs/applications/graphics/megapixels/default.nix4
-rw-r--r--pkgs/applications/misc/authenticator/default.nix4
-rw-r--r--pkgs/applications/misc/bottles/default.nix4
-rw-r--r--pkgs/applications/misc/chrysalis/default.nix6
-rw-r--r--pkgs/applications/misc/devdocs-desktop/default.nix6
-rw-r--r--pkgs/applications/misc/gpg-mdp/default.nix11
-rw-r--r--pkgs/applications/misc/joplin-desktop/default.nix3
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/marktext/default.nix8
-rw-r--r--pkgs/applications/misc/metadata-cleaner/default.nix4
-rw-r--r--pkgs/applications/misc/notable/default.nix3
-rw-r--r--pkgs/applications/misc/octoprint/default.nix4
-rw-r--r--pkgs/applications/misc/plover/default.nix2
-rw-r--r--pkgs/applications/misc/safeeyes/default.nix2
-rw-r--r--pkgs/applications/misc/tilemaker/default.nix40
-rw-r--r--pkgs/applications/misc/tpmmanager/default.nix20
-rw-r--r--pkgs/applications/misc/zettlr/default.nix10
-rw-r--r--pkgs/applications/networking/Sylk/default.nix3
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix10
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/driftctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/krane/Gemfile.lock4
-rw-r--r--pkgs/applications/networking/cluster/krane/gemset.nix8
-rw-r--r--pkgs/applications/networking/cluster/lens/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad-pack/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/octant/desktop.nix3
-rw-r--r--pkgs/applications/networking/cluster/temporal-cli/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/temporal/default.nix30
-rw-r--r--pkgs/applications/networking/cluster/terraform-inventory/default.nix25
-rw-r--r--pkgs/applications/networking/cluster/terraform-inventory/deps.nix20
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json14
-rwxr-xr-xpkgs/applications/networking/cluster/terraform-providers/update-provider7
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix6
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/cinny/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix16
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/rambox.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix35
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix1
-rw-r--r--pkgs/applications/networking/mujmap/default.nix33
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix220
-rw-r--r--pkgs/applications/networking/nextcloud-client/default.nix10
-rw-r--r--pkgs/applications/networking/opsdroid/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/tixati/default.nix4
-rw-r--r--pkgs/applications/networking/protocol/default.nix21
-rw-r--r--pkgs/applications/networking/station/default.nix3
-rw-r--r--pkgs/applications/office/banking/default.nix7
-rw-r--r--pkgs/applications/office/fava/default.nix2
-rw-r--r--pkgs/applications/office/jameica/default.nix6
-rw-r--r--pkgs/applications/office/timeular/default.nix2
-rw-r--r--pkgs/applications/office/tusk/default.nix5
-rw-r--r--pkgs/applications/plasma-mobile/angelfish.nix6
-rw-r--r--pkgs/applications/plasma-mobile/audiotube.nix21
-rw-r--r--pkgs/applications/plasma-mobile/default.nix2
-rw-r--r--pkgs/applications/plasma-mobile/fetch.sh2
-rw-r--r--pkgs/applications/plasma-mobile/kasts.nix8
-rw-r--r--pkgs/applications/plasma-mobile/krecorder.nix2
-rw-r--r--pkgs/applications/plasma-mobile/neochat.nix (renamed from pkgs/applications/networking/instant-messengers/neochat/default.nix)12
-rw-r--r--pkgs/applications/plasma-mobile/plasma-dialer.nix16
-rw-r--r--pkgs/applications/plasma-mobile/plasma-settings.nix4
-rw-r--r--pkgs/applications/plasma-mobile/plasmatube.nix41
-rw-r--r--pkgs/applications/plasma-mobile/spacebar.nix9
-rw-r--r--pkgs/applications/plasma-mobile/srcs.nix184
-rw-r--r--pkgs/applications/radio/dmrconfig/default.nix11
-rw-r--r--pkgs/applications/science/biology/EZminc/default.nix1
-rw-r--r--pkgs/applications/science/logic/alt-ergo/default.nix6
-rw-r--r--pkgs/applications/science/logic/easycrypt/default.nix8
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/why3/default.nix4
-rw-r--r--pkgs/applications/science/logic/why3/with-provers.nix2
-rw-r--r--pkgs/applications/science/math/eukleides/default.nix6
-rw-r--r--pkgs/applications/science/math/mxnet/default.nix3
-rw-r--r--pkgs/applications/science/misc/root/5.nix1
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix4
-rw-r--r--pkgs/applications/science/physics/xfitter/0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch50
-rw-r--r--pkgs/applications/science/physics/xfitter/default.nix8
-rw-r--r--pkgs/applications/terminal-emulators/kitty/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/common.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/cgit/pink.nix10
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-ignore/default.nix13
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-sync/default.nix7
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-workspace/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/lab/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix6
-rw-r--r--pkgs/applications/video/losslesscut-bin/appimage.nix3
-rw-r--r--pkgs/applications/video/mpc-qt/default.nix19
-rw-r--r--pkgs/applications/video/screenkey/default.nix2
-rw-r--r--pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--pkgs/applications/window-managers/matchbox/default.nix11
-rw-r--r--pkgs/applications/window-managers/yeahwm/default.nix5
-rw-r--r--pkgs/build-support/go/garble.nix6
-rw-r--r--pkgs/build-support/testers/default.nix15
-rw-r--r--pkgs/data/themes/mojave/default.nix9
-rw-r--r--pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix12
-rw-r--r--pkgs/desktops/gnome/extensions/dash-to-dock/default.nix15
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-calendar/default.nix8
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-photos/default.nix14
-rw-r--r--pkgs/desktops/pantheon/apps/elementary-terminal/default.nix18
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix4
-rw-r--r--pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix4
-rw-r--r--pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix4
-rw-r--r--pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix4
-rw-r--r--pkgs/development/compilers/ccl/default.nix17
-rw-r--r--pkgs/development/compilers/go/1.17.nix21
-rw-r--r--pkgs/development/compilers/go/1.18.nix16
-rw-r--r--pkgs/development/compilers/jasmin-compiler/default.nix4
-rw-r--r--pkgs/development/compilers/spirv-llvm-translator/default.nix8
-rw-r--r--pkgs/development/compilers/tinygo/0001-Makefile.patch57
-rw-r--r--pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch55
-rw-r--r--pkgs/development/compilers/tinygo/default.nix155
-rw-r--r--pkgs/development/compilers/tinygo/go.mod14
-rw-r--r--pkgs/development/compilers/tinygo/main.go18
-rw-r--r--pkgs/development/compilers/vlang/default.nix34
-rw-r--r--pkgs/development/compilers/vlang/disable_vcreate_test.patch133
-rw-r--r--pkgs/development/compilers/yap/default.nix6
-rw-r--r--pkgs/development/coq-modules/interval/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix9
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix2
-rw-r--r--pkgs/development/interpreters/bats/default.nix10
-rw-r--r--pkgs/development/interpreters/j/default.nix105
-rw-r--r--pkgs/development/interpreters/spidermonkey/91.nix4
-rw-r--r--pkgs/development/libraries/SDL2/default.nix12
-rw-r--r--pkgs/development/libraries/atk/default.nix51
-rw-r--r--pkgs/development/libraries/console-bridge/default.nix4
-rw-r--r--pkgs/development/libraries/cpp-ipfs-api/default.nix28
-rw-r--r--pkgs/development/libraries/cpp-ipfs-http-client/default.nix35
-rw-r--r--pkgs/development/libraries/cpp-ipfs-http-client/unvendor-nlohmann-json.patch27
-rw-r--r--pkgs/development/libraries/dbus/default.nix34
-rw-r--r--pkgs/development/libraries/dbus/docs-reproducible-ids.patch15
-rw-r--r--pkgs/development/libraries/dlib/default.nix4
-rw-r--r--pkgs/development/libraries/folly/default.nix4
-rw-r--r--pkgs/development/libraries/fribidi/default.nix4
-rw-r--r--pkgs/development/libraries/gettext/default.nix6
-rw-r--r--pkgs/development/libraries/glibc/2.34-master.patch.gzbin122816 -> 331458 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix13
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix14
-rw-r--r--pkgs/development/libraries/http-parser/default.nix1
-rw-r--r--pkgs/development/libraries/icu/59.nix4
-rw-r--r--pkgs/development/libraries/icu/65.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix7
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix4
-rw-r--r--pkgs/development/libraries/libbsd/default.nix4
-rw-r--r--pkgs/development/libraries/libclc/default.nix12
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix6
-rw-r--r--pkgs/development/libraries/libfpx/default.nix12
-rw-r--r--pkgs/development/libraries/libical/default.nix12
-rw-r--r--pkgs/development/libraries/libnih/default.nix25
-rw-r--r--pkgs/development/libraries/libnotify/default.nix4
-rw-r--r--pkgs/development/libraries/libwpe/default.nix6
-rw-r--r--pkgs/development/libraries/libwpe/fdo.nix6
-rw-r--r--pkgs/development/libraries/opensaml-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/openssl/default.nix14
-rw-r--r--pkgs/development/libraries/pango/default.nix4
-rw-r--r--pkgs/development/libraries/podofo/default.nix4
-rw-r--r--pkgs/development/libraries/precice/default.nix4
-rw-r--r--pkgs/development/libraries/prometheus-client-c/default.nix7
-rw-r--r--pkgs/development/libraries/qtmpris/default.nix40
-rw-r--r--pkgs/development/libraries/rtrlib/default.nix24
-rw-r--r--pkgs/development/libraries/science/math/lrs/default.nix6
-rw-r--r--pkgs/development/libraries/sealcurses/default.nix6
-rw-r--r--pkgs/development/libraries/shibboleth-sp/default.nix2
-rw-r--r--pkgs/development/libraries/sqlite/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/tools.nix4
-rw-r--r--pkgs/development/libraries/ucommon/default.nix3
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix17
-rw-r--r--pkgs/development/libraries/webkitgtk/fdo-backend-path.patch11
-rw-r--r--pkgs/development/libraries/xdg-dbus-proxy/default.nix19
-rw-r--r--pkgs/development/libraries/xml-tooling-c/default.nix2
-rw-r--r--pkgs/development/node-packages/main-programs.nix6
-rw-r--r--pkgs/development/ocaml-modules/atdgen/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/awa/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/awa/lwt.nix2
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/dns/cli.nix1
-rw-r--r--pkgs/development/ocaml-modules/earley/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/easy-format/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/genspio/default.nix16
-rw-r--r--pkgs/development/ocaml-modules/graphql_ppx/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/hxd/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/imagelib/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/lablgtk/default.nix9
-rw-r--r--pkgs/development/ocaml-modules/lwt/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/mdx/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/default.nix1
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/stub.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocp-ocamlres/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/pgsolver/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/rebez/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/stdcompat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/twt/default.nix5
-rw-r--r--pkgs/development/python-modules/Babel/default.nix24
-rw-r--r--pkgs/development/python-modules/Mako/default.nix4
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix4
-rw-r--r--pkgs/development/python-modules/Pygments/default.nix28
-rw-r--r--pkgs/development/python-modules/agate/default.nix4
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-compat/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-later/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible/core.nix4
-rw-r--r--pkgs/development/python-modules/ansible/default.nix4
-rw-r--r--pkgs/development/python-modules/apache-airflow/default.nix2
-rw-r--r--pkgs/development/python-modules/apprise/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-core/default.nix18
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-multiapi-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/babel/default.nix25
-rw-r--r--pkgs/development/python-modules/babelgladeextractor/default.nix4
-rw-r--r--pkgs/development/python-modules/bc-python-hcl2/default.nix4
-rw-r--r--pkgs/development/python-modules/bond-api/default.nix4
-rw-r--r--pkgs/development/python-modules/bugsnag/default.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix11
-rw-r--r--pkgs/development/python-modules/cachecontrol/default.nix4
-rw-r--r--pkgs/development/python-modules/cachelib/default.nix6
-rw-r--r--pkgs/development/python-modules/calmjs-parse/default.nix6
-rw-r--r--pkgs/development/python-modules/catboost/default.nix2
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix1
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/click/default.nix8
-rw-r--r--pkgs/development/python-modules/cvxpy/default.nix4
-rw-r--r--pkgs/development/python-modules/cyclonedx-python-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/deepdiff/default.nix13
-rw-r--r--pkgs/development/python-modules/delorean/default.nix4
-rw-r--r--pkgs/development/python-modules/django-anymail/default.nix6
-rw-r--r--pkgs/development/python-modules/djangorestframework-dataclasses/default.nix38
-rw-r--r--pkgs/development/python-modules/djangorestframework/default.nix4
-rw-r--r--pkgs/development/python-modules/doc8/default.nix4
-rw-r--r--pkgs/development/python-modules/dropbox/default.nix6
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix6
-rw-r--r--pkgs/development/python-modules/ecs-logging/default.nix6
-rw-r--r--pkgs/development/python-modules/elementpath/default.nix4
-rw-r--r--pkgs/development/python-modules/fastavro/default.nix4
-rw-r--r--pkgs/development/python-modules/fastcore/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-babel/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-babelex/default.nix4
-rw-r--r--pkgs/development/python-modules/flask-security-too/default.nix4
-rw-r--r--pkgs/development/python-modules/flask/default.nix4
-rw-r--r--pkgs/development/python-modules/flaskbabel/default.nix4
-rw-r--r--pkgs/development/python-modules/fsspec/default.nix9
-rw-r--r--pkgs/development/python-modules/func-timeout/default.nix29
-rw-r--r--pkgs/development/python-modules/gcal-sync/default.nix4
-rw-r--r--pkgs/development/python-modules/gcsfs/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-datastore/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-dlp/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-speech/default.nix4
-rw-r--r--pkgs/development/python-modules/graphtage/default.nix6
-rw-r--r--pkgs/development/python-modules/gruut/default.nix4
-rw-r--r--pkgs/development/python-modules/habanero/default.nix6
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/hatchling/default.nix4
-rw-r--r--pkgs/development/python-modules/herepy/default.nix6
-rw-r--r--pkgs/development/python-modules/humanize/default.nix24
-rw-r--r--pkgs/development/python-modules/ihatemoney/default.nix4
-rw-r--r--pkgs/development/python-modules/ijson/default.nix8
-rw-r--r--pkgs/development/python-modules/internetarchive/default.nix1
-rw-r--r--pkgs/development/python-modules/ipympl/default.nix4
-rw-r--r--pkgs/development/python-modules/jinja2/default.nix8
-rw-r--r--pkgs/development/python-modules/jsonschema/default.nix19
-rw-r--r--pkgs/development/python-modules/jupyterlab_server/default.nix4
-rw-r--r--pkgs/development/python-modules/kajiki/default.nix4
-rw-r--r--pkgs/development/python-modules/lektor/default.nix4
-rw-r--r--pkgs/development/python-modules/lxmf/default.nix4
-rw-r--r--pkgs/development/python-modules/m2r/default.nix23
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/manuel/default.nix4
-rw-r--r--pkgs/development/python-modules/markdown/default.nix8
-rw-r--r--pkgs/development/python-modules/marshmallow-oneofschema/default.nix37
-rw-r--r--pkgs/development/python-modules/marshmallow/default.nix17
-rw-r--r--pkgs/development/python-modules/mkdocs-material/default.nix4
-rw-r--r--pkgs/development/python-modules/mkdocs/default.nix4
-rw-r--r--pkgs/development/python-modules/mox/default.nix37
-rw-r--r--pkgs/development/python-modules/mt-940/default.nix4
-rw-r--r--pkgs/development/python-modules/napalm/default.nix29
-rw-r--r--pkgs/development/python-modules/napalm/hp-procurve.nix6
-rw-r--r--pkgs/development/python-modules/nats-py/default.nix4
-rw-r--r--pkgs/development/python-modules/netmiko/default.nix7
-rw-r--r--pkgs/development/python-modules/nomadnet/default.nix4
-rw-r--r--pkgs/development/python-modules/numpy-stl/default.nix4
-rw-r--r--pkgs/development/python-modules/ocrmypdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/default.nix10
-rw-r--r--pkgs/development/python-modules/peaqevcore/default.nix4
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/pg8000/default.nix4
-rw-r--r--pkgs/development/python-modules/phik/default.nix7
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pip-api/default.nix52
-rw-r--r--pkgs/development/python-modules/pkgconfig/default.nix7
-rw-r--r--pkgs/development/python-modules/pkgconfig/executable.patch38
-rw-r--r--pkgs/development/python-modules/plaid-python/default.nix4
-rw-r--r--pkgs/development/python-modules/platformdirs/default.nix13
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/poetry-dynamic-versioning/default.nix4
-rw-r--r--pkgs/development/python-modules/pretend/default.nix29
-rw-r--r--pkgs/development/python-modules/pycfmodel/default.nix4
-rw-r--r--pkgs/development/python-modules/pydy/default.nix23
-rw-r--r--pkgs/development/python-modules/pyfzf/default.nix39
-rw-r--r--pkgs/development/python-modules/pygments/default.nix51
-rw-r--r--pkgs/development/python-modules/pygobject/3.nix4
-rw-r--r--pkgs/development/python-modules/pylsp-mypy/default.nix6
-rw-r--r--pkgs/development/python-modules/pymdown-extensions/default.nix17
-rw-r--r--pkgs/development/python-modules/pynetgear/default.nix4
-rw-r--r--pkgs/development/python-modules/pyparsing/default.nix17
-rw-r--r--pkgs/development/python-modules/pyrfxtrx/default.nix4
-rw-r--r--pkgs/development/python-modules/pyrogram/default.nix4
-rw-r--r--pkgs/development/python-modules/pyshark/default.nix43
-rw-r--r--pkgs/development/python-modules/pyskyqremote/default.nix4
-rw-r--r--pkgs/development/python-modules/python-heatclient/default.nix4
-rw-r--r--pkgs/development/python-modules/python-manilaclient/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/pywlroots/default.nix4
-rw-r--r--pkgs/development/python-modules/rich/default.nix4
-rw-r--r--pkgs/development/python-modules/rns/default.nix6
-rw-r--r--pkgs/development/python-modules/scikit-build/default.nix12
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix10
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/stack-data/default.nix4
-rw-r--r--pkgs/development/python-modules/starline/default.nix6
-rw-r--r--pkgs/development/python-modules/thinc/default.nix4
-rw-r--r--pkgs/development/python-modules/torchmetrics/default.nix6
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/ttp-templates/default.nix28
-rw-r--r--pkgs/development/python-modules/ttp/default.nix20
-rw-r--r--pkgs/development/python-modules/ttp/templates.nix31
-rw-r--r--pkgs/development/python-modules/twentemilieu/default.nix4
-rw-r--r--pkgs/development/python-modules/types-dateutil/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/uamqp/darwin-azure-c-shared-utility-corefoundation.patch37
-rw-r--r--pkgs/development/python-modules/uamqp/default.nix4
-rw-r--r--pkgs/development/python-modules/urlextract/default.nix4
-rw-r--r--pkgs/development/python-modules/velbus-aio/default.nix4
-rw-r--r--pkgs/development/python-modules/wcag-contrast-ratio/default.nix34
-rw-r--r--pkgs/development/python-modules/weboob/default.nix4
-rw-r--r--pkgs/development/python-modules/werkzeug/default.nix6
-rw-r--r--pkgs/development/python-modules/whois/default.nix6
-rw-r--r--pkgs/development/python-modules/woob/default.nix4
-rw-r--r--pkgs/development/python-modules/wtforms/default.nix4
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/zipp/default.nix22
-rw-r--r--pkgs/development/python2-modules/sphinx/default.nix4
-rw-r--r--pkgs/development/tools/altair-graphql-client/default.nix6
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix5
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix9
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix6
-rw-r--r--pkgs/development/tools/apkid/default.nix13
-rw-r--r--pkgs/development/tools/bashate/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/corrosion/default.nix18
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile6
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile-beta10
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile-beta.lock36
-rw-r--r--pkgs/development/tools/cocoapods/Gemfile.lock36
-rw-r--r--pkgs/development/tools/cocoapods/gemset-beta.nix57
-rw-r--r--pkgs/development/tools/cocoapods/gemset.nix57
-rw-r--r--pkgs/development/tools/dump_syms/default.nix6
-rw-r--r--pkgs/development/tools/fdroidserver/default.nix2
-rw-r--r--pkgs/development/tools/jl/default.nix23
-rw-r--r--pkgs/development/tools/konstraint/default.nix4
-rw-r--r--pkgs/development/tools/misc/autoconf/2.13.nix3
-rw-r--r--pkgs/development/tools/misc/autoconf/default.nix12
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix15
-rw-r--r--pkgs/development/tools/misc/saleae-logic-2/default.nix6
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix6
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix3
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/ppx.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix4
-rw-r--r--pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlbuild/default.nix5
-rw-r--r--pkgs/development/tools/ocaml/ocp-build/default.nix5
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json8
-rw-r--r--pkgs/development/tools/pip-audit/default.nix83
-rw-r--r--pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix2
-rw-r--r--pkgs/development/tools/protoc-gen-go-vtproto/default.nix6
-rw-r--r--pkgs/development/tools/qtcreator/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix13
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/test-neovim-lsp.nix49
-rw-r--r--pkgs/development/tools/sumneko-lua-language-server/default.nix10
-rw-r--r--pkgs/development/tools/systemfd/Cargo.nix215
-rw-r--r--pkgs/development/tools/systemfd/crates-io.list62
-rw-r--r--pkgs/development/tools/systemfd/crates-io.nix1890
-rw-r--r--pkgs/development/tools/systemfd/default.nix44
-rw-r--r--pkgs/development/tools/toxiproxy/default.nix22
-rw-r--r--pkgs/development/tools/treefmt/default.nix6
-rw-r--r--pkgs/development/tools/unityhub/default.nix6
-rw-r--r--pkgs/development/web/bloomrpc/default.nix3
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/development/web/nodejs/v17.nix15
-rw-r--r--pkgs/development/web/nodejs/v18.nix4
-rw-r--r--pkgs/games/anki/bin.nix10
-rw-r--r--pkgs/games/brogue/default.nix11
-rw-r--r--pkgs/games/cl-wordle/default.nix14
-rw-r--r--pkgs/games/egoboo/default.nix5
-rw-r--r--pkgs/games/heroic/default.nix6
-rw-r--r--pkgs/games/liquidwar/5.nix9
-rw-r--r--pkgs/misc/rich-cli/default.nix13
-rw-r--r--pkgs/misc/wiki-tui/default.nix6
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix18
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt2
-rw-r--r--pkgs/os-specific/darwin/dockutil/default.nix27
-rw-r--r--pkgs/os-specific/darwin/moltenvk/default.nix1
-rw-r--r--pkgs/os-specific/linux/audit/default.nix8
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix13
-rw-r--r--pkgs/os-specific/linux/batman-adv/version.nix8
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix1
-rw-r--r--pkgs/os-specific/linux/disk-indicator/default.nix29
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json60
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.17.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.4.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/xanmod-kernels.nix10
-rw-r--r--pkgs/os-specific/linux/kmscube/default.nix11
-rw-r--r--pkgs/os-specific/linux/latencytop/default.nix10
-rw-r--r--pkgs/os-specific/linux/light/default.nix12
-rw-r--r--pkgs/os-specific/linux/restool/default.nix6
-rw-r--r--pkgs/os-specific/linux/rt-tests/default.nix34
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix13
-rw-r--r--pkgs/os-specific/windows/default.nix2
-rw-r--r--pkgs/os-specific/windows/npiperelay/default.nix23
-rw-r--r--pkgs/servers/bloat/default.nix42
-rw-r--r--pkgs/servers/computing/storm/default.nix4
-rw-r--r--pkgs/servers/frr/default.nix3
-rw-r--r--pkgs/servers/gemini/agate/default.nix17
-rw-r--r--pkgs/servers/heisenbridge/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix4
-rw-r--r--pkgs/servers/home-assistant/default.nix4
-rw-r--r--pkgs/servers/icingaweb2/ipl.nix4
-rw-r--r--pkgs/servers/invidious/lsquic.nix53
-rw-r--r--pkgs/servers/invidious/shards.nix8
-rwxr-xr-xpkgs/servers/invidious/update.sh2
-rw-r--r--pkgs/servers/invidious/versions.json8
-rw-r--r--pkgs/servers/mail/mailman/hyperkitty.nix10
-rw-r--r--pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix6
-rw-r--r--pkgs/servers/monitoring/icinga2/default.nix4
-rw-r--r--pkgs/servers/monitoring/lcdproc/default.nix9
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix1
-rw-r--r--pkgs/servers/monitoring/prometheus/nginx-exporter.nix20
-rw-r--r--pkgs/servers/nextcloud/default.nix6
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/radicale/3.x.nix1
-rw-r--r--pkgs/servers/web-apps/netbox/default.nix33
-rw-r--r--pkgs/servers/web-apps/searx/default.nix2
-rw-r--r--pkgs/servers/web-apps/wiki-js/default.nix4
-rw-r--r--pkgs/servers/zoneminder/default.nix4
-rw-r--r--pkgs/shells/any-nix-shell/default.nix4
-rw-r--r--pkgs/shells/bash/5.1.nix3
-rw-r--r--pkgs/shells/bash/bash-completion/default.nix1
-rw-r--r--pkgs/shells/bash/nix-bash-completions/default.nix1
-rw-r--r--pkgs/shells/bash/undistract-me/default.nix2
-rw-r--r--pkgs/shells/bash/yarn-completion/default.nix1
-rw-r--r--pkgs/shells/dash/default.nix1
-rw-r--r--pkgs/shells/dgsh/default.nix3
-rw-r--r--pkgs/shells/elvish/default.nix1
-rw-r--r--pkgs/shells/es/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix1
-rw-r--r--pkgs/shells/fish/oh-my-fish/default.nix3
-rw-r--r--pkgs/shells/jush/default.nix1
-rw-r--r--pkgs/shells/liquidprompt/default.nix1
-rw-r--r--pkgs/shells/loksh/default.nix2
-rw-r--r--pkgs/shells/mksh/default.nix1
-rw-r--r--pkgs/shells/mrsh/default.nix1
-rw-r--r--pkgs/shells/oil/default.nix1
-rw-r--r--pkgs/shells/oksh/default.nix2
-rw-r--r--pkgs/shells/pash/default.nix1
-rw-r--r--pkgs/shells/powershell/default.nix1
-rw-r--r--pkgs/shells/rc/default.nix5
-rw-r--r--pkgs/shells/rush/default.nix10
-rw-r--r--pkgs/shells/scponly/default.nix11
-rw-r--r--pkgs/shells/tcsh/default.nix1
-rw-r--r--pkgs/shells/yash/default.nix1
-rw-r--r--pkgs/shells/zsh/agkozak-zsh-prompt/default.nix1
-rw-r--r--pkgs/shells/zsh/antigen/default.nix1
-rw-r--r--pkgs/shells/zsh/default.nix3
-rw-r--r--pkgs/shells/zsh/fzf-zsh/default.nix1
-rw-r--r--pkgs/shells/zsh/gradle-completion/default.nix2
-rw-r--r--pkgs/shells/zsh/grml-zsh-config/default.nix4
-rw-r--r--pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix1
-rw-r--r--pkgs/shells/zsh/nix-zsh-completions/default.nix1
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix5
-rw-r--r--pkgs/shells/zsh/pure-prompt/default.nix1
-rw-r--r--pkgs/shells/zsh/spaceship-prompt/default.nix1
-rw-r--r--pkgs/shells/zsh/zinit/default.nix1
-rw-r--r--pkgs/shells/zsh/zplug/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-autocomplete/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-autopair/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-autosuggestions/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-bd/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-better-npm-completion/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-clipboard/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-command-time/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-completions/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-deer/default.nix2
-rw-r--r--pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-history-search-multi-word/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-history-substring-search/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-nix-shell/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel10k/default.nix5
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel9k/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-prezto/default.nix5
-rw-r--r--pkgs/shells/zsh/zsh-syntax-highlighting/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-system-clipboard/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-vi-mode/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-you-should-use/default.nix1
-rw-r--r--pkgs/shells/zsh/zsh-z/default.nix1
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix4
-rw-r--r--pkgs/tools/admin/adtool/default.nix6
-rw-r--r--pkgs/tools/admin/docker-credential-gcr/default.nix27
-rw-r--r--pkgs/tools/admin/docker-credential-helpers/default.nix2
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix4
-rw-r--r--pkgs/tools/admin/syft/default.nix19
-rw-r--r--pkgs/tools/admin/trivy/default.nix13
-rw-r--r--pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch21
-rw-r--r--pkgs/tools/audio/beets/builtin-plugins.nix95
-rw-r--r--pkgs/tools/audio/beets/common.nix147
-rw-r--r--pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch34
-rw-r--r--pkgs/tools/audio/beets/default.nix317
-rw-r--r--pkgs/tools/audio/beets/imagemagick-nix-path.patch20
-rw-r--r--pkgs/tools/audio/beets/patches/bash-completion-always-print.patch (renamed from pkgs/tools/audio/beets/bash-completion-always-print.patch)0
-rw-r--r--pkgs/tools/audio/beets/plugins/alternatives.nix6
-rw-r--r--pkgs/tools/audio/beets/plugins/copyartifacts.nix18
-rw-r--r--pkgs/tools/audio/beets/plugins/extrafiles.nix14
-rw-r--r--pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch26
-rw-r--r--pkgs/tools/audio/mpris-scrobbler/default.nix4
-rw-r--r--pkgs/tools/backup/btar/default.nix6
-rw-r--r--pkgs/tools/bluetooth/bluez-tools/default.nix6
-rw-r--r--pkgs/tools/compression/lzip/default.nix5
-rw-r--r--pkgs/tools/filesystems/9pfs/default.nix6
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix5
-rw-r--r--pkgs/tools/filesystems/httm/default.nix6
-rw-r--r--pkgs/tools/filesystems/hubicfuse/default.nix6
-rw-r--r--pkgs/tools/filesystems/jfsutils/default.nix6
-rw-r--r--pkgs/tools/misc/addic7ed-cli/default.nix (renamed from pkgs/development/python-modules/addic7ed-cli/default.nix)0
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/dua/default.nix7
-rw-r--r--pkgs/tools/misc/esphome/dashboard.nix4
-rw-r--r--pkgs/tools/misc/esphome/default.nix4
-rw-r--r--pkgs/tools/misc/fontforge/default.nix1
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/neofetch/default.nix10
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix6
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/pandoc-drawio-filter/default.nix23
-rw-r--r--pkgs/tools/misc/shellspec/default.nix4
-rw-r--r--pkgs/tools/misc/txr/default.nix4
-rw-r--r--pkgs/tools/misc/wimboot/default.nix2
-rw-r--r--pkgs/tools/misc/wootility/default.nix3
-rw-r--r--pkgs/tools/misc/yt-dlp/default.nix6
-rw-r--r--pkgs/tools/misc/yubikey-personalization/default.nix8
-rw-r--r--pkgs/tools/misc/zabbixctl/default.nix16
-rw-r--r--pkgs/tools/misc/zabbixctl/deps.nix111
-rw-r--r--pkgs/tools/networking/argus-clients/default.nix4
-rw-r--r--pkgs/tools/networking/aria2/default.nix3
-rw-r--r--pkgs/tools/networking/babeld/default.nix4
-rw-r--r--pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch51
-rw-r--r--pkgs/tools/networking/curl/default.nix22
-rw-r--r--pkgs/tools/networking/goreplay/default.nix23
-rw-r--r--pkgs/tools/networking/hping/default.nix11
-rw-r--r--pkgs/tools/networking/iftop/default.nix6
-rw-r--r--pkgs/tools/networking/iouyap/default.nix5
-rw-r--r--pkgs/tools/networking/lsh/default.nix7
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/l2tp/default.nix57
-rw-r--r--pkgs/tools/networking/networkmanager/l2tp/fix-paths.patch36
-rw-r--r--pkgs/tools/networking/networkmanager/strongswan/default.nix48
-rw-r--r--pkgs/tools/networking/proxychains-ng/default.nix23
-rw-r--r--pkgs/tools/networking/proxychains/default.nix4
-rw-r--r--pkgs/tools/networking/ua/default.nix19
-rw-r--r--pkgs/tools/networking/ua/deps.nix57
-rw-r--r--pkgs/tools/nix/alejandra/default.nix6
-rw-r--r--pkgs/tools/nix/npins/default.nix44
-rw-r--r--pkgs/tools/nix/npins/source.nix57
-rw-r--r--pkgs/tools/nix/npins/sources.json19
-rw-r--r--pkgs/tools/package-management/cde/default.nix8
-rw-r--r--pkgs/tools/package-management/nix-update/default.nix4
-rw-r--r--pkgs/tools/security/arsenal/default.nix7
-rw-r--r--pkgs/tools/security/badrobot/default.nix45
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fprintd/default.nix11
-rw-r--r--pkgs/tools/security/gnome-keysign/default.nix2
-rw-r--r--pkgs/tools/security/kube-hunter/default.nix4
-rw-r--r--pkgs/tools/security/libmodsecurity/default.nix4
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/rhash/default.nix1
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/security/witness/default.nix6
-rw-r--r--pkgs/tools/system/ddrutility/default.nix5
-rw-r--r--pkgs/tools/text/discount/default.nix24
-rw-r--r--pkgs/tools/text/discount/parallel-make.patch15
-rw-r--r--pkgs/tools/text/link-grammar/default.nix6
-rw-r--r--pkgs/tools/text/tab/default.nix10
-rw-r--r--pkgs/tools/text/vale/default.nix6
-rw-r--r--pkgs/tools/text/xml/xmldiff/default.nix6
-rw-r--r--pkgs/top-level/aliases.nix6
-rw-r--r--pkgs/top-level/all-packages.nix147
-rw-r--r--pkgs/top-level/config.nix5
-rw-r--r--pkgs/top-level/linux-kernels.nix1
-rw-r--r--pkgs/top-level/perl-packages.nix2
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix24
-rw-r--r--pkgs/top-level/qt5-packages.nix2
-rw-r--r--pkgs/top-level/wine-packages.nix6
683 files changed, 4948 insertions, 5415 deletions
diff --git a/doc/contributing/submitting-changes.chapter.md b/doc/contributing/submitting-changes.chapter.md
index d428f00eea563..6f87e015b9cf3 100644
--- a/doc/contributing/submitting-changes.chapter.md
+++ b/doc/contributing/submitting-changes.chapter.md
@@ -236,7 +236,7 @@ The `master` branch is the main development branch. It should only see non-break
 
 ### Staging branch {#submitting-changes-staging-branch}
 
-The `staging` branch is a development branch where mass-rebuilds go. It should only see non-breaking mass-rebuild commits. That means it is not to be used for testing, and changes must have been well tested already. If the branch is already in a broken state, please refrain from adding extra new breakages.
+The `staging` branch is a development branch where mass-rebuilds go. Mass rebuilds are commits that cause rebuilds for many packages, like more than 500 (or perhaps, if it's 'light' packages, 1000). It should only see non-breaking mass-rebuild commits. That means it is not to be used for testing, and changes must have been well tested already. If the branch is already in a broken state, please refrain from adding extra new breakages.
 
 ### Staging-next branch {#submitting-changes-staging-next-branch}
 
diff --git a/doc/doc-support/default.nix b/doc/doc-support/default.nix
index 53990b6771962..7c00195ab3909 100644
--- a/doc/doc-support/default.nix
+++ b/doc/doc-support/default.nix
@@ -23,6 +23,14 @@ let
       <xsl:import href="${./parameters.xml}"/>
     </xsl:stylesheet>
   '';
+
+  # NB: This file describes the Nixpkgs manual, which happens to use module
+  #     docs infra originally developed for NixOS.
+  optionsDoc = pkgs.nixosOptionsDoc {
+    inherit (pkgs.lib.evalModules { modules = [ ../../pkgs/top-level/config.nix ]; }) options;
+    documentType = "none";
+  };
+
 in pkgs.runCommand "doc-support" {}
 ''
   mkdir result
@@ -30,6 +38,7 @@ in pkgs.runCommand "doc-support" {}
     cd result
     ln -s ${locationsXml} ./function-locations.xml
     ln -s ${functionDocs} ./function-docs
+    ln -s ${optionsDoc.optionsDocBook} ./config-options.docbook.xml
 
     ln -s ${pkgs.docbook5}/xml/rng/docbook/docbook.rng ./docbook.rng
     ln -s ${pkgs.docbook_xsl_ns}/xml/xsl ./xsl
diff --git a/doc/using/configuration.chapter.md b/doc/using/configuration.chapter.md
index 932b24237c02e..842450ebf47fb 100644
--- a/doc/using/configuration.chapter.md
+++ b/doc/using/configuration.chapter.md
@@ -164,6 +164,14 @@ There are several ways to tweak how Nix handles a package which has been marked
 
     Note that `permittedInsecurePackages` is only checked if `allowInsecurePredicate` is not specified.
 
+### `config` Options Reference
+
+The following attributes can be passed in [`config`](#chap-packageconfig).
+
+```{=docbook}
+<include xmlns="http://www.w3.org/2001/XInclude" href="../doc-support/result/config-options.docbook.xml"/>
+```
+
 ## Modify packages via `packageOverrides` {#sec-modify-via-packageOverrides}
 
 You can define a function called `packageOverrides` in your local `~/.config/nixpkgs/config.nix` to override Nix packages. It must be a function that takes pkgs as an argument and returns a modified set of packages.
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 82d3dd96e88bb..487fcd93641b8 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -290,6 +290,8 @@ checkConfigOutput '^"a b"$' config.result ./functionTo/merging-list.nix
 checkConfigError 'A definition for option .fun.\[function body\]. is not of type .string.. Definition values:\n\s*- In .*wrong-type.nix' config.result ./functionTo/wrong-type.nix
 checkConfigOutput '^"b a"$' config.result ./functionTo/list-order.nix
 checkConfigOutput '^"a c"$' config.result ./functionTo/merging-attrs.nix
+checkConfigOutput '^"a bee"$' config.result ./functionTo/submodule-options.nix
+checkConfigOutput '^"fun.\[function body\].a fun.\[function body\].b"$' config.optionsResult ./functionTo/submodule-options.nix
 
 # moduleType
 checkConfigOutput '^"a b"$' config.resultFoo ./declare-variants.nix ./define-variant.nix
diff --git a/lib/tests/modules/functionTo/submodule-options.nix b/lib/tests/modules/functionTo/submodule-options.nix
new file mode 100644
index 0000000000000..b884892efd6aa
--- /dev/null
+++ b/lib/tests/modules/functionTo/submodule-options.nix
@@ -0,0 +1,61 @@
+{ lib, config, options, ... }:
+let
+  inherit (lib) types;
+in
+{
+  imports = [
+
+    # fun.<function-body>.a
+    ({ ... }: {
+      options = {
+        fun = lib.mkOption {
+          type = types.functionTo (types.submodule {
+            options.a = lib.mkOption { default = "a"; };
+          });
+        };
+      };
+    })
+
+    # fun.<function-body>.b
+    ({ ... }: {
+      options = {
+        fun = lib.mkOption {
+          type = types.functionTo (types.submodule {
+            options.b = lib.mkOption { default = "b"; };
+          });
+        };
+      };
+    })
+  ];
+
+  options = {
+    result = lib.mkOption
+      {
+        type = types.str;
+        default = lib.concatStringsSep " " (lib.attrValues (config.fun (throw "shouldn't use input param")));
+      };
+
+    optionsResult = lib.mkOption
+      {
+        type = types.str;
+        default = lib.concatStringsSep " "
+          (lib.concatLists
+            (lib.mapAttrsToList
+              (k: v:
+                if k == "_module"
+                then [ ]
+                else [ (lib.showOption v.loc) ]
+              )
+              (
+                (options.fun.type.getSubOptions [ "fun" ])
+              )
+            )
+          );
+      };
+  };
+
+  config.fun = lib.mkMerge
+    [
+      (input: { b = "bee"; })
+    ];
+}
diff --git a/lib/types.nix b/lib/types.nix
index e4b3f358d1c9a..2590d3e8710b3 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -526,9 +526,11 @@ rec {
       check = isFunction;
       merge = loc: defs:
         fnArgs: (mergeDefinitions (loc ++ [ "[function body]" ]) elemType (map (fn: { inherit (fn) file; value = fn.value fnArgs; }) defs)).mergedValue;
-      getSubOptions = elemType.getSubOptions;
+      getSubOptions = prefix: elemType.getSubOptions (prefix ++ [ "[function body]" ]);
       getSubModules = elemType.getSubModules;
       substSubModules = m: functionTo (elemType.substSubModules m);
+      functor = (defaultFunctor "functionTo") // { wrapped = elemType; };
+      nestedTypes.elemType = elemType;
     };
 
     # A submodule (like typed attribute set). See NixOS manual.
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 574ce1a9897b3..0083993e7ef32 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -3662,6 +3662,12 @@
     githubId = 103082;
     name = "Ed Brindley";
   };
+  elizagamedev = {
+    email = "eliza@eliza.sh";
+    github = "elizagamedev";
+    githubId = 4576666;
+    name = "Eliza Velasquez";
+  };
   elliot = {
     email = "hack00mind@gmail.com";
     github = "Eliot00";
@@ -6709,13 +6715,13 @@
     name = "Jim Fowler";
   };
   kittywitch = {
-    email = "kat@kittywit.ch";
+    email = "kat@inskip.me";
     github = "kittywitch";
     githubId = 67870215;
-    name = "kat witch";
+    name = "Kat Inskip";
     keys = [{
-      longkeyid = "rsa4096/0x7248991EFA8EFBEE";
-      fingerprint = "01F5 0A29 D4AA 9117 5A11  BDB1 7248 991E FA8E FBEE";
+      longkeyid = "rsa4096/0xE8DDE3ED1C90F3A0";
+      fingerprint = "9CC6 44B5 69CD A59B C874  C4C9 E8DD E3ED 1C90 F3A0";
     }];
   };
   kiwi = {
@@ -10122,6 +10128,12 @@
     githubId = 81340136;
     name = "polykernel";
   };
+  poelzi = {
+    email = "nix@poelzi.org";
+    github = "poelzi";
+    githubId = 66107;
+    name = "Daniel Poelzleithner";
+  };
   polyrod = {
     email = "dc1mdp@gmail.com";
     github = "polyrod";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 7f5da547805cc..19aaf12f26a1b 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -518,6 +518,15 @@
       </listitem>
       <listitem>
         <para>
+          The update of the haskell package set brings with it a new
+          version of the <literal>xmonad</literal> module, which will
+          break your configuration if you use <literal>launch</literal>
+          as entrypoint. The example code the corresponding nixos module
+          was adjusted, you way want to have a look at it.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>home-assistant</literal> module now requires
           users that don’t want their configuration to be managed
           declaratively to set
@@ -2516,6 +2525,16 @@ cp /var/lib/redis/dump.rdb &quot;/var/lib/redis-mastodon/dump.rdb&quot;
       </listitem>
       <listitem>
         <para>
+          The Nextcloud module now allows setting the value of the
+          <literal>max-age</literal> directive of the
+          <literal>Strict-Transport-Security</literal> HTTP header,
+          which is now controlled by the
+          <literal>services.nextcloud.https</literal> option, rather
+          than <literal>services.nginx.recommendedHttpHeaders</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>spark3</literal> package has been updated from
           3.1.2 to 3.2.1
           (<link xlink:href="https://github.com/NixOS/nixpkgs/pull/160075">#160075</link>):
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index acead4120487e..9261511e7b8c5 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -163,6 +163,10 @@ In addition to numerous new and upgraded packages, this release has the followin
   `useLLVM`. So instead of `(ghc.withPackages (p: [])).override { withLLVM = true; }`,
   one needs to use `(ghc.withPackages.override { useLLVM = true; }) (p: [])`.
 
+- The update of the haskell package set brings with it a new version of the `xmonad`
+  module, which will break your configuration if you use `launch` as entrypoint. The
+  example code the corresponding nixos module was adjusted, you way want to have a look at it.
+
 - The `home-assistant` module now requires users that don't want their
   configuration to be managed declaratively to set
   `services.home-assistant.config = null;`. This is required
@@ -892,6 +896,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 - The Nextcloud module now supports to create a Mysql database automatically
   with `services.nextcloud.database.createLocally` enabled.
 
+- The Nextcloud module now allows setting the value of the `max-age` directive of the `Strict-Transport-Security` HTTP header, which is now controlled by the `services.nextcloud.https` option, rather than `services.nginx.recommendedHttpHeaders`.
+
 - The `spark3` package has been updated from 3.1.2 to 3.2.1 ([#160075](https://github.com/NixOS/nixpkgs/pull/160075)):
 
   - Testing has been enabled for `aarch64-linux` in addition to `x86_64-linux`.
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index 57652dd5db1e7..353fdb87a9f1c 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -20,6 +20,8 @@
 , lib
 , options
 , transformOptions ? lib.id  # function for additional tranformations of the options
+, documentType ? "appendix" # TODO deprecate "appendix" in favor of "none"
+                            #      and/or rename function to moduleOptionDoc for clean slate
 , revision ? "" # Specify revision for the options
 # a set of options the docs we are generating will be merged into, as if by recursiveUpdate.
 # used to split the options doc build into a static part (nixos/modules) and a dynamic part
@@ -161,6 +163,7 @@ in rec {
 
     ${pkgs.python3Minimal}/bin/python ${./sortXML.py} $optionsXML sorted.xml
     ${pkgs.libxslt.bin}/bin/xsltproc \
+      --stringparam documentType '${documentType}' \
       --stringparam revision '${revision}' \
       -o intermediate.xml ${./options-to-docbook.xsl} sorted.xml
     ${pkgs.libxslt.bin}/bin/xsltproc \
diff --git a/nixos/lib/make-options-doc/options-to-docbook.xsl b/nixos/lib/make-options-doc/options-to-docbook.xsl
index b286f7b5e2c0a..03e14365cda93 100644
--- a/nixos/lib/make-options-doc/options-to-docbook.xsl
+++ b/nixos/lib/make-options-doc/options-to-docbook.xsl
@@ -12,15 +12,34 @@
   <xsl:output method='xml' encoding="UTF-8" />
 
   <xsl:param name="revision" />
+  <xsl:param name="documentType" />
   <xsl:param name="program" />
 
 
   <xsl:template match="/expr/list">
-    <appendix xml:id="appendix-configuration-options">
-      <title>Configuration Options</title>
+    <xsl:choose>
+      <xsl:when test="$documentType = 'appendix'">
+        <appendix xml:id="appendix-configuration-options">
+          <title>Configuration Options</title>
+          <xsl:call-template name="variable-list"/>
+        </appendix>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:call-template name="variable-list"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template name="variable-list">
       <variablelist xml:id="configuration-variable-list">
         <xsl:for-each select="attrs">
-          <xsl:variable name="id" select="concat('opt-', str:replace(str:replace(str:replace(str:replace(attr[@name = 'name']/string/@value, '*', '_'), '&lt;', '_'), '>', '_'), ':', '_'))" />
+          <xsl:variable name="id" select="
+            concat('opt-',
+              translate(
+                attr[@name = 'name']/string/@value,
+                '*&lt; >[]:',
+                '_______'
+            ))" />
           <varlistentry>
             <term xlink:href="#{$id}">
               <xsl:attribute name="xml:id"><xsl:value-of select="$id"/></xsl:attribute>
@@ -96,7 +115,6 @@
         </xsl:for-each>
 
       </variablelist>
-    </appendix>
   </xsl:template>
 
 
diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh
index 797fe03e20952..0c1656efaf1ca 100755
--- a/nixos/maintainers/scripts/ec2/create-amis.sh
+++ b/nixos/maintainers/scripts/ec2/create-amis.sh
@@ -26,12 +26,32 @@ var ${home_region:=eu-west-1}
 var ${bucket:=nixos-amis}
 var ${service_role_name:=vmimport}
 
-var ${regions:=eu-west-1 eu-west-2 eu-west-3 eu-central-1 eu-north-1
-         us-east-1 us-east-2 us-west-1 us-west-2
+# Output of the command:
+# > aws ec2 describe-regions --all-regions --query "Regions[].{Name:RegionName}" --output text | sort
+var ${regions:=
+         af-south-1
+         ap-east-1
+         ap-northeast-1
+         ap-northeast-2
+         ap-northeast-3
+         ap-south-1
+         ap-southeast-1
+         ap-southeast-2
+         ap-southeast-3
          ca-central-1
-         ap-southeast-1 ap-southeast-2 ap-northeast-1 ap-northeast-2
-         ap-south-1 ap-east-1
-         sa-east-1}
+         eu-central-1
+         eu-north-1
+         eu-south-1
+         eu-west-1
+         eu-west-2
+         eu-west-3
+         me-south-1
+         sa-east-1
+         us-east-1
+         us-east-2
+         us-west-1
+         us-west-2
+     }
 
 regions=($regions)
 
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
index 0e4feba228234..8c7bac6f6cc1c 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix
@@ -35,8 +35,15 @@ with lib;
   # Enable sound in graphical iso's.
   hardware.pulseaudio.enable = true;
 
-  # Spice guest additions
+  # VM guest additions to improve host-guest interaction
   services.spice-vdagentd.enable = true;
+  services.qemuGuest.enable = true;
+  virtualisation.vmware.guest.enable = true;
+  virtualisation.hypervGuest.enable = true;
+  services.xe-guest-utilities.enable = true;
+  # The VirtualBox guest additions rely on an out-of-tree kernel module
+  # which lags behind kernel releases, potentially causing broken builds.
+  virtualisation.virtualbox.guest.enable = false;
 
   # Enable plymouth
   boot.plymouth.enable = true;
diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix
index 1707935ad5bc6..8fc8cc4baad58 100644
--- a/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,7 +1,7 @@
 {
-  x86_64-linux = "/nix/store/yx36yzxpw1hn4fz8iyf1rfyd56jg3yf4-nix-2.8.0";
-  i686-linux = "/nix/store/c0hg806zvwg800qbszzj8ff4a224kjgf-nix-2.8.0";
-  aarch64-linux = "/nix/store/wic2832ll53q392r2wks4xr2nrk7p8p5-nix-2.8.0";
-  x86_64-darwin = "/nix/store/5yqdvnkmkrhl36xh0qy31pymdphjimdd-nix-2.8.0";
-  aarch64-darwin = "/nix/store/izc9592szrnpv8n86hr88bhpyc9g6b4s-nix-2.8.0";
+  x86_64-linux = "/nix/store/6mjgljq8sm9bsz6k22as5ar3jw78644m-nix-2.8.1";
+  i686-linux = "/nix/store/c4yjv4l8wncdla6ycicvsjrdf40xjkpp-nix-2.8.1";
+  aarch64-linux = "/nix/store/qkgvks80mdibq7m86hqasgr5lpixbnmh-nix-2.8.1";
+  x86_64-darwin = "/nix/store/riz4mzb1xhp36088ffnp40lz52bpxz01-nix-2.8.1";
+  aarch64-darwin = "/nix/store/dirm8hsnmvvzjs21hrx8i84w8k453jzp-nix-2.8.1";
 }
diff --git a/nixos/modules/misc/locate.nix b/nixos/modules/misc/locate.nix
index 192c9ec413cb6..50495eebe4c29 100644
--- a/nixos/modules/misc/locate.nix
+++ b/nixos/modules/misc/locate.nix
@@ -250,7 +250,7 @@ in
     };
 
     warnings = optional (isMorPLocate && cfg.localuser != null)
-      "mlocate does not support the services.locate.localuser option; updatedb will run as root. (Silence with services.locate.localuser = null.)"
+      "mlocate and plocate do not support the services.locate.localuser option. updatedb will run as root. Silence this warning by setting services.locate.localuser = null."
     ++ optional (isFindutils && cfg.pruneNames != [ ])
       "findutils locate does not support pruning by directory component"
     ++ optional (isFindutils && cfg.pruneBindMounts)
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index ceb2db1faefd8..41848c1c6d3a7 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -5,6 +5,9 @@ with lib;
 let
   json = pkgs.formats.json { };
   cfg = config.services.prometheus;
+  checkConfigEnabled =
+    (lib.isBool cfg.checkConfig && cfg.checkConfig)
+      || cfg.checkConfig == "syntax-only";
 
   workingDir = "/var/lib/" + cfg.stateDir;
 
@@ -27,7 +30,7 @@ let
 
   # a wrapper that verifies that the configuration is valid
   promtoolCheck = what: name: file:
-    if cfg.checkConfig then
+    if checkConfigEnabled then
       pkgs.runCommandLocal
         "${name}-${replaceStrings [" "] [""] what}-checked"
         { buildInputs = [ cfg.package ]; } ''
@@ -58,7 +61,7 @@ let
           pkgs.writeText "prometheus.yml" cfg.configText
         else generatedPrometheusYml;
     in
-    promtoolCheck "check config" "prometheus.yml" yml;
+    promtoolCheck "check config ${lib.optionalString (cfg.checkConfig == "syntax-only") "--syntax-only"}" "prometheus.yml" yml;
 
   cmdlineArgs = cfg.extraFlags ++ [
     "--storage.tsdb.path=${workingDir}/data/"
@@ -1726,16 +1729,20 @@ in
     };
 
     checkConfig = mkOption {
-      type = types.bool;
+      type = with types; either bool (enum [ "syntax-only" ]);
       default = true;
+      example = "syntax-only";
       description = ''
         Check configuration with <literal>promtool
         check</literal>. The call to <literal>promtool</literal> is
-        subject to sandboxing by Nix. When credentials are stored in
-        external files (<literal>password_file</literal>,
-        <literal>bearer_token_file</literal>, etc), they will not be
-        visible to <literal>promtool</literal> and it will report
-        errors, despite a correct configuration.
+        subject to sandboxing by Nix.
+
+        If you use credentials stored in external files
+        (<literal>password_file</literal>, <literal>bearer_token_file</literal>, etc),
+        they will not be visible to <literal>promtool</literal>
+        and it will report errors, despite a correct configuration.
+        To resolve this, you may set this option to <literal>"syntax-only"</literal>
+        in order to only syntax check the Prometheus configuration.
       '';
     };
 
diff --git a/nixos/modules/services/networking/frr.nix b/nixos/modules/services/networking/frr.nix
index 45a82b9450a44..98452123f0306 100644
--- a/nixos/modules/services/networking/frr.nix
+++ b/nixos/modules/services/networking/frr.nix
@@ -106,6 +106,14 @@ let
           TCP Port to bind to for the VTY interface.
         '';
       };
+
+      extraOptions = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        description = ''
+          Extra options for the daemon.
+        '';
+      };
     };
 
 in
@@ -196,7 +204,8 @@ in
                 PIDFile = "frr/${daemon}.pid";
                 ExecStart = "${pkgs.frr}/libexec/frr/${daemon} -f /etc/frr/${service}.conf"
                   + optionalString (scfg.vtyListenAddress != "") " -A ${scfg.vtyListenAddress}"
-                  + optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}";
+                  + optionalString (scfg.vtyListenPort != null) " -P ${toString scfg.vtyListenPort}"
+                  + " " + (concatStringsSep " " scfg.extraOptions);
                 ExecReload = "${pkgs.python3.interpreter} ${pkgs.frr}/libexec/frr/frr-reload.py --reload --daemon ${daemonName service} --bindir ${pkgs.frr}/bin --rundir /run/frr /etc/frr/${service}.conf";
                 Restart = "on-abnormal";
               };
diff --git a/nixos/modules/services/networking/nebula.nix b/nixos/modules/services/networking/nebula.nix
index de4439415cf68..c83cd9d521c6d 100644
--- a/nixos/modules/services/networking/nebula.nix
+++ b/nixos/modules/services/networking/nebula.nix
@@ -192,6 +192,7 @@ in
                 Group = networkId;
               })
             ];
+            unitConfig.StartLimitIntervalSec = 0; # ensure Restart=always is always honoured (networks can go down for arbitrarily long)
           };
         }) enabledNetworks);
 
diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix
index c6c40777ed7cf..227bafc1d0e8c 100644
--- a/nixos/modules/services/networking/radicale.nix
+++ b/nixos/modules/services/networking/radicale.nix
@@ -164,7 +164,7 @@ in {
         StateDirectoryMode = "0750";
         # Hardening
         CapabilityBoundingSet = [ "" ];
-        DeviceAllow = [ "/dev/stdin" ];
+        DeviceAllow = [ "/dev/stdin" "/dev/urandom" ];
         DevicePolicy = "strict";
         IPAddressAllow = mkIf bindLocalhost "localhost";
         IPAddressDeny = mkIf bindLocalhost "any";
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index d467c3c0471cf..6b69d559748c5 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -293,6 +293,7 @@ in
       kexAlgorithms = mkOption {
         type = types.listOf types.str;
         default = [
+          "sntrup761x25519-sha512@openssh.com"
           "curve25519-sha256"
           "curve25519-sha256@libssh.org"
           "diffie-hellman-group-exchange-sha256"
@@ -301,7 +302,7 @@ in
           Allowed key exchange algorithms
           </para>
           <para>
-          Defaults to recommended settings from both
+          Uses the lower bound recommended in both
           <link xlink:href="https://stribika.github.io/2015/01/04/secure-secure-shell.html" />
           and
           <link xlink:href="https://infosec.mozilla.org/guidelines/openssh#modern-openssh-67" />
diff --git a/nixos/modules/services/networking/uptermd.nix b/nixos/modules/services/networking/uptermd.nix
index 072f561f5c3c6..b845a00649eba 100644
--- a/nixos/modules/services/networking/uptermd.nix
+++ b/nixos/modules/services/networking/uptermd.nix
@@ -85,6 +85,7 @@ in
         AmbientCapabilities = mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
         CapabilityBoundingSet = mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
         PrivateUsers = cfg.port >= 1024;
+        DynamicUser = true;
         LockPersonality = true;
         MemoryDenyWriteExecute = true;
         PrivateDevices = true;
@@ -95,7 +96,9 @@ in
         ProtectKernelLogs = true;
         ProtectKernelModules = true;
         ProtectKernelTunables = true;
-        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        ProtectProc = "invisible";
+        # AF_UNIX is for ssh-keygen, which relies on nscd to resolve the uid to a user
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
         RestrictNamespaces = true;
         RestrictRealtime = true;
         SystemCallArchitectures = "native";
diff --git a/nixos/modules/services/networking/wg-quick.nix b/nixos/modules/services/networking/wg-quick.nix
index 61e9fe5096b1f..0b3815d0cc628 100644
--- a/nixos/modules/services/networking/wg-quick.nix
+++ b/nixos/modules/services/networking/wg-quick.nix
@@ -211,7 +211,7 @@ let
       postUp =
             optional (values.privateKeyFile != null) "wg set ${name} private-key <(cat ${values.privateKeyFile})" ++
             (concatMap (peer: optional (peer.presharedKeyFile != null) "wg set ${name} peer ${peer.publicKey} preshared-key <(cat ${peer.presharedKeyFile})") values.peers) ++
-            optional (values.postUp != null) values.postUp;
+            optional (values.postUp != "") values.postUp;
       postUpFile = if postUp != [] then writeScriptFile "postUp.sh" (concatMapStringsSep "\n" (line: line) postUp) else null;
       preDownFile = if values.preDown != "" then writeScriptFile "preDown.sh" values.preDown else null;
       postDownFile = if values.postDown != "" then writeScriptFile "postDown.sh" values.postDown else null;
diff --git a/nixos/modules/services/networking/wireguard.nix b/nixos/modules/services/networking/wireguard.nix
index 7cd44b2f8a0a8..a3c3c245f1d7f 100644
--- a/nixos/modules/services/networking/wireguard.nix
+++ b/nixos/modules/services/networking/wireguard.nix
@@ -301,8 +301,9 @@ let
       {
         description = "WireGuard Peer - ${interfaceName} - ${peer.publicKey}";
         requires = [ "wireguard-${interfaceName}.service" ];
-        after = [ "wireguard-${interfaceName}.service" ];
-        wantedBy = [ "multi-user.target" "wireguard-${interfaceName}.service" ];
+        wants = [ "network-online.target" ];
+        after = [ "wireguard-${interfaceName}.service" "network-online.target" ];
+        wantedBy = [ "wireguard-${interfaceName}.service" ];
         environment.DEVICE = interfaceName;
         environment.WG_ENDPOINT_RESOLUTION_RETRIES = "infinity";
         path = with pkgs; [ iproute2 wireguard-tools ];
@@ -379,8 +380,9 @@ let
     nameValuePair "wireguard-${name}"
       {
         description = "WireGuard Tunnel - ${name}";
-        requires = [ "network-online.target" ];
-        after = [ "network.target" "network-online.target" ];
+        after = [ "network-pre.target" ];
+        wants = [ "network.target" ];
+        before = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
         environment.DEVICE = name;
         path = with pkgs; [ kmod iproute2 wireguard-tools ];
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index a4b886821ebf7..52287a834c912 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -153,11 +153,11 @@ in {
     package = mkOption {
       type = types.package;
       description = "Which package to use for the Nextcloud instance.";
-      relatedPackages = [ "nextcloud22" "nextcloud23" ];
+      relatedPackages = [ "nextcloud22" "nextcloud23" "nextcloud24" ];
     };
     phpPackage = mkOption {
       type = types.package;
-      relatedPackages = [ "php74" "php80" ];
+      relatedPackages = [ "php74" "php80" "php81" ];
       defaultText = "pkgs.php";
       description = ''
         PHP package to use for Nextcloud.
@@ -546,16 +546,29 @@ in {
       '';
     };
 
-    nginx.recommendedHttpHeaders = mkOption {
-      type = types.bool;
-      default = true;
-      description = "Enable additional recommended HTTP response headers";
+    nginx = {
+      recommendedHttpHeaders = mkOption {
+        type = types.bool;
+        default = true;
+        description = "Enable additional recommended HTTP response headers";
+      };
+      hstsMaxAge = mkOption {
+        type = types.ints.positive;
+        default = 15552000;
+        description = ''
+          Value for the <code>max-age</code> directive of the HTTP
+          <code>Strict-Transport-Security</code> header.
+
+          See section 6.1.1 of IETF RFC 6797 for detailed information on this
+          directive and header.
+        '';
+      };
     };
   };
 
   config = mkIf cfg.enable (mkMerge [
     { warnings = let
-        latest = 23;
+        latest = 24;
         upgradeWarning = major: nixos:
           ''
             A legacy Nextcloud install (from before NixOS ${nixos}) may be installed.
@@ -591,6 +604,7 @@ in {
         ++ (optional (versionOlder cfg.package.version "21") (upgradeWarning 20 "21.05"))
         ++ (optional (versionOlder cfg.package.version "22") (upgradeWarning 21 "21.11"))
         ++ (optional (versionOlder cfg.package.version "23") (upgradeWarning 22 "22.05"))
+        ++ (optional (versionOlder cfg.package.version "24") (upgradeWarning 23 "22.05"))
         ++ (optional isUnsupportedMariadb ''
             You seem to be using MariaDB at an unsupported version (i.e. at least 10.6)!
             Please note that this isn't supported officially by Nextcloud. You can either
@@ -613,14 +627,15 @@ in {
             ''
           else if versionOlder stateVersion "21.11" then nextcloud21
           else if versionOlder stateVersion "22.05" then nextcloud22
-          else nextcloud23
+          else nextcloud24
         );
 
       services.nextcloud.datadir = mkOptionDefault config.services.nextcloud.home;
 
       services.nextcloud.phpPackage =
         if versionOlder cfg.package.version "21" then pkgs.php74
-        else pkgs.php80;
+        else if versionOlder cfg.package.version "24" then pkgs.php80
+        else pkgs.php81;
     }
 
     { assertions = [
@@ -702,7 +717,7 @@ in {
               'skeletondirectory' => '${cfg.skeletonDirectory}',
               ${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
               'log_type' => 'syslog',
-              'log_level' => '${builtins.toString cfg.logLevel}',
+              'loglevel' => '${builtins.toString cfg.logLevel}',
               ${optionalString (c.overwriteProtocol != null) "'overwriteprotocol' => '${c.overwriteProtocol}',"}
               ${optionalString (c.dbname != null) "'dbname' => '${c.dbname}',"}
               ${optionalString (c.dbhost != null) "'dbhost' => '${c.dbhost}',"}
@@ -871,7 +886,7 @@ in {
         # FIXME(@Ma27) Nextcloud isn't compatible with mariadb 10.6,
         # this is a workaround.
         # See https://help.nextcloud.com/t/update-to-next-cloud-21-0-2-has-get-an-error/117028/22
-        settings = {
+        settings = mkIf (versionOlder cfg.package.version "24") {
           mysqld = {
             innodb_read_only_compressed = 0;
           };
@@ -983,7 +998,9 @@ in {
             add_header X-Permitted-Cross-Domain-Policies none;
             add_header X-Frame-Options sameorigin;
             add_header Referrer-Policy no-referrer;
-            add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
+          ''}
+          ${optionalString (cfg.https) ''
+            add_header Strict-Transport-Security "max-age=${toString cfg.nginx.hstsMaxAge}; includeSubDomains" always;
           ''}
           client_max_body_size ${cfg.maxUploadSize};
           fastcgi_buffers 64 4K;
diff --git a/nixos/modules/services/web-apps/nextcloud.xml b/nixos/modules/services/web-apps/nextcloud.xml
index 8f55086a2bd1f..b46f34420a703 100644
--- a/nixos/modules/services/web-apps/nextcloud.xml
+++ b/nixos/modules/services/web-apps/nextcloud.xml
@@ -11,7 +11,7 @@
   desktop client is packaged at <literal>pkgs.nextcloud-client</literal>.
  </para>
  <para>
-  The current default by NixOS is <package>nextcloud23</package> which is also the latest
+  The current default by NixOS is <package>nextcloud24</package> which is also the latest
   major version available.
  </para>
  <section xml:id="module-services-nextcloud-basic-usage">
diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix
index 0bfa2368787ff..1a8199ab3b37b 100644
--- a/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixos/modules/services/web-apps/restya-board.nix
@@ -263,8 +263,8 @@ in
       serviceConfig.RemainAfterExit = true;
 
       wantedBy = [ "multi-user.target" ];
-      requires = [ "postgresql.service" ];
-      after = [ "network.target" "postgresql.service" ];
+      requires = if cfg.database.host == null then [] else [ "postgresql.service" ];
+      after = [ "network.target" ] ++ (if cfg.database.host == null then [] else [ "postgresql.service" ]);
 
       script = ''
         rm -rf "${runDir}"
@@ -282,7 +282,7 @@ in
           sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', 'restya');/g" "${runDir}/server/php/config.inc.php"
         '' else ''
           sed -i "s/^.*'R_DB_HOST'.*$/define('R_DB_HOST', '${cfg.database.host}');/g" "${runDir}/server/php/config.inc.php"
-          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', ${if cfg.database.passwordFile == null then "''" else "'file_get_contents(${cfg.database.passwordFile})'"});/g" "${runDir}/server/php/config.inc.php
+          sed -i "s/^.*'R_DB_PASSWORD'.*$/define('R_DB_PASSWORD', ${if cfg.database.passwordFile == null then "''" else "'$(cat ${cfg.database.passwordFile})');/g"}" "${runDir}/server/php/config.inc.php"
         ''}
         sed -i "s/^.*'R_DB_PORT'.*$/define('R_DB_PORT', '${toString cfg.database.port}');/g" "${runDir}/server/php/config.inc.php"
         sed -i "s/^.*'R_DB_NAME'.*$/define('R_DB_NAME', '${cfg.database.name}');/g" "${runDir}/server/php/config.inc.php"
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 004d14b634d48..8983bc5d75821 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -136,6 +136,7 @@ in
       services.colord.enable = mkDefault true;
       services.fwupd.enable = mkDefault true;
       services.packagekit.enable = mkDefault true;
+      services.power-profiles-daemon.enable = mkDefault true;
       services.touchegg.enable = mkDefault true;
       services.touchegg.package = pkgs.pantheon.touchegg;
       services.tumbler.enable = mkDefault true;
@@ -167,10 +168,10 @@ in
         isSystem = true;
       };
       services.udev.packages = [
-        pkgs.gnome.gnome-settings-daemon338
+        pkgs.pantheon.gnome-settings-daemon
       ];
       systemd.packages = [
-        pkgs.gnome.gnome-settings-daemon338
+        pkgs.pantheon.gnome-settings-daemon
       ];
       programs.dconf.enable = true;
       networking.networkmanager.enable = mkDefault true;
@@ -212,12 +213,10 @@ in
         elementary-capnet-assist
         elementary-notifications
         elementary-settings-daemon
+        gnome-settings-daemon
         pantheon-agent-geoclue2
         pantheon-agent-polkit
-      ]) ++ (utils.removePackagesByName [
-        gnome.gnome-font-viewer
-        gnome.gnome-settings-daemon338
-      ] config.environment.pantheon.excludePackages);
+      ]);
 
       programs.evince.enable = mkDefault true;
       programs.file-roller.enable = mkDefault true;
@@ -272,7 +271,9 @@ in
     })
 
     (mkIf serviceCfg.apps.enable {
-      environment.systemPackages = with pkgs.pantheon; utils.removePackagesByName ([
+      environment.systemPackages = utils.removePackagesByName ([
+        pkgs.gnome.gnome-font-viewer
+      ] ++ (with pkgs.pantheon; [
         elementary-calculator
         elementary-calendar
         elementary-camera
@@ -290,7 +291,7 @@ in
         # Only install appcenter if flatpak is enabled before
         # https://github.com/NixOS/nixpkgs/issues/15932 is resolved.
         appcenter
-      ]) config.environment.pantheon.excludePackages;
+      ])) config.environment.pantheon.excludePackages;
 
       # needed by screenshot
       fonts.fonts = [
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 4941d13c810ed..45e3d84afa4af 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -140,8 +140,13 @@ in
         environment = {
           GDM_X_SERVER_EXTRA_ARGS = toString
             (filter (arg: arg != "-terminate") cfg.xserverArgs);
-          # GDM is needed for gnome-login.session
-          XDG_DATA_DIRS = "${gdm}/share:${cfg.sessionData.desktops}/share:${pkgs.gnome.gnome-control-center}/share";
+          XDG_DATA_DIRS = lib.makeSearchPath "share" [
+            gdm # for gnome-login.session
+            cfg.sessionData.desktops
+            pkgs.gnome.gnome-control-center # for accessibility icon
+            pkgs.gnome.adwaita-icon-theme
+            pkgs.hicolor-icon-theme # empty icon theme as a base
+          ];
         } // optionalAttrs (xSessionWrapper != null) {
           # Make GDM use this wrapper before running the session, which runs the
           # configured setupCommands. This relies on a patched GDM which supports
diff --git a/nixos/modules/services/x11/window-managers/xmonad.nix b/nixos/modules/services/x11/window-managers/xmonad.nix
index 68f97c2f504b6..66d11131391f5 100644
--- a/nixos/modules/services/x11/window-managers/xmonad.nix
+++ b/nixos/modules/services/x11/window-managers/xmonad.nix
@@ -128,33 +128,34 @@ in {
             [ ( (mod4Mask,xK_r), compileRestart True)
             , ( (mod4Mask,xK_q), restart "xmonad" True ) ]
 
+          compileRestart resume = do
+            dirs  <- asks directories
+            whenX (recompile dirs True) $ do
+              when resume writeStateToFile
+              catchIO
+                  ( do
+                      args <- getArgs
+                      executeFile (cacheDir dirs </> compiledConfig) False args Nothing
+                  )
+
+          main = getDirectories >>= launch myConfig
+
           --------------------------------------------
-          {- version 0.17.0 -}
+          {- For versions before 0.17.0 use this instead -}
           --------------------------------------------
           -- compileRestart resume =
-          --   dirs <- io getDirectories
-          --   whenX (recompile dirs True) $
+          --   whenX (recompile True) $
           --     when resume writeStateToFile
           --       *> catchIO
           --         ( do
+          --             dir <- getXMonadDataDir
           --             args <- getArgs
-          --             executeFile (cacheDir dirs </> compiledConfig) False args Nothing
+          --             executeFile (dir </> compiledConfig) False args Nothing
           --         )
           --
-          -- main = getDirectories >>= launch myConfig
+          -- main = launch myConfig
           --------------------------------------------
 
-          compileRestart resume =
-            whenX (recompile True) $
-              when resume writeStateToFile
-                *> catchIO
-                  ( do
-                      dir <- getXMonadDataDir
-                      args <- getArgs
-                      executeFile (dir </> compiledConfig) False args Nothing
-                  )
-
-          main = launch myConfig
         '';
       };
 
diff --git a/nixos/tests/nextcloud/default.nix b/nixos/tests/nextcloud/default.nix
index b7b1c5c66002e..76feac314d5ba 100644
--- a/nixos/tests/nextcloud/default.nix
+++ b/nixos/tests/nextcloud/default.nix
@@ -18,4 +18,4 @@ foldl
     };
   })
 { }
-  [ 22 23 ]
+  [ 22 23 24 ]
diff --git a/nixos/tests/uptermd.nix b/nixos/tests/uptermd.nix
index b2ff9a1e0d9cf..d504ef0641916 100644
--- a/nixos/tests/uptermd.nix
+++ b/nixos/tests/uptermd.nix
@@ -30,11 +30,14 @@ in
     server.wait_for_unit("uptermd.service")
     server.wait_for_unit("network-online.target")
 
+    # wait for upterm port to be reachable
+    client1.wait_until_succeeds("nc -z -v server 1337")
+
     # Add SSH hostkeys from the server to both clients
     # uptermd needs an '@cert-authority entry so we need to modify the known_hosts file
-    client1.execute("sleep 3; mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls")
+    client1.execute("mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls")
     client1.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts")
-    client2.execute("sleep 3; mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls")
+    client2.execute("mkdir -p ~/.ssh && ssh -o StrictHostKeyChecking=no -p 1337 server ls")
     client2.execute("echo @cert-authority $(cat ~/.ssh/known_hosts) > ~/.ssh/known_hosts")
 
     client1.wait_for_unit("multi-user.target")
diff --git a/pkgs/applications/audio/bristol/default.nix b/pkgs/applications/audio/bristol/default.nix
index 0c9248b5f0bcc..b96155cf688bf 100644
--- a/pkgs/applications/audio/bristol/default.nix
+++ b/pkgs/applications/audio/bristol/default.nix
@@ -19,6 +19,12 @@ stdenv.mkDerivation  rec {
 
   configurePhase = "./configure --prefix=$out --enable-jack-default-audio --enable-jack-default-midi";
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #  ld: brightonCLI.o:/build/bristol-0.60.11/brighton/brightonCLI.c:139: multiple definition of
+  #    `event'; brightonMixerMenu.o:/build/bristol-0.60.11/brighton/brightonMixerMenu.c:1182: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   preInstall = ''
     sed -e "s@\`which bristol\`@$out/bin/bristol@g" -i bin/startBristol
     sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol
diff --git a/pkgs/applications/audio/dirt/default.nix b/pkgs/applications/audio/dirt/default.nix
index a456d62e6f695..9d9c5c869f760 100644
--- a/pkgs/applications/audio/dirt/default.nix
+++ b/pkgs/applications/audio/dirt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, libsndfile, libsamplerate, liblo, libjack2 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, libsndfile, libsamplerate, liblo, libjack2 }:
 
 stdenv.mkDerivation {
   pname = "dirt";
@@ -10,6 +10,15 @@ stdenv.mkDerivation {
     sha256 = "13adglk2d31d7mswfvi02b0rjdhzmsv11cc8smhidmrns3f9s96n";
     fetchSubmodules = true;
   };
+  patches = [
+    # Pull patch pending upstream inclusion for upstream gcc-10 support:
+    #  https://github.com/tidalcycles/Dirt/pull/65
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/tidalcycles/Dirt/commit/43fd267745d486228c4185b4fcbd7d9fbc362cc2.patch";
+      sha256 = "08r34ylzs31wwf0la995pb149ccq0vr7qg4792pkhca57zi0bff8";
+    })
+  ];
   buildInputs = [ libsndfile libsamplerate liblo libjack2 ];
   postPatch = ''
     sed -i "s|./samples|$out/share/dirt/samples|" dirt.c
diff --git a/pkgs/applications/audio/ecasound/default.nix b/pkgs/applications/audio/ecasound/default.nix
index 108be8726c50e..f23b11d1a67e4 100644
--- a/pkgs/applications/audio/ecasound/default.nix
+++ b/pkgs/applications/audio/ecasound/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   strictDeps = true;
 
   CXXFLAGS = "-std=c++11";
-  configureFlags = "--enable-liblilv --with-extra-cppflags=-Dnullptr=0";
+  configureFlags = [ "--enable-liblilv" "--with-extra-cppflags=-Dnullptr=0" ];
 
   postPatch = ''
     sed -i -e '
diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix
index 2bd23b821f135..70cb4d7f11094 100644
--- a/pkgs/applications/audio/jamin/default.nix
+++ b/pkgs/applications/audio/jamin/default.nix
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
   buildInputs = [ fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 ]
     ++ (with perlPackages; [ perl XMLParser ]);
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #     ld: jamin-preferences.o:/build/jamin-0.95.0/src/hdeq.h:64: multiple definition of
+  #       `l_notebook1'; jamin-callbacks.o:/build/jamin-0.95.0/src/hdeq.h:64: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   NIX_LDFLAGS = "-ldl";
 
   postInstall = ''
diff --git a/pkgs/applications/audio/mousai/default.nix b/pkgs/applications/audio/mousai/default.nix
index f61b7c5b7b947..96d686864fbc7 100644
--- a/pkgs/applications/audio/mousai/default.nix
+++ b/pkgs/applications/audio/mousai/default.nix
@@ -15,7 +15,7 @@
 , ninja
 , pkg-config
 , pulseaudio
-, wrapGAppsHook
+, wrapGAppsHook4
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -39,6 +39,9 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   postPatch = ''
+    substituteInPlace build-aux/meson/postinstall.py \
+      --replace gtk-update-icon-cache gtk4-update-icon-cache
+
     patchShebangs build-aux/meson
   '';
 
@@ -51,7 +54,7 @@ python3.pkgs.buildPythonApplication rec {
     meson
     ninja
     pkg-config
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/audio/musikcube/default.nix b/pkgs/applications/audio/musikcube/default.nix
index 0557ee2e676e7..0894a6410d889 100644
--- a/pkgs/applications/audio/musikcube/default.nix
+++ b/pkgs/applications/audio/musikcube/default.nix
@@ -60,11 +60,11 @@ stdenv.mkDerivation rec {
     libmicrohttpd
     ncurses
     taglib
-  ] ++ lib.optional systemdSupport [
+  ] ++ lib.optionals systemdSupport [
     systemd
-  ] ++ lib.optional stdenv.isLinux [
+  ] ++ lib.optionals stdenv.isLinux [
     alsa-lib pulseaudio
-  ] ++ lib.optional stdenv.isDarwin [
+  ] ++ lib.optionals stdenv.isDarwin [
     Cocoa SystemConfiguration
   ];
 
diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix
index d08991a916bd2..067263032b0df 100644
--- a/pkgs/applications/audio/noisetorch/default.nix
+++ b/pkgs/applications/audio/noisetorch/default.nix
@@ -33,6 +33,8 @@ buildGoModule rec {
   '';
 
   meta = with lib; {
+    insecure = true;
+    knownVulnerabilities = [ "https://github.com/lawl/NoiseTorch/releases/tag/0.11.6" ];
     description = "Virtual microphone device with noise supression for PulseAudio";
     homepage = "https://github.com/lawl/NoiseTorch";
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/audio/pulseeffects-legacy/default.nix b/pkgs/applications/audio/pulseeffects-legacy/default.nix
index fad17ac71fdec..2a775369d26ab 100644
--- a/pkgs/applications/audio/pulseeffects-legacy/default.nix
+++ b/pkgs/applications/audio/pulseeffects-legacy/default.nix
@@ -108,7 +108,7 @@ in stdenv.mkDerivation rec {
     description = "Limiter, compressor, reverberation, equalizer and auto volume effects for Pulseaudio applications";
     homepage = "https://github.com/wwmm/pulseeffects";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ jtojnar ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
     badPlatforms = [ "aarch64-linux" ];
   };
diff --git a/pkgs/applications/audio/ympd/default.nix b/pkgs/applications/audio/ympd/default.nix
index 38c05276be4b7..218204d690a16 100644
--- a/pkgs/applications/audio/ympd/default.nix
+++ b/pkgs/applications/audio/ympd/default.nix
@@ -18,11 +18,18 @@ stdenv.mkDerivation rec {
     sha256 = "1nvb19jd556v2h2bi7w4dcl507p3p8xvjkqfzrcsy7ccy3502brq";
   };
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: CMakeFiles/ympd.dir/src/mpd_client.c.o:(.bss+0x0): multiple definition of `mpd';
+  #     CMakeFiles/ympd.dir/src/ympd.c.o:(.bss+0x20): first defined here
+  # Should be fixed by pending https://github.com/notandy/ympd/pull/191 (does not apply as is).
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ libmpdclient openssl ];
 
   meta = with lib; {
-    homepage = "https://www.ympd.org";
+    homepage = "https://github.com/notandy/ympd";
     description = "Standalone MPD Web GUI written in C, utilizing Websockets and Bootstrap/JS";
     maintainers = [ maintainers.siddharthist ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/backup/pika-backup/borg-path.patch b/pkgs/applications/backup/pika-backup/borg-path.patch
index c4ed649ffc926..faa4b76cec7be 100644
--- a/pkgs/applications/backup/pika-backup/borg-path.patch
+++ b/pkgs/applications/backup/pika-backup/borg-path.patch
@@ -1,13 +1,22 @@
-diff --git a/src/borg/utils.rs b/src/borg/utils.rs
-index 4e30913..30d7d6f 100644
---- a/src/borg/utils.rs
-+++ b/src/borg/utils.rs
-@@ -223,7 +223,7 @@ impl BorgCall {
+diff --git a/src/borg/process.rs b/src/borg/process.rs
+index 63ea0ee..e3535e0 100644
+--- a/src/borg/process.rs
++++ b/src/borg/process.rs
+@@ -203,7 +203,7 @@ impl BorgCall {
      }
  
-     pub fn cmd(&self) -> Command {
--        let mut cmd = Command::new("borg");
-+        let mut cmd = Command::new("@borg@");
+     pub fn cmd(&self) -> Result<process::Command> {
+-        let mut cmd = process::Command::new("borg");
++        let mut cmd = process::Command::new("@borg@");
+ 
+         cmd.envs([self.set_password()?]);
+ 
+@@ -221,7 +221,7 @@ impl BorgCall {
+     }
+ 
+     pub fn cmd_async(&self) -> Result<async_process::Command> {
+-        let mut cmd = async_process::Command::new("borg");
++        let mut cmd = async_process::Command::new("@borg@");
+ 
+         cmd.envs([self.set_password()?]);
  
-         cmd.args(self.args())
-             .stderr(Stdio::piped())
diff --git a/pkgs/applications/backup/pika-backup/default.nix b/pkgs/applications/backup/pika-backup/default.nix
index 604456c6583ac..a8524dea91be2 100644
--- a/pkgs/applications/backup/pika-backup/default.nix
+++ b/pkgs/applications/backup/pika-backup/default.nix
@@ -5,35 +5,34 @@
 , rustPlatform
 , substituteAll
 , desktop-file-utils
+, itstool
 , meson
 , ninja
 , pkg-config
 , python3
-, wrapGAppsHook
+, wrapGAppsHook4
 , borgbackup
-, dbus
-, gdk-pixbuf
-, glib
-, gtk3
-, libhandy
+, gtk4
+, libadwaita
+, libsecret
 }:
 
 stdenv.mkDerivation rec {
   pname = "pika-backup";
-  version = "0.3.5";
+  version = "0.4.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = "pika-backup";
     rev = "v${version}";
-    sha256 = "sha256-8jT3n+bTNjhm64AMS24Ju+San75ytfqFXloH/TOgO1g=";
+    hash = "sha256-vQ0hlwsrY0WOUc/ppleE+kKRGHPt/ScEChXrkukln3U=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "198bs4z7l22sh8ck7v46s45mj8zpfbg03n1xzc6pnafdd8hf3q15";
+    hash = "sha256-IKUh5gkXTpmMToDaec+CpCIQqJjwJM2ZrmGQhZeTDsg=";
   };
 
   patches = [
@@ -41,12 +40,10 @@ stdenv.mkDerivation rec {
       src = ./borg-path.patch;
       borg = "${borgbackup}/bin/borg";
     })
-    # Fix build with meson 0.61, can be removed on next release.
-    # https://gitlab.gnome.org/World/pika-backup/-/issues/156
-    # https://github.com/mesonbuild/meson/issues/9441
     (fetchpatch {
-      url = "https://gitlab.gnome.org/World/pika-backup/-/commit/54be149c88fd69fb9e74b7362fe7182863237869.patch";
-      sha256 = "sha256-Tffxo5hlf/gSkp1GfyL4eHthX49tuTq6B+S53N8oA2M=";
+      name = "use-gtk4-update-icon-cache.patch";
+      url = "https://gitlab.gnome.org/World/pika-backup/-/merge_requests/64.patch";
+      hash = "sha256-AttGQGWealvTIvPwBl5M6FiC4Al/UD4/XckUAxM38SE=";
     })
   ];
 
@@ -56,11 +53,12 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     desktop-file-utils
+    itstool
     meson
     ninja
     pkg-config
     python3
-    wrapGAppsHook
+    wrapGAppsHook4
   ] ++ (with rustPlatform; [
     cargoSetupHook
     rust.cargo
@@ -68,16 +66,14 @@ stdenv.mkDerivation rec {
   ]);
 
   buildInputs = [
-    dbus
-    gdk-pixbuf
-    glib
-    gtk3
-    libhandy
+    gtk4
+    libadwaita
+    libsecret
   ];
 
   meta = with lib; {
     description = "Simple backups based on borg";
-    homepage = "https://wiki.gnome.org/Apps/PikaBackup";
+    homepage = "https://apps.gnome.org/app/org.gnome.World.PikaBackup";
     changelog = "https://gitlab.gnome.org/World/pika-backup/-/blob/v${version}/CHANGELOG.md";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dotlambda ];
diff --git a/pkgs/applications/blockchains/alfis/default.nix b/pkgs/applications/blockchains/alfis/default.nix
index d42ee291cf050..8eb52f26cdbaf 100644
--- a/pkgs/applications/blockchains/alfis/default.nix
+++ b/pkgs/applications/blockchains/alfis/default.nix
@@ -14,16 +14,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "alfis";
-  version = "0.7.0";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "Revertron";
     repo = "Alfis";
     rev = "v${version}";
-    sha256 = "sha256-lamobXaDY+v8NpoI+TuuBO5Cdol9+7VPhdmLEH6sZIo=";
+    sha256 = "sha256-P+usJCzf92WZ46mdaDbej59/RUzmFcMvlYXVe2VpgY0=";
   };
 
-  cargoSha256 = "sha256-C5MCT4EG/lI4s2rVGSm9DgBu43FKpp3iTBbCf7N1jOA=";
+  cargoSha256 = "sha256-N5qHu0sCmIWtDYerWqMlD3qr8QtXLvEC7VqPEvnW2cw=";
 
   checkFlags = [
     # these want internet access, disable them
diff --git a/pkgs/applications/blockchains/cgminer/default.nix b/pkgs/applications/blockchains/cgminer/default.nix
index a77924bb1f05e..48a8d3ad93022 100644
--- a/pkgs/applications/blockchains/cgminer/default.nix
+++ b/pkgs/applications/blockchains/cgminer/default.nix
@@ -39,6 +39,13 @@ stdenv.mkDerivation rec {
                      "--enable-keccak"
                      "--enable-bflsc"];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: cgminer-driver-modminer.o:/build/source/miner.h:285:
+  #     multiple definition of `bitforce_drv'; cgminer-cgminer.o:/build/source/miner.h:285:
+  #     first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   meta = with lib; {
     description = "CPU/GPU miner in c for bitcoin";
     homepage = "https://github.com/ckolivas/cgminer";
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index 59166149e6a6e..84f6df6350f64 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.40.4";
+  version = "2.41.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-ktmGXEWoCrhx9hGau2VkQi0GMa53EqHV1wGtUk6kicc=";
+    hash = "sha256-Bh3wB5AAgY6l1W3UtWUHW+lJgJ0w6gw23WvEe3/Xs1g=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lightwalletd/default.nix b/pkgs/applications/blockchains/lightwalletd/default.nix
index 43af8491210a6..1cfd2071e8676 100644
--- a/pkgs/applications/blockchains/lightwalletd/default.nix
+++ b/pkgs/applications/blockchains/lightwalletd/default.nix
@@ -1,14 +1,14 @@
-{ buildGoModule, fetchFromGitHub, lib }:
+{ buildGoModule, fetchFromGitHub, lib, lightwalletd, testers }:
 
 buildGoModule rec {
   pname = "lightwalletd";
-  version = "0.4.9";
+  version = "0.4.10";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "lightwalletd";
-    rev = "v${version}";
-    sha256 = "sha256-IksA06V+mP7ZAXXFYLKLacxrDXeMXHAk5w4t7pmobq4=";
+    rev = "68789356fb1a75f62735a529b38389ef08ea7582";
+    sha256 = "sha256-7gZhr6YMarGdgoGjg+oD4nZ/SAJ5cnhEDKmA4YMqJTo=";
   };
 
   vendorSha256 = null;
@@ -16,22 +16,28 @@ buildGoModule rec {
   ldflags = [
     "-s" "-w"
     "-X github.com/zcash/lightwalletd/common.Version=v${version}"
-    "-X github.com/zcash/lightwalletd/common.GitCommit=v${version}"
+    "-X github.com/zcash/lightwalletd/common.GitCommit=${src.rev}"
     "-X github.com/zcash/lightwalletd/common.BuildDate=1970-01-01"
     "-X github.com/zcash/lightwalletd/common.BuildUser=nixbld"
   ];
 
-  postFixup = ''
-    shopt -s extglob
-    cd $out/bin
-    rm !(lightwalletd)
-  '';
+  excludedPackages = [
+    "genblocks"
+    "testclient"
+    "zap"
+  ];
+
+  passthru.tests.version = testers.testVersion {
+    package = lightwalletd;
+    command = "lightwalletd version";
+    version = "v${lightwalletd.version}";
+  };
 
   meta = with lib; {
     description = "A backend service that provides a bandwidth-efficient interface to the Zcash blockchain";
     homepage = "https://github.com/zcash/lightwalletd";
     maintainers = with maintainers; [ centromere ];
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/applications/blockchains/mycrypto/default.nix b/pkgs/applications/blockchains/mycrypto/default.nix
index ee7960a843bab..fd2b3347afd0d 100644
--- a/pkgs/applications/blockchains/mycrypto/default.nix
+++ b/pkgs/applications/blockchains/mycrypto/default.nix
@@ -1,5 +1,4 @@
 { lib, appimageTools, fetchurl, makeDesktopItem
-, gsettings-desktop-schemas, gtk3
 }:
 
 let
@@ -29,10 +28,6 @@ let
 in appimageTools.wrapType2 rec {
   inherit name src;
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   multiPkgs = null; # no p32bit needed
   extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
 
diff --git a/pkgs/applications/blockchains/nearcore/default.nix b/pkgs/applications/blockchains/nearcore/default.nix
index f9f0bd0c69bfb..264d53fc56a53 100644
--- a/pkgs/applications/blockchains/nearcore/default.nix
+++ b/pkgs/applications/blockchains/nearcore/default.nix
@@ -1,42 +1,60 @@
 { rustPlatform, lib, fetchFromGitHub
-, zlib, elfutils, openssl
-, cmake, python3, pkg-config, protobuf, perl, llvmPackages
+, zlib, openssl
+, pkg-config, protobuf, llvmPackages
 }:
 rustPlatform.buildRustPackage rec {
-  #https://github.com/near/nearcore
   pname = "nearcore";
-  version = "1.25.0";
+  version = "1.26.0";
+
+  # https://github.com/near/nearcore/tags
   src = fetchFromGitHub {
     owner = "near";
     repo = "nearcore";
     # there is also a branch for this version number, so we need to be explicit
     rev = "refs/tags/${version}";
-    sha256 = "sha256-7hiBqJLGIf+kNKJvMQ7KtGZm/SWLY3pT7YDlwbm3HDM=";
+    sha256 = "sha256-N3A+hy5I1/yJ3IN9gDw3m1IZ9qK8LNhn3fuXLMn23bg=";
   };
 
-  cargoSha256 = "sha256-EGv4CibSHL9oTAdWK7d/SOzZWPcEB16hTWlWHjKU4wc=";
+  cargoSha256 = "sha256-g07liit048TSL73wFyDK+eKu33Z6fPJcJ+VeGgTtuS8=";
+
+  postPatch = ''
+    substituteInPlace neard/build.rs \
+      --replace 'get_git_version()?' '"nix:${version}"'
+  '';
+
+  CARGO_PROFILE_RELEASE_CODEGEN_UNITS = "1";
+  CARGO_PROFILE_RELEASE_LTO = "fat";
+  NEAR_RELEASE_BUILD = "release";
+
+  OPENSSL_NO_VENDOR = 1; # we want to link to OpenSSL provided by Nix
 
   # don't build SDK samples that require wasm-enabled rust
-  cargoBuildFlags = [ "-p" "neard" ];
+  buildAndTestSubdir = "neard";
   doCheck = false; # needs network
 
-  buildInputs = [ zlib elfutils openssl ];
+  buildInputs = [
+    zlib
+    openssl
+  ];
+
   nativeBuildInputs = [
-    cmake
-    python3
     pkg-config
     protobuf
-    perl
   ];
 
+  # fat LTO requires ~3.4GB RAM
+  requiredSystemFeatures = [ "big-parallel" ];
+
   LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
   BINDGEN_EXTRA_CLANG_ARGS = "-isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include";
 
   meta = with lib; {
     description = "Reference client for NEAR Protocol";
     homepage = "https://github.com/near/nearcore";
-    license = licenses.mit;
-    maintainers = with maintainers; [ mic92 ];
-    platforms = platforms.unix;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ mic92 mikroskeem ];
+    # only x86_64 is supported in nearcore because of sse4+ support, macOS might
+    # be also possible
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/blockchains/wasabibackend/default.nix b/pkgs/applications/blockchains/wasabibackend/default.nix
index 784b01192f706..df30302bc6c50 100644
--- a/pkgs/applications/blockchains/wasabibackend/default.nix
+++ b/pkgs/applications/blockchains/wasabibackend/default.nix
@@ -10,13 +10,13 @@
 
 buildDotnetModule rec {
   pname = "wasabibackend";
-  version = "1.1.13.0";
+  version = "1.1.13.1";
 
   src = fetchFromGitHub {
     owner = "zkSNACKs";
     repo = "WalletWasabi";
     rev = "v${version}";
-    sha256 = "sha256-zDOk8MurT5NXOr4kvm5mnsphY+eDFWuVBcpeTZpcHOo=";
+    sha256 = "sha256-Hwav7moG6XKAcR7L0Q7CtifP3zCNRfHIihlaFw+dzbk=";
   };
 
   projectFile = "WalletWasabi.Backend/WalletWasabi.Backend.csproj";
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index f8e20f1a05db2..e3cea78629f41 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wasabiwallet";
-  version = "1.1.12.9";
+  version = "1.1.13.1";
 
   src = fetchurl {
     url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
-    sha256 = "sha256-DtoLQbRXyR4xGm+M0xg9uj8wcbh1dOBJUG430OS8AS4=";
+    sha256 = "sha256-AtsNbUqEBQx0DPWR2LjNl7pdviYmvkv3bYKNBoeJHbw=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index fa81414a7e72d..e2e6bce72c41c 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, appimageTools, autoPatchelfHook, desktop-file-utils
-, fetchurl, libsecret, gtk3, gsettings-desktop-schemas }:
+, fetchurl, libsecret  }:
 
 let
   version = "3.11.1";
@@ -31,10 +31,6 @@ let
 in appimageTools.wrapType2 rec {
   inherit name src;
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   extraPkgs = pkgs: with pkgs; [
     libsecret
   ];
diff --git a/pkgs/applications/emulators/bsnes/ares/default.nix b/pkgs/applications/emulators/bsnes/ares/default.nix
index c1597fe2c6eeb..4cc449ee49f4d 100644
--- a/pkgs/applications/emulators/bsnes/ares/default.nix
+++ b/pkgs/applications/emulators/bsnes/ares/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , pkg-config
+, wrapGAppsHook
 , SDL2
 , alsa-lib
 , gtk3
@@ -18,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ares";
-  version = "127";
+  version = "128";
 
   src = fetchFromGitHub {
     owner = "ares-emulator";
     repo = "ares";
     rev = "v${version}";
-    sha256 = "0rhq39w41j9yr1fkyfmf4n6fjxnq1cglj98rp4wys12kwqv7smvx";
+    sha256 = "sha256-Ojf1kyColBK0S3DwXjGaAZSl0ljhgiXkfKC11BL2fEc=";
   };
 
   patches = [
@@ -34,6 +35,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkg-config
+    wrapGAppsHook
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix b/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix
index 6494185958c29..edb397a49d366 100644
--- a/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix
+++ b/pkgs/applications/emulators/bsnes/bsnes-hd/default.nix
@@ -1,9 +1,10 @@
 { lib, stdenv, fetchFromGitHub
 , pkg-config
+, wrapGAppsHook
 , libX11, libXv
 , udev
 , SDL2
-, gtk2, gtksourceview
+, gtk3, gtksourceview3
 , alsa-lib, libao, openal, libpulseaudio
 , libicns, Cocoa, OpenAL
 }:
@@ -34,16 +35,23 @@ stdenv.mkDerivation {
     ./macos-copy-app-to-prefix.patch
   ];
 
-  nativeBuildInputs = [ pkg-config ]
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ]
     ++ lib.optionals stdenv.isDarwin [ libicns ];
 
   buildInputs = [ SDL2 libao ]
-    ++ lib.optionals stdenv.isLinux [ libX11 libXv udev gtk2 gtksourceview alsa-lib openal libpulseaudio ]
+    ++ lib.optionals stdenv.isLinux [ libX11 libXv udev gtk3 gtksourceview3 alsa-lib openal libpulseaudio ]
     ++ lib.optionals stdenv.isDarwin [ Cocoa OpenAL ];
 
   enableParallelBuilding = true;
 
-  makeFlags = [ "-C" "bsnes" "prefix=$(out)" ];
+  makeFlags = [ "-C" "bsnes" "hiro=gtk3" "prefix=$(out)" ];
+
+  # https://github.com/bsnes-emu/bsnes/issues/107
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --prefix GDK_BACKEND : x11
+    )
+  '';
 
   meta = with lib; {
     description = "A fork of bsnes that adds HD video features";
@@ -51,5 +59,6 @@ stdenv.mkDerivation {
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ stevebob ];
     platforms = platforms.unix;
+    mainProgram = "bsnes";
   };
 }
diff --git a/pkgs/applications/finance/odoo/default.nix b/pkgs/applications/finance/odoo/default.nix
index 38719de371aa0..bf39ed8781f35 100644
--- a/pkgs/applications/finance/odoo/default.nix
+++ b/pkgs/applications/finance/odoo/default.nix
@@ -93,7 +93,7 @@ in python.pkgs.buildPythonApplication rec {
   makeWrapperArgs = [ "--prefix" "PATH" ":" "${lib.makeBinPath [ wkhtmltopdf nodePackages.rtlcss ]}" ];
 
   propagatedBuildInputs = with python.pkgs; [
-    Babel
+    babel
     chardet
     decorator
     docutils
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 44d540149768d..66248ff5365f4 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -45,13 +45,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-33";
+  version = "7.1.0-34";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    hash = "sha256-qiXTSQcc48IIzz7RUcyOH2w8JUOTdU1zg43gJhoELXo=";
+    hash = "sha256-eASmIOTYupK5di3lggJ/8O5pkG88ZpFuvaYK23AWsq4=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix
index 2f3728fa9bdc7..3e4ea214c47ec 100644
--- a/pkgs/applications/graphics/drawio/default.nix
+++ b/pkgs/applications/graphics/drawio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drawio";
-  version = "18.0.4";
+  version = "18.0.6";
 
   src = fetchurl {
     url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm";
-    sha256 = "0ln9vs2zyqq0pz3af6i8ynjbg59j0y6y7f5qkrgk2yv2mpnncl3m";
+    sha256 = "939d23f45f82bc4978ff3cb5d15d096f8af9658fb9f9211d3849998f6a0bd3a9";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/drawio/headless.nix b/pkgs/applications/graphics/drawio/headless.nix
new file mode 100644
index 0000000000000..c70511fa6528c
--- /dev/null
+++ b/pkgs/applications/graphics/drawio/headless.nix
@@ -0,0 +1,36 @@
+{ lib, writeTextFile, runtimeShell, drawio, xvfb-run }:
+
+writeTextFile {
+  name = "${drawio.pname}-headless-${drawio.version}";
+
+  executable = true;
+  destination = "/bin/drawio";
+  text = ''
+    #!${runtimeShell}
+
+    # Electron really wants a configuration directory to not die with:
+    # "Error: Failed to get 'appData' path"
+    # so we give it some temp dir as XDG_CONFIG_HOME
+    tmpdir=$(mktemp -d)
+
+    function cleanup {
+      rm -rf "$tmpdir"
+    }
+    trap cleanup EXIT
+
+    # Drawio needs to run in a virtual X session, because Electron
+    # refuses to work and dies with an unhelpful error message otherwise:
+    # "The futex facility returned an unexpected error code."
+    XDG_CONFIG_HOME="$tmpdir" ${xvfb-run}/bin/xvfb-run ${drawio}/bin/drawio $@
+  '';
+
+  meta = with lib; {
+    description = "xvfb wrapper around drawio";
+    longDescription = ''
+      A wrapper around drawio for running in headless environments.
+      Runs drawio under xvfb-run, with configuration going to a temporary
+      directory.
+    '';
+    maintainers = with maintainers; [ qyliss tfc ];
+  };
+}
diff --git a/pkgs/applications/graphics/grafx2/default.nix b/pkgs/applications/graphics/grafx2/default.nix
index df570008b0f76..48e97e7dbb3b9 100644
--- a/pkgs/applications/graphics/grafx2/default.nix
+++ b/pkgs/applications/graphics/grafx2/default.nix
@@ -15,6 +15,12 @@ stdenv.mkDerivation rec {
 
   preBuild = "cd src";
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: ../obj/unix/tiles.o:/build/grafx2/src/global.h:306: multiple definition of
+  #     `Main_selector'; ../obj/unix/main.o:/build/grafx2/src/global.h:306: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   preInstall = '' mkdir -p "$out" '';
 
   installPhase = ''make install prefix="$out"'';
diff --git a/pkgs/applications/graphics/megapixels/default.nix b/pkgs/applications/graphics/megapixels/default.nix
index 9ce07df34370c..7a5729de5f5ea 100644
--- a/pkgs/applications/graphics/megapixels/default.nix
+++ b/pkgs/applications/graphics/megapixels/default.nix
@@ -5,7 +5,7 @@
 , meson
 , ninja
 , pkg-config
-, wrapGAppsHook
+, wrapGAppsHook4
 , libepoxy
 , gtk4
 , zbar
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/authenticator/default.nix b/pkgs/applications/misc/authenticator/default.nix
index e100c88073972..d7cf8f34b832d 100644
--- a/pkgs/applications/misc/authenticator/default.nix
+++ b/pkgs/applications/misc/authenticator/default.nix
@@ -9,7 +9,7 @@
 , ninja
 , pkg-config
 , rustPlatform
-, wrapGAppsHook
+, wrapGAppsHook4
 , gdk-pixbuf
 , glib
 , gst_all_1
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    wrapGAppsHook
+    wrapGAppsHook4
   ] ++ (with rustPlatform; [
     cargoSetupHook
     rust.cargo
diff --git a/pkgs/applications/misc/bottles/default.nix b/pkgs/applications/misc/bottles/default.nix
index 8af7fe1cf9a24..bff4e724f61e0 100644
--- a/pkgs/applications/misc/bottles/default.nix
+++ b/pkgs/applications/misc/bottles/default.nix
@@ -20,13 +20,13 @@ let
 in
 python3Packages.buildPythonApplication rec {
   pname = "bottles";
-  version = "2022.5.2-trento-2";
+  version = "2022.5.14-trento-1";
 
   src = fetchFromGitHub {
     owner = "bottlesdevs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ufK+h4nblnftyIaRSq43H/q3VSquf1DnD6Z+iuPTJBE=";
+    sha256 = "sha256-w5nSMJnt4WO1KOJvdjM1TYSOvPnogERgQWp1JVr3TZY=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/chrysalis/default.nix b/pkgs/applications/misc/chrysalis/default.nix
index 058a0f656fb55..f97d44d1ea835 100644
--- a/pkgs/applications/misc/chrysalis/default.nix
+++ b/pkgs/applications/misc/chrysalis/default.nix
@@ -1,4 +1,4 @@
-{ lib, appimageTools, fetchurl, gtk3, gsettings-desktop-schemas }:
+{ lib, appimageTools, fetchurl }:
 
 let
   pname = "chrysalis";
@@ -14,10 +14,6 @@ in appimageTools.wrapAppImage rec {
     };
   };
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   multiPkgs = null;
   extraPkgs = p: (appimageTools.defaultFhsEnvArgs.multiPkgs p) ++ [
     p.glib
diff --git a/pkgs/applications/misc/devdocs-desktop/default.nix b/pkgs/applications/misc/devdocs-desktop/default.nix
index 85298bc3c7534..97ed9ed72962e 100644
--- a/pkgs/applications/misc/devdocs-desktop/default.nix
+++ b/pkgs/applications/misc/devdocs-desktop/default.nix
@@ -1,4 +1,4 @@
-{ lib, appimageTools, fetchurl, gsettings-desktop-schemas, gtk3 }:
+{ lib, appimageTools, fetchurl }:
 
 let
   version = "0.7.2";
@@ -17,10 +17,6 @@ let
 in appimageTools.wrapType2 rec {
   inherit name src;
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   extraInstallCommands = ''
     mv $out/bin/${name} $out/bin/${pname}
     install -m 444 -D ${appimageContents}/devdocs.desktop $out/share/applications/devdocs.desktop
diff --git a/pkgs/applications/misc/gpg-mdp/default.nix b/pkgs/applications/misc/gpg-mdp/default.nix
index 48c7c7724ebfb..08ab2a5b7d9f6 100644
--- a/pkgs/applications/misc/gpg-mdp/default.nix
+++ b/pkgs/applications/misc/gpg-mdp/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv, ncurses, gnupg }:
+{ fetchurl, fetchpatch, lib, stdenv, ncurses, gnupg }:
 
 let version = "0.7.4";
 in stdenv.mkDerivation {
@@ -14,6 +14,15 @@ in stdenv.mkDerivation {
     url = "https://tamentis.com/projects/mdp/files/mdp-${version}.tar.gz";
     sha256 = "04mdnx4ccpxf9m2myy9nvpl9ma4jgzmv9bkrzv2b9affzss3r34g";
   };
+  patches = [
+    # Pull fix pending upstream inclusion for -fno-common toolchain support:
+    #   https://github.com/tamentis/mdp/pull/9
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/tamentis/mdp/commit/95c77de3beb96dc7c76ff36d3f3dfb18411d7c54.patch";
+      sha256 = "1j6yvjzkx31b758yav4arhlm5ig7phl8mgx4fcwj7lm2pfvzwcsz";
+    })
+  ];
   buildInputs = [ ncurses ];
   prePatch = ''
     substituteInPlace ./configure \
diff --git a/pkgs/applications/misc/joplin-desktop/default.nix b/pkgs/applications/misc/joplin-desktop/default.nix
index c842b7c4b36eb..ecb553dbd660b 100644
--- a/pkgs/applications/misc/joplin-desktop/default.nix
+++ b/pkgs/applications/misc/joplin-desktop/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, appimageTools, fetchurl, gsettings-desktop-schemas, gtk3, undmg }:
+{ lib, stdenv, appimageTools, fetchurl, undmg }:
 
 let
   pname = "joplin-desktop";
@@ -45,7 +45,6 @@ let
 
     profile = ''
       export LC_ALL=C.UTF-8
-      export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
     '';
 
     multiPkgs = null; # no 32bit needed
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 0d28a38202034..d0b02caff04c6 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.6.8";
+  version = "0.6.9";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "QPbH7d2RC8DLze44Q3gCQ9IzHOgIq8IB+hZr9+8rTs0=";
+    sha256 = "sha256-ubhGDx5T1AAJjU6Ka1Pqy5kL8HPa097QhhK5Sp3HWEo=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/marktext/default.nix b/pkgs/applications/misc/marktext/default.nix
index fc83e543dcfba..a99332ae82fde 100644
--- a/pkgs/applications/misc/marktext/default.nix
+++ b/pkgs/applications/misc/marktext/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+{ appimageTools, fetchurl, lib }:
 
 let
   pname = "marktext";
@@ -18,12 +18,6 @@ appimageTools.wrapType2 rec {
 
   profile = ''
     export LC_ALL=C.UTF-8
-  ''
-  # Fixes file open dialog error
-  #     GLib-GIO-ERROR **: 20:36:48.243: No GSettings schemas are installed on the system
-  # See https://github.com/NixOS/nixpkgs/pull/83701#issuecomment-608034097
-  + ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   multiPkgs = null; # no 32bit needed
diff --git a/pkgs/applications/misc/metadata-cleaner/default.nix b/pkgs/applications/misc/metadata-cleaner/default.nix
index ee7703987eaa4..637c4add65d64 100644
--- a/pkgs/applications/misc/metadata-cleaner/default.nix
+++ b/pkgs/applications/misc/metadata-cleaner/default.nix
@@ -13,7 +13,7 @@
 , ninja
 , pkg-config
 , poppler_gi
-, wrapGAppsHook
+, wrapGAppsHook4
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -38,7 +38,7 @@ python3.pkgs.buildPythonApplication rec {
     meson
     ninja
     pkg-config
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/misc/notable/default.nix b/pkgs/applications/misc/notable/default.nix
index 923f5fb4528ee..9e701cdb33f6b 100644
--- a/pkgs/applications/misc/notable/default.nix
+++ b/pkgs/applications/misc/notable/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+{ appimageTools, fetchurl, lib }:
 
 let
   pname = "notable";
@@ -23,7 +23,6 @@ appimageTools.wrapType2 rec {
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   multiPkgs = null; # no 32bit needed
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index dbdc15cb9c7a5..41841c58795e0 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -74,13 +74,13 @@ let
           self: super: {
             octoprint = self.buildPythonPackage rec {
               pname = "OctoPrint";
-              version = "1.8.0rc5";
+              version = "1.8.0";
 
               src = fetchFromGitHub {
                 owner = "OctoPrint";
                 repo = "OctoPrint";
                 rev = version;
-                sha256 = "sha256-FeT45w6VXaFV4BsuOMk58nxxiu9jhCNnA2F7Uh/3sB0=";
+                sha256 = "sha256-GDKXHLigMAork+KAFOs8znNhaTYVTWVB2Tb+4sAqF8o=";
               };
 
               propagatedBuildInputs = with super; [
diff --git a/pkgs/applications/misc/plover/default.nix b/pkgs/applications/misc/plover/default.nix
index 8f4bf10b1007b..5a8055b081562 100644
--- a/pkgs/applications/misc/plover/default.nix
+++ b/pkgs/applications/misc/plover/default.nix
@@ -48,7 +48,7 @@
     postPatch = "sed -i /PyQt5/d setup.cfg";
 
     checkInputs           = [ pytest mock ];
-    propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth setuptools ];
+    propagatedBuildInputs = [ babel pyqt5 xlib pyserial appdirs wcwidth setuptools ];
 
     dontWrapQtApps = true;
 
diff --git a/pkgs/applications/misc/safeeyes/default.nix b/pkgs/applications/misc/safeeyes/default.nix
index c188e5f78532b..4a063eb8eddbd 100644
--- a/pkgs/applications/misc/safeeyes/default.nix
+++ b/pkgs/applications/misc/safeeyes/default.nix
@@ -25,7 +25,7 @@ in buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
-    Babel
+    babel
     psutil
     xlib
     pygobject3
diff --git a/pkgs/applications/misc/tilemaker/default.nix b/pkgs/applications/misc/tilemaker/default.nix
new file mode 100644
index 0000000000000..cc87c529e34da
--- /dev/null
+++ b/pkgs/applications/misc/tilemaker/default.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchFromGitHub, buildPackages, cmake, installShellFiles
+, boost, lua, protobuf, rapidjson, shapelib, sqlite, zlib }:
+
+stdenv.mkDerivation rec {
+  pname = "tilemaker";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "systemed";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-st6WDCk1RZ2lbfrudtcD+zenntyTMRHrIXw3nX5FHOU=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/tilemaker.cpp \
+      --replace "config.json" "$out/share/tilemaker/config-openmaptiles.json" \
+      --replace "process.lua" "$out/share/tilemaker/process-openmaptiles.lua"
+  '';
+
+  nativeBuildInputs = [ cmake installShellFiles ];
+
+  buildInputs = [ boost lua protobuf rapidjson shapelib sqlite zlib ];
+
+  cmakeFlags = lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
+    "-DPROTOBUF_PROTOC_EXECUTABLE=${buildPackages.protobuf}/bin/protoc";
+
+  postInstall = ''
+    installManPage ../docs/man/tilemaker.1
+    install -Dm644 ../resources/* -t $out/share/tilemaker
+  '';
+
+  meta = with lib; {
+    description = "Make OpenStreetMap vector tiles without the stack";
+    homepage = "https://tilemaker.org/";
+    license = licenses.free; # FTWPL
+    maintainers = with maintainers; [ sikmir ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/tpmmanager/default.nix b/pkgs/applications/misc/tpmmanager/default.nix
index a94363f4600cf..4523168314aef 100644
--- a/pkgs/applications/misc/tpmmanager/default.nix
+++ b/pkgs/applications/misc/tpmmanager/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, qt4, qmake4Hook, trousers }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, qtbase, qmake, wrapQtAppsHook, trousers }:
 
 stdenv.mkDerivation rec {
   version = "0.8.1";
@@ -8,12 +8,24 @@ stdenv.mkDerivation rec {
     owner = "Rohde-Schwarz";
     repo = "TPMManager";
     rev = "v${version}";
-    sha256 = "sha256-JKYG+I/tZ+0NDmHcIgKV6eGrjbPvPQKPo0sE/zBlLY4=";
+    sha256 = "sha256-UZYn4ssbvLpdB0DssT7MXqQZCu1KkLf/Bsb45Rvgm+E=";
   };
 
-  nativeBuildInputs = [ qmake4Hook ];
+  patches = [
+    # build with Qt5
+    (fetchpatch {
+      url = "https://github.com/Rohde-Schwarz/TPMManager/commit/f62c0f2de2097af9b504c80d6193818e6e4ca84f.patch";
+      sha256 = "sha256-gMhDNN2UkX2lJf/oJEzOkCvF6+EGdIj9xwtXb1rCeys=";
+    })
+    (fetchpatch {
+      url = "https://github.com/Rohde-Schwarz/TPMManager/commit/c287a841ac6b057ed35799949211866b9f533561.patch";
+      sha256 = "sha256-2ZyUml8Q9bKQLVZWr18AzLt8VYLICXH9VDeq6B5Xfto=";
+    })
+  ];
 
-  buildInputs = [ qt4 trousers ];
+  nativeBuildInputs = [ qmake wrapQtAppsHook ];
+
+  buildInputs = [ qtbase trousers ];
 
   installPhase = ''
     mkdir -p $out/bin
diff --git a/pkgs/applications/misc/zettlr/default.nix b/pkgs/applications/misc/zettlr/default.nix
index d80c8d03bf43b..bd9e5a87bf9bb 100644
--- a/pkgs/applications/misc/zettlr/default.nix
+++ b/pkgs/applications/misc/zettlr/default.nix
@@ -1,8 +1,6 @@
 { appimageTools
 , lib
 , fetchurl
-, gtk3
-, gsettings-desktop-schemas
 , texlive
 , pandoc
 }:
@@ -10,11 +8,11 @@
 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
 let
   pname = "zettlr";
-  version = "2.2.5";
+  version = "2.2.6";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
-    sha256 = "sha256-KP3lt0CweT1f/BR3IpnjwCqNvhFbrpz9KLg6K8OMs+I=";
+    sha256 = "sha256-f01WLxp8fe7y2EwTUhpPqcRuWBs/9lMaAAOdybmHB5M=";
   };
   appimageContents = appimageTools.extractType2 {
     inherit name src;
@@ -23,10 +21,6 @@ in
 appimageTools.wrapType2 rec {
   inherit name src;
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   multiPkgs = null; # no 32bit needed
   extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ texlive pandoc ];
   extraInstallCommands = ''
diff --git a/pkgs/applications/networking/Sylk/default.nix b/pkgs/applications/networking/Sylk/default.nix
index c514ec22f110a..18e36cb702807 100644
--- a/pkgs/applications/networking/Sylk/default.nix
+++ b/pkgs/applications/networking/Sylk/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+{ appimageTools, fetchurl, lib }:
 
 let
   pname = "Sylk";
@@ -15,7 +15,6 @@ appimageTools.wrapType2 rec {
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   multiPkgs = null; # no 32bit needed
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 25eb34c95e826..004a69cf09e21 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -171,8 +171,8 @@ buildStdenv.mkDerivation ({
 
   outputs = [
     "out"
-    "symbols"
-  ];
+  ]
+  ++ lib.optionals crashreporterSupport [ "symbols" ];
 
   # Add another configure-build-profiling run before the final configure phase if we build with pgo
   preConfigurePhases = lib.optionals pgoSupport [
@@ -202,7 +202,6 @@ buildStdenv.mkDerivation ({
   nativeBuildInputs = [
     autoconf
     cargo
-    dump_syms
     llvmPackages.llvm # llvm-objdump
     makeWrapper
     nodejs
@@ -216,6 +215,7 @@ buildStdenv.mkDerivation ({
     which
     wrapGAppsHook
   ]
+  ++ lib.optionals crashreporterSupport [ dump_syms ]
   ++ lib.optionals pgoSupport [ xvfb-run ]
   ++ extraNativeBuildInputs;
 
@@ -421,11 +421,11 @@ buildStdenv.mkDerivation ({
 
   # Generate build symbols once after the final build
   # https://firefox-source-docs.mozilla.org/crash-reporting/uploading_symbol.html
-  preInstall = ''
+  preInstall = lib.optionalString crashreporterSupport ''
     ./mach buildsymbols
     mkdir -p $symbols/
     cp mozobj/dist/*.crashreporter-symbols.zip $symbols/
-
+  '' + ''
     cd mozobj
   '';
 
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 1c573eb1a58b4..4f778ae138970 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.13.3";
+  version = "1.13.5";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-ZCG7i5WmhONockaTt/YCww7N+WvxCX2DIwQIFjAk+K8=";
+    sha256 = "sha256-HZGI9vWSYCDH0lW+k6hvPm3UVW6lR8Lhr3H7blNupNk=";
   };
 
   nativeBuildInputs = [ cmake pkg-config zip ];
diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix
index 899b751462239..0cd05cfddd580 100644
--- a/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.29.0";
+  version = "0.30.0";
 
   src = fetchFromGitHub {
     owner = "snyk";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-cn0PhumDaOhTm1vZCj0h9XehnQCDc+mXtne7QQNSbBk=";
+    sha256 = "sha256-kjXqkaBF3rAaGnDDVmAoFmvH4t8/seC+KF7K78eKZco=";
   };
 
   vendorSha256 = "sha256-bsIPEjD/kCUvkRKP85CjW3JJf1Hyx9b2pMY9S4HlKrA=";
diff --git a/pkgs/applications/networking/cluster/krane/Gemfile.lock b/pkgs/applications/networking/cluster/krane/Gemfile.lock
index ba7e5bb0a633f..e886f40c8a57d 100644
--- a/pkgs/applications/networking/cluster/krane/Gemfile.lock
+++ b/pkgs/applications/networking/cluster/krane/Gemfile.lock
@@ -1,7 +1,7 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    activesupport (7.0.2.3)
+    activesupport (7.0.3)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -60,7 +60,7 @@ GEM
       ffi-compiler (>= 1.0, < 2.0)
     i18n (1.10.0)
       concurrent-ruby (~> 1.0)
-    jsonpath (1.1.1)
+    jsonpath (1.1.2)
       multi_json
     jwt (2.3.0)
     krane (2.4.6)
diff --git a/pkgs/applications/networking/cluster/krane/gemset.nix b/pkgs/applications/networking/cluster/krane/gemset.nix
index 058910072a783..3c18789c09530 100644
--- a/pkgs/applications/networking/cluster/krane/gemset.nix
+++ b/pkgs/applications/networking/cluster/krane/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1jpydd414j0fig3r0f6ci67mchclg6cq2qgqbq9zplrbg40pzfi8";
+      sha256 = "0z05zyc57f8ywvdvls6nx93vrhyyzzpgz729mwampz1qb8vvcspj";
       type = "gem";
     };
-    version = "7.0.2.3";
+    version = "7.0.3";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -276,10 +276,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0slr38w21gwizkq4nk6c7l7lcqc2c733zfn5fq1pmbwy5bwiggad";
+      sha256 = "0fkdjic88hh0accp0sbx5mcrr9yaqwampf5c3214212d4i614138";
       type = "gem";
     };
-    version = "1.1.1";
+    version = "1.1.2";
   };
   jwt = {
     groups = ["default"];
diff --git a/pkgs/applications/networking/cluster/lens/default.nix b/pkgs/applications/networking/cluster/lens/default.nix
index 66c507312c266..151649ba22ee9 100644
--- a/pkgs/applications/networking/cluster/lens/default.nix
+++ b/pkgs/applications/networking/cluster/lens/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, appimageTools, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }:
+{ lib, fetchurl, appimageTools, wrapGAppsHook }:
 
 let
   pname = "lens";
@@ -20,10 +20,6 @@ in
 appimageTools.wrapType2 {
   inherit name src;
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   extraInstallCommands =
     ''
       mv $out/bin/${name} $out/bin/${pname}
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index acc3370ce83b7..5de2f03be7d31 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FuWfHd4LfFHX5oRopDIDTi90cARi8cYjJBK0BgeCD/U=";
+    sha256 = "sha256-5bigfsig2LkZoLUlA6764ttG85CNi6rmOgQck+/zc5c=";
   };
 
-  vendorSha256 = "sha256-mHitGjOfSRlqORWFtB16buSSJrCf7Li9+oHX4rcO4ek=";
+  vendorSha256 = "sha256-Ei4L35/RN2en7gOUzvGflBivTlBy2YnUvTHqcCe5HN4=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/nomad-pack/default.nix b/pkgs/applications/networking/cluster/nomad-pack/default.nix
index 394e75f911255..5c5cb7c4a61d7 100644
--- a/pkgs/applications/networking/cluster/nomad-pack/default.nix
+++ b/pkgs/applications/networking/cluster/nomad-pack/default.nix
@@ -5,17 +5,17 @@
 
 buildGoModule rec {
   pname = "nomad-pack";
-  version = "2022-04-12";
-  rev   = "50ad747d2a5a2b90af1b3564483510cb04fefbea";
+  version = "2022-05-12";
+  rev   = "bee6e8e078ff31fee916b864fbf3648294dbcdf5";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-VG6Dmx5WD2AzKReMbmrpzXCNhrJqaZY3aQV9P+4ET68=";
+    sha256 = "sha256-28Dx9z7T+4WXl4voAzlSR2h3HcZMSzOuX7FHLJ4q9Sc=";
   };
 
-  vendorSha256 = "sha256-7ovR2F9N94iFK/B5OXRcqfykOYHST3354+Ge2L8yzq0=";
+  vendorSha256 = "sha256-hPsO842gmk77qc27slV2TiYNI7Ofw1RqGgcLP1gdgJ0=";
 
   # skip running go tests as they require network access
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/octant/desktop.nix b/pkgs/applications/networking/cluster/octant/desktop.nix
index 1a86a66fa29bf..b34e167e8c948 100644
--- a/pkgs/applications/networking/cluster/octant/desktop.nix
+++ b/pkgs/applications/networking/cluster/octant/desktop.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, appimageTools, fetchurl, gsettings-desktop-schemas, gtk3, undmg }:
+{ lib, stdenv, appimageTools, fetchurl, undmg }:
 
 let
   pname = "octant-desktop";
@@ -25,7 +25,6 @@ let
 
     profile = ''
       export LC_ALL=C.UTF-8
-      export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
     '';
 
     multiPkgs = null; # no 32bit needed
diff --git a/pkgs/applications/networking/cluster/temporal-cli/default.nix b/pkgs/applications/networking/cluster/temporal-cli/default.nix
new file mode 100644
index 0000000000000..49d64283ca0f0
--- /dev/null
+++ b/pkgs/applications/networking/cluster/temporal-cli/default.nix
@@ -0,0 +1,38 @@
+{ lib, fetchFromGitHub, fetchpatch, buildGoModule, testers, temporal-cli }:
+
+buildGoModule rec {
+  pname = "temporal-cli";
+  version = "1.16.1";
+
+  src = fetchFromGitHub {
+    owner = "temporalio";
+    repo = "tctl";
+    rev = "v${version}";
+    sha256 = "sha256-WNdu/62/VmxTmzAvzx3zIlcAAlEmpN0yKzQOSUtrL8s=";
+  };
+
+  patches = [
+    # Fix tests
+    (fetchpatch {
+      name = "fix-tests.patch";
+      url = "https://github.com/temporalio/tctl/pull/203/commits/2b113da137a3a925e8fbd7c18bdaaefc31397db4.patch";
+      sha256 = "sha256-HFPwbmLZ2uPHzaHvYoB4MTZvMVyzvUKggA76/bh50DQ=";
+    })
+  ];
+
+  vendorSha256 = "sha256-WF3T+HNisfR0JoKkHCC77kmHmsGZ9NfQ7UCwOmpCG/o=";
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = temporal-cli;
+  };
+
+  meta = with lib; {
+    description = "Temporal CLI";
+    homepage = "https://temporal.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aaronjheng ];
+    mainProgram = "tctl";
+  };
+}
diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix
index 2475dd0f1d940..db423d619b526 100644
--- a/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/pkgs/applications/networking/cluster/temporal/default.nix
@@ -1,38 +1,37 @@
-{ lib, fetchFromGitHub, buildGoModule }:
+{ lib, fetchFromGitHub, buildGoModule, testers, temporal }:
 
 buildGoModule rec {
   pname = "temporal";
-  version = "1.15.0";
+  version = "1.16.2";
 
   src = fetchFromGitHub {
     owner = "temporalio";
     repo = "temporal";
     rev = "v${version}";
-    sha256 = "sha256-5Tu838086qgIa2fqda2xi7vn4JbkENVJH4XU3NwW7Ic=";
+    sha256 = "sha256-MPfyjRpjfnuVbj+Pd7yIlaEJCiX1IEy/Lwwkv23kugw=";
   };
 
-  vendorSha256 = "sha256-caRBgkuHQ38r6OsKQCJ2pxAe8s6mc4g/QCIsCEXvY3M=";
+  vendorSha256 = "sha256-82W1nHhHvvU6poh5szuH9lDkq6YHgyfsJSubxotV270=";
 
-  # Errors:
-  #  > === RUN   TestNamespaceHandlerGlobalNamespaceDisabledSuite
-  # gocql: unable to dial control conn 127.0.0.1:9042: dial tcp 127.0.0.1:9042: connect: connection refused
-  doCheck = false;
+  CGO_ENABLED = 0;
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
 
   installPhase = ''
     runHook preInstall
-    mkdir -p $out/bin
-    install -Dm755 "$GOPATH/bin/cli" -T $out/bin/tctl
-    install -Dm755 "$GOPATH/bin/authorization" -T $out/bin/tctl-authorization-plugin
+
     install -Dm755 "$GOPATH/bin/server" -T $out/bin/temporal-server
     install -Dm755 "$GOPATH/bin/cassandra" -T $out/bin/temporal-cassandra-tool
     install -Dm755 "$GOPATH/bin/sql" -T $out/bin/temporal-sql-tool
+
     runHook postInstall
   '';
 
-  doInstallCheck = true;
-  installCheckPhase = ''
-    $out/bin/tctl --version | grep ${version} > /dev/null
-  '';
+  passthru.tests.version = testers.testVersion {
+    package = temporal;
+  };
 
   meta = with lib; {
     description = "A microservice orchestration platform which enables developers to build scalable applications without sacrificing productivity or reliability";
@@ -40,5 +39,6 @@ buildGoModule rec {
     changelog = "https://github.com/temporalio/temporal/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ titanous ];
+    mainProgram = "temporal-server";
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-inventory/default.nix b/pkgs/applications/networking/cluster/terraform-inventory/default.nix
index 085b504314eec..783f9c79bb7fd 100644
--- a/pkgs/applications/networking/cluster/terraform-inventory/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-inventory/default.nix
@@ -1,22 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub}:
+{ lib, buildGoModule, fetchFromGitHub, testers, terraform-inventory }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "terraform-inventory";
-  version = "0.7-pre";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/adammck/terraform-inventory";
-
-  subPackages = [ "./" ];
+  version = "0.10";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "adammck";
     repo = "terraform-inventory";
-    sha256 = "0wwyi2nfyn3wfpmvj8aabn0cjba0lpr5nw3rgd6qdywy7sc3rmb1";
+    rev = "v${version}";
+    sha256 = "sha256-gkSDxcBoYmCBzkO8y1WKcRtZdfl8w5qVix0zbyb4Myo=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-pj9XLzaGU1PuNnpTL/7XaKJZUymX+i8hFMroZtHIqTc=";
+
+  ldflags = [ "-s" "-w" "-X main.build_version=${version}" ];
+
+  doCheck = false;
+
+  passthru.tests.version = testers.testVersion {
+    package = terraform-inventory;
+  };
 
   meta = with lib; {
     homepage = "https://github.com/adammck/terraform-inventory";
diff --git a/pkgs/applications/networking/cluster/terraform-inventory/deps.nix b/pkgs/applications/networking/cluster/terraform-inventory/deps.nix
deleted file mode 100644
index 9f7b5e317fe3c..0000000000000
--- a/pkgs/applications/networking/cluster/terraform-inventory/deps.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/adammck/venv";
-    fetch = {
-      type = "git";
-      url = "https://github.com/adammck/venv";
-      rev = "8a9c907a37d36a8f34fa1c5b81aaf80c2554a306";
-      sha256 = "1fzk3j4q59kpd2ks2aw8rmic6b123p5mh981cjh0kzs716grc6y8";
-    };
-  }
-  {
-    goPackagePath = "github.com/blang/vfs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/blang/vfs";
-      rev = "c14afcac17253ce7418da751ec6b1988790cdc8f";
-      sha256 = "00q5qzxpn9n59nrmrljz4w9lljxvrr8i5j8i8b4iw86j0alcx53b";
-    };
-  }
-]
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 94fcafcb48cb6..db7ca3cf38641 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -420,10 +420,10 @@
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v4.25.0-alpha",
-    "sha256": "sha256-9BE19VywtNIeDfjBKzle5nGFPmpS8lHV60w0h2xTztU=",
+    "rev": "v4.24.1",
+    "sha256": "sha256-1fwHMN2HIVl+8ZL7OtP1U5ORc41e7Tm3qEpMqIgWL20=",
     "vendorSha256": null,
-    "version": "4.25.0-alpha"
+    "version": "4.24.1"
   },
   "gitlab": {
     "owner": "gitlabhq",
@@ -719,10 +719,10 @@
     "owner": "equinix",
     "provider-source-address": "registry.terraform.io/equinix/metal",
     "repo": "terraform-provider-metal",
-    "rev": "v3.3.0-alpha.3",
-    "sha256": "sha256-wuZp0Be8a84y7JqpCGnBDPXgNG8JJcNWsIICP3ZjSVk=",
-    "vendorSha256": "sha256-Ln9EyycPduVuj+JefH9f+Q5KlNGvbcwcEDgaqH2M0So=",
-    "version": "3.3.0-alpha.3"
+    "rev": "v3.2.2",
+    "sha256": "193897farpyb3zxz6p79mfaf04ccin7xdirbkclqb3x3c56jy0xi",
+    "vendorSha256": null,
+    "version": "3.2.2"
   },
   "minio": {
     "owner": "aminueza",
diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-provider b/pkgs/applications/networking/cluster/terraform-providers/update-provider
index 4310fcdcc27b6..fb506cefbe069 100755
--- a/pkgs/applications/networking/cluster/terraform-providers/update-provider
+++ b/pkgs/applications/networking/cluster/terraform-providers/update-provider
@@ -128,9 +128,12 @@ version="$(jq -r '.version' <<<"${registry_response}")"
 if [[ ${old_version} == "${version}" && ${force} != 1 && -z ${vendorSha256} && ${old_vendor_sha256} != "${vendorSha256}" ]]; then
   echo_provider "already at version ${version}"
   exit
-else
-  echo_provider "updating from ${old_version} to ${version}"
 fi
+if [[ ${version} =~ (alpha|beta|pre) && ${force} != 1 ]]; then
+  echo_provider "not updating to unstable version ${version}"
+  exit
+fi
+echo_provider "updating from ${old_version} to ${version}"
 update_attr version "${version}"
 
 provider_source_url="$(jq -r '.source' <<<"${registry_response}")"
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index b4191bbd78c80..399f20fd5c1b1 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -63,10 +63,11 @@ let
           kalbasit
           marsam
           maxeaubrey
-          techknowlogick
           timstott
+          zimbatm
           zowoq
-        ] ++ teams.numtide.members;
+          techknowlogick
+        ];
       };
     } // attrs');
 
@@ -191,9 +192,9 @@ rec {
   };
 
   terraform_1 = mkTerraform {
-    version = "1.1.9";
-    sha256 = "sha256-6dyP3Y5cK+/qLoC2QPZW3QNgqOeVXegC06Pa7pSv1iE=";
-    vendorSha256 = "sha256-YI/KeoOIxgCAS3Q6SXaW8my0PyFD+pyksshQEAknsz4=";
+    version = "1.2.0";
+    sha256 = "sha256-5um+zS7MVL59SlxchjXdlhBGNdacbQgvg7BRAWnW5XU=";
+    vendorSha256 = "sha256-6x1cv+DKXH2yyMjIA6JY5EkTmWbwH4LBammXKtw2EZo=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
   };
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index 5532c644c2c82..7aaf5b8bc75fa 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ stdenv, lib, buildGoModule, fetchFromGitHub }:
 
 buildGoModule rec {
   pname = "tilt";
@@ -24,5 +24,13 @@ buildGoModule rec {
     homepage = "https://tilt.dev/";
     license = licenses.asl20;
     maintainers = with maintainers; [ anton-dessiatov ];
+
+    # TODO: Remove once nixpkgs uses macOS SDK 10.14+ for x86_64-darwin
+    # Undefined symbols for architecture x86_64:
+    # "_SecTrustEvaluateWithError", referenced from:
+    #     _crypto/x509/internal/macos.x509_SecTrustEvaluateWithError_trampoline.abi0 in go.o
+    # "_utimensat", referenced from:
+    #     _syscall.libc_utimensat_trampoline.abi0 in go.o
+    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index df0ae08eede4f..038ab2c2bf7f4 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NRR/N61QdBF4jaioF7+X3xOdvaJ8COEzXL4hVHYSqW4=";
+    sha256 = "sha256-Pq1gGXROPHHMaOoQwx6cObvMF+SoilOROR4bwI0Y/GM=";
   };
 
-  vendorSha256 = "sha256-57/MzO5TulGKMkGdQRoFNKIKF7upJiPazF0+Ovt/LG8=";
+  vendorSha256 = "sha256-Q8ookgQwecRuSrnQiIREBMDxK9NAWfHu+sIQeMO/T4w=";
 
   nativeBuildInputs = [ go-bindata installShellFiles ];
 
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index d74378378b968..b50c05fd180f4 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -5,14 +5,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "flexget";
-  version = "3.3.9";
+  version = "3.3.10";
 
   # Fetch from GitHub in order to use `requirements.in`
   src = fetchFromGitHub {
     owner = "flexget";
     repo = "flexget";
     rev = "refs/tags/v${version}";
-    hash = "sha256-29V22B1Nkgj/qc6uyAOSOZ1rrjjtf75I9Eycu8I5ysQ=";
+    hash = "sha256-ESUkGHUVToM5rxpEa0zMo/LxWfPgovkNqDU5IAqQBZg=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
index aa0a8f7bfc467..d08e1cd1ba483 100644
--- a/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
+++ b/pkgs/applications/networking/instant-messengers/caprine-bin/build-from-appimage.nix
@@ -1,8 +1,6 @@
 { lib
 , fetchurl
 , appimageTools
-, gtk3
-, gsettings-desktop-schemas
 , xorg
 , pname
 , version
@@ -24,7 +22,6 @@ in
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs;
diff --git a/pkgs/applications/networking/instant-messengers/cinny/default.nix b/pkgs/applications/networking/instant-messengers/cinny/default.nix
index 57fb1b58d90f3..d27512bf5bcd6 100644
--- a/pkgs/applications/networking/instant-messengers/cinny/default.nix
+++ b/pkgs/applications/networking/instant-messengers/cinny/default.nix
@@ -4,11 +4,11 @@ let
   configOverrides = writeText "cinny-config-overrides.json" (builtins.toJSON conf);
 in stdenv.mkDerivation rec {
   pname = "cinny";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchurl {
     url = "https://github.com/ajbura/cinny/releases/download/v${version}/cinny-v${version}.tar.gz";
-    sha256 = "sha256-qVnNVJK/Y76cZTh8QNeSNHDxHA/Ekbt7X6mKYkYAPNU=";
+    sha256 = "13jg28dypp7x6wgsc6vikbqnagp1grqsdmmwhll8qz9ih9rq9fxd";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
index 442a6adcb790a..0b692104a4fa0 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-cursed/default.nix
@@ -1,9 +1,6 @@
 { lib
 , python3
 , fetchFromGitHub
-, wrapGAppsHook
-, gobject-introspection
-, libnotify
 }:
 
 python3.pkgs.buildPythonApplication rec {
@@ -19,29 +16,16 @@ python3.pkgs.buildPythonApplication rec {
 
   nativeBuildInputs = [
     python3.pkgs.setuptools-scm
-    wrapGAppsHook
   ];
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
-  buildInputs = [
-    gobject-introspection
-    libnotify
-  ];
-
   propagatedBuildInputs = with python3.pkgs; [
     deltachat
     notify-py
-    pygobject3
     urwid-readline
   ];
 
-  dontWrapGApps = true;
-
-  preFixup = ''
-    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
-  '';
-
   doCheck = false; # no tests implemented
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/rambox/rambox.nix b/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
index d4329ed09d35a..b9b5175d3b87a 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
@@ -1,6 +1,6 @@
 { pname, version, src, meta, desktopName ? "Rambox" }:
 
-{ appimageTools, lib, fetchurl, gsettings-desktop-schemas, gtk3, makeDesktopItem }:
+{ appimageTools, lib, fetchurl, makeDesktopItem }:
 
 let
   name = "${pname}-${version}";
@@ -18,9 +18,6 @@ let
   };
 in appimageTools.wrapType2 rec {
   inherit name src meta;
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications $out/share/icons/hicolor/256x256/apps
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index f81b8853c8b26..1070821f5d2e8 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20220430";
+  version = "20220517";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-clG0B7PgtlpsSnZgglkv7y7SOtMTBvwJMnvMrcTWXdI=";
+    sha256 = "sha256-6jKsdilgWm6oDAuzE1aToMg9oV9BmTgQrOvvlwPA5gc=";
   };
 
   # Remove when Apple SDK is >= 10.13
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index db38a2d0e8629..1b15c2aa0cca9 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -7,18 +7,27 @@
   # Dynamic libraries
 , alsa-lib
 , atk
+, at-spi2-atk
+, at-spi2-core
 , cairo
+, cups
 , dbus
+, expat
+, libdrm
 , libGL
 , fontconfig
 , freetype
 , gtk3
 , gdk-pixbuf
 , glib
+, mesa
+, nspr
+, nss
 , pango
 , wayland
 , xorg
 , libxkbcommon
+, udev
 , zlib
   # Runtime
 , coreutils
@@ -33,13 +42,11 @@ let
   inherit (stdenv.hostPlatform) system;
   throwSystem = throw "Unsupported system: ${system}";
 
-  # Zoom versions are released at different times for each platform and linux
-  # is stuck on 5.9.6 until https://github.com/NixOS/nixpkgs/pull/166085 is
-  # resolved
+  # Zoom versions are released at different times for each platform
   version = {
     aarch64-darwin = "5.10.4.6592";
     x86_64-darwin = "5.10.4.6592";
-    x86_64-linux = "5.9.6.2225";
+    x86_64-linux = "5.10.4.2845";
    }.${system} or throwSystem;
 
   srcs = {
@@ -53,7 +60,7 @@ let
     };
     x86_64-linux = fetchurl {
       url = "https://zoom.us/client/${version}/zoom_x86_64.pkg.tar.xz";
-      sha256 = "0rynpw2fjn9j75f34rk0rgqn9wzyzgzmwh1a3xcx7hqingv45k53";
+      sha256 = "9gspydrGaEjzAM0nK1u0XNm07HTupJ2wnPxCFWy+Nts=";
     };
   };
 
@@ -61,28 +68,40 @@ let
     # $ LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH:$PWD ldd zoom | grep 'not found'
     alsa-lib
     atk
+    at-spi2-atk
+    at-spi2-core
     cairo
+    cups
     dbus
+    expat
+    libdrm
     libGL
     fontconfig
     freetype
     gtk3
     gdk-pixbuf
     glib
+    mesa
+    nspr
+    nss
     pango
     stdenv.cc.cc
     wayland
     xorg.libX11
     xorg.libxcb
     xorg.libXcomposite
+    xorg.libXdamage
     xorg.libXext
     libxkbcommon
+    xorg.libXrandr
     xorg.libXrender
-    zlib
+    xorg.libxshmfence
     xorg.xcbutilimage
     xorg.xcbutilkeysyms
     xorg.libXfixes
     xorg.libXtst
+    udev
+    zlib
   ] ++ lib.optional (pulseaudioSupport) libpulseaudio);
 
 in
@@ -134,7 +153,9 @@ stdenv.mkDerivation rec {
     done
 
     # ZoomLauncher sets LD_LIBRARY_PATH before execing zoom
-    wrapProgram $out/opt/zoom/zoom \
+    # IPC breaks if the executable name does not end in 'zoom'
+    mv $out/opt/zoom/zoom $out/opt/zoom/.zoom
+    makeWrapper $out/opt/zoom/.zoom $out/opt/zoom/zoom \
       --prefix LD_LIBRARY_PATH ":" ${libs}
 
     rm $out/bin/zoom
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 5af97fa0f9389..c5ba0437efdc5 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -28,6 +28,7 @@ with lib;
 stdenv.mkDerivation rec {
   pname = "mutt";
   version = "2.2.4";
+  outputs = [ "out" "doc" "info" ];
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
diff --git a/pkgs/applications/networking/mujmap/default.nix b/pkgs/applications/networking/mujmap/default.nix
new file mode 100644
index 0000000000000..247a8d589547b
--- /dev/null
+++ b/pkgs/applications/networking/mujmap/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, fetchFromGitHub
+, rustPlatform
+, notmuch
+, stdenv
+, Security
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mujmap";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "elizagamedev";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-O5CbLgs+MkATPtess0gocgPB9kwD8FMR/urwm6jo2rA=";
+  };
+
+  cargoSha256 = "sha256-nOZ+HnzXhVp+tLrNMZO1NmZIhIqlWz0fRMbHVIQkOxI=";
+
+  buildInputs = [
+    notmuch
+  ] ++ lib.optional stdenv.isDarwin Security;
+
+  meta = with lib; {
+    description = "Bridge for synchronizing email and tags between JMAP and notmuch";
+    homepage = "https://github.com/elizagamedev/mujmap/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ elizagamedev ];
+    mainProgram = "mujmap";
+  };
+}
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index 1c0eeeb8266de..60190f703aa12 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -103,13 +103,13 @@ let
         sha512 = "UA/8dgLy3+ZiwJjAZHxL4MUB14fFQPkaAOZ94jsTW/Z6WmoOeny2+cLk0+dyIX/iH6qSrEWKwbStEeB970B9pA==";
       };
     };
-    "@azure/storage-blob-12.9.0" = {
+    "@azure/storage-blob-12.10.0" = {
       name = "_at_azure_slash_storage-blob";
       packageName = "@azure/storage-blob";
-      version = "12.9.0";
+      version = "12.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.9.0.tgz";
-        sha512 = "ank38FdCLfJ+EoeMzCz3hkYJuZAd63ARvDKkxZYRDb+beBYf+/+gx8jNTqkq/hfyUl4dJQ/a7tECU0Y0F98CHg==";
+        url = "https://registry.npmjs.org/@azure/storage-blob/-/storage-blob-12.10.0.tgz";
+        sha512 = "FBEPKGnvtQJS8V8Tg1P9obgmVD9AodrIfwtwhBpsjenClhFyugMp3HPJY0tF7rInUB/CivKBCbnQKrUnKxqxzw==";
       };
     };
     "@babel/runtime-7.17.9" = {
@@ -139,13 +139,13 @@ let
         sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@fontsource/open-sans-4.5.8" = {
+    "@fontsource/open-sans-4.5.10" = {
       name = "_at_fontsource_slash_open-sans";
       packageName = "@fontsource/open-sans";
-      version = "4.5.8";
+      version = "4.5.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.8.tgz";
-        sha512 = "3b94XDdRLqL7OlE7OjWg/4pgG825Juw8PLVEDm6h5pio0gMU89ICxfatGxHsBxMGfqad+wnvdmUweZWlELDFpQ==";
+        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.10.tgz";
+        sha512 = "MrtTDfWb1Tu9YxVh2KaKmsKBn6O3KL/lHZS0KRKK58jgqvdwuiDt4QW4udmW4FQf0XOWgnZ+4vKUF80F3SqBAA==";
       };
     };
     "@fortawesome/fontawesome-common-types-6.1.1" = {
@@ -517,22 +517,22 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@types/node-12.20.50" = {
+    "@types/node-12.20.52" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.50";
+      version = "12.20.52";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.50.tgz";
-        sha512 = "+9axpWx2b2JCVovr7Ilgt96uc6C1zBKOQMpGtRbWT9IoR/8ue32GGMfGA4woP8QyP2gBs6GQWEVM3tCybGCxDA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.52.tgz";
+        sha512 = "cfkwWw72849SNYp3Zx0IcIs25vABmFh73xicxhCkTcvtZQeIez15PpwQN8fY3RD7gv1Wrxlc9MEtfMORZDEsGw==";
       };
     };
-    "@types/node-17.0.31" = {
+    "@types/node-17.0.33" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.31";
+      version = "17.0.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz";
-        sha512 = "AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.33.tgz";
+        sha512 = "miWq2m2FiQZmaHfdZNcbpp9PuXg34W5JZ5CrJ/BaS70VuhoJENBEQybeiYSaPBRNq6KQGnjfEnc/F3PN++D+XQ==";
       };
     };
     "@types/node-fetch-2.6.1" = {
@@ -703,7 +703,7 @@ let
       version = "1.2.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz";
-        sha1 = "6a3e6bf0a63900ba15652808cb15c6813d1a5f25";
+        sha512 = "/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==";
       };
     };
     "adler-32-1.3.1" = {
@@ -757,7 +757,7 @@ let
       version = "2.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+        sha512 = "TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==";
       };
     };
     "ansi-regex-5.0.1" = {
@@ -775,7 +775,7 @@ let
       version = "2.2.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+        sha512 = "kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==";
       };
     };
     "ansi-styles-4.3.0" = {
@@ -793,7 +793,7 @@ let
       version = "1.3.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz";
-        sha1 = "abc6afeedcea52e809cdc0376aed3ce39635d17f";
+        sha512 = "7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==";
       };
     };
     "anymatch-3.1.2" = {
@@ -847,7 +847,7 @@ let
       version = "1.1.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
-        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+        sha512 = "PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==";
       };
     };
     "array-parallel-0.1.3" = {
@@ -856,7 +856,7 @@ let
       version = "0.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/array-parallel/-/array-parallel-0.1.3.tgz";
-        sha1 = "8f785308926ed5aa478c47e64d1b334b6c0c947d";
+        sha512 = "TDPTwSWW5E4oiFiKmz6RGJ/a80Y91GuLgUYuLd49+XBS75tYo8PNgaT2K/OxuQYqkoI852MDGBorg9OcUSTQ8w==";
       };
     };
     "array-series-0.1.5" = {
@@ -865,7 +865,7 @@ let
       version = "0.1.5";
       src = fetchurl {
         url = "https://registry.npmjs.org/array-series/-/array-series-0.1.5.tgz";
-        sha1 = "df5d37bfc5c2ef0755e2aa4f92feae7d4b5a972f";
+        sha512 = "L0XlBwfx9QetHOsbLDrE/vh2t018w9462HM3iaFfxRiK83aJjAt/Ja3NMkOW7FICwWTlQBa3ZbL5FKhuQWkDrg==";
       };
     };
     "array-union-2.1.0" = {
@@ -928,7 +928,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+        sha512 = "NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==";
       };
     };
     "async-2.6.4" = {
@@ -964,7 +964,7 @@ let
       version = "0.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
-        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+        sha512 = "Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==";
       };
     };
     "auto-changelog-1.16.4" = {
@@ -985,13 +985,13 @@ let
         sha512 = "z4oo33lmnvvNRqfUe3YjDGGpqu/L2+wXBIhMtwq6oqZ+exOUAkQYM6zd2VWKF7AIlajOF8ZZuPFfryTG9iLC/w==";
       };
     };
-    "aws-sdk-2.1131.0" = {
+    "aws-sdk-2.1135.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1131.0";
+      version = "2.1135.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1131.0.tgz";
-        sha512 = "Ic3f2fSgVhYDQ0OBGxE6ODtSwaKyxBPGrI2RGrYt2Oj0Z8f227P7dB90o9X7y2MtnuJ4WoAzkf3Vc1c1UnnZlA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1135.0.tgz";
+        sha512 = "bl9n4QgrEh52hmQ+Jo76BgJXM/p+PwfVZvImEQHFeel/33H/PDLcTJquEw5bzxM1HRNI24iH+FNPwyWLMrttTw==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1000,7 +1000,7 @@ let
       version = "0.7.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
-        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+        sha512 = "08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==";
       };
     };
     "aws4-1.11.0" = {
@@ -1045,7 +1045,7 @@ let
       version = "6.26.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
-        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+        sha512 = "ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==";
       };
     };
     "balanced-match-1.0.2" = {
@@ -1081,7 +1081,7 @@ let
       version = "1.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
-        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+        sha512 = "qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==";
       };
     };
     "bcryptjs-2.4.3" = {
@@ -1090,7 +1090,7 @@ let
       version = "2.4.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz";
-        sha1 = "9ab5627b93e60621ff7cdac5da9733027df1d0cb";
+        sha512 = "V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==";
       };
     };
     "big-integer-1.6.51" = {
@@ -1108,7 +1108,7 @@ let
       version = "2.4.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz";
-        sha1 = "838a992da9f9d737e0f4b2db0be62bb09dd0c5e8";
+        sha512 = "uw4ra6Cv483Op/ebM0GBKKfxZlSmn6NgFRby5L3yGTlunLj53KQgndDlqy2WVFOwgvurocApYkSud0aO+mvrpQ==";
       };
     };
     "binary-extensions-2.2.0" = {
@@ -1126,7 +1126,7 @@ let
       version = "0.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/binascii/-/binascii-0.0.2.tgz";
-        sha1 = "a7f8a8801dbccf8b1756b743daa0fee9e2d9e0ee";
+        sha512 = "rA2CrUl1+6yKrn+XgLs8Hdy18OER1UW146nM+ixzhQXDY+Bd3ySkyIJGwF2a4I45JwbvF1mDL/nWkqBwpOcdBA==";
       };
     };
     "bintrees-1.0.1" = {
@@ -1135,7 +1135,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz";
-        sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
+        sha512 = "tbaUB1QpTIj4cKY8c1rvNAvEQXA+ekzHmbe4jzNfW3QWsF9GnnP/BRWyl6/qqS53heoYJ93naaFcm/jooONH8g==";
       };
     };
     "bitsyntax-0.1.0" = {
@@ -1180,7 +1180,7 @@ let
       version = "2.11.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz";
-        sha1 = "534b9033c022c9579c56ba3b3e5a5caafbb650e1";
+        sha512 = "UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==";
       };
     };
     "bluebird-3.7.2" = {
@@ -1225,7 +1225,7 @@ let
       version = "1.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
-        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+        sha512 = "JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==";
       };
     };
     "brace-expansion-1.1.11" = {
@@ -1252,7 +1252,7 @@ let
       version = "0.3.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
-        sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
+        sha512 = "YyNI4qJJ+piQG6MMEuo7J3Bzaqssufx04zpEKYfSrl/1Op59HWali9zMtBpXnkmqMcOuWJPZvudrm9wISmnCbg==";
       };
     };
     "bson-1.1.6" = {
@@ -1288,7 +1288,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
-        sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
+        sha512 = "zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==";
       };
     };
     "buffer-from-1.1.2" = {
@@ -1342,7 +1342,7 @@ let
       version = "3.0.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz";
-        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+        sha512 = "pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==";
       };
     };
     "bytes-3.1.2" = {
@@ -1369,7 +1369,7 @@ let
       version = "1.1.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz";
-        sha1 = "4701a51266f06e06eaa71fc17233822d875f4908";
+        sha512 = "sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==";
       };
     };
     "callsites-3.1.0" = {
@@ -1405,7 +1405,7 @@ let
       version = "0.12.0";
       src = fetchurl {
         url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
-        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+        sha512 = "4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==";
       };
     };
     "cfb-1.2.2" = {
@@ -1423,7 +1423,7 @@ let
       version = "1.1.3";
       src = fetchurl {
         url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+        sha512 = "U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==";
       };
     };
     "chalk-4.1.2" = {
@@ -1459,7 +1459,7 @@ let
       version = "0.0.2";
       src = fetchurl {
         url = "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz";
-        sha1 = "c0a1d2f3a7092e03774bfa83f14c0fc5790a8667";
+        sha512 = "yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==";
       };
     };
     "cheerio-1.0.0-rc.6" = {
@@ -1504,7 +1504,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         url = "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz";
-        sha1 = "66a0e64011816e37196828fdc8c8c147312c8634";
+        sha512 = "kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==";
       };
     };
     "class-validator-0.13.2" = {
@@ -1531,7 +1531,7 @@ let
       version = "0.1.7";
       src = fetchurl {
         url = "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz";
-        sha1 = "adc3200fa471cc211b0da7f566b71e98b9d67347";
+        sha512 = "xNaQxWYgI6DD4xIJLn8GY2zDZVbrN0vsU1fEbDNAHZRyceWhpj7A08mYcG1AY92q1Aw0geYkVfiAcEYIZtuTSg==";
       };
     };
     "cli-cursor-3.1.0" = {
@@ -2470,13 +2470,13 @@ let
         sha512 = "mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==";
       };
     };
-    "eventsource-1.1.0" = {
+    "eventsource-2.0.2" = {
       name = "eventsource";
       packageName = "eventsource";
-      version = "1.1.0";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.1.0.tgz";
-        sha512 = "VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg==";
+        url = "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz";
+        sha512 = "IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==";
       };
     };
     "exit-on-epipe-1.0.1" = {
@@ -2893,13 +2893,13 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.2.0" = {
+    "glob-7.2.3" = {
       name = "glob";
       packageName = "glob";
-      version = "7.2.0";
+      version = "7.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz";
-        sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz";
+        sha512 = "nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==";
       };
     };
     "glob-parent-3.1.0" = {
@@ -3640,13 +3640,13 @@ let
         sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
       };
     };
-    "isbot-3.4.6" = {
+    "isbot-3.4.7" = {
       name = "isbot";
       packageName = "isbot";
-      version = "3.4.6";
+      version = "3.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isbot/-/isbot-3.4.6.tgz";
-        sha512 = "EEi3SVCPB4WHtMBaAYzYLgCP7yG9qixseYCf3IG0Yc+howLia+XFPLTT1437rzeViLeDInKOXOdFhs9Fa/xgWQ==";
+        url = "https://registry.npmjs.org/isbot/-/isbot-3.4.7.tgz";
+        sha512 = "huiRPlUf/je4GfR/pms78bOnUYRmwo2Dg/d9aRQCPXIIK3uX6u+iRFuTLsq969X40JcCunHrbS4SFlXIcEIoUw==";
       };
     };
     "isexe-2.0.0" = {
@@ -4531,49 +4531,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.116.0" = {
+    "n8n-core-0.117.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.116.0";
+      version = "0.117.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.116.0.tgz";
-        sha512 = "D9X+D7gsUTKMacHIixEJuZpOB7DW/g42W+FBKLrj+6BUP1JMKG02G0C+Ef38e2XuNObMoLdLkI70snyvi1oq1g==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.117.0.tgz";
+        sha512 = "GEU8qBS/Gt+2FHNNb8txDkerzG7vlfDdeiy56lPF+oZJyEZzqgSJ8fNRUcv2b2kd5XjU9zTDcmjARclDC6SNmA==";
       };
     };
-    "n8n-design-system-0.19.0" = {
+    "n8n-design-system-0.20.0" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.19.0";
+      version = "0.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.19.0.tgz";
-        sha512 = "qIcmHAtVJotgiYo3vVMLwC9qaU5ih5ti4+aPu2I1onD6WEu8GMNF38AzIAceYl6U8EhvDB+DOsF/SjYHfl26iw==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.20.0.tgz";
+        sha512 = "uqcrm+fRtTd7A6+ai48GFcjpU4nIV+UmPld8p/8hoUpwCY265AojGaSKCWHzt8TceLCJXx5rlmLliE+v69d/sA==";
       };
     };
-    "n8n-editor-ui-0.142.1" = {
+    "n8n-editor-ui-0.143.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.142.1";
+      version = "0.143.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.142.1.tgz";
-        sha512 = "Me8fk76HeWUmTPnksH4kzG0bKOp1yLFjAC4F+EcEllIIf+x75kjN+gSH4uwgvspzGCVO88ZnppWoGQwvHQpXQw==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.143.0.tgz";
+        sha512 = "deb5c30jpLw4YKetmTeLNIyki7td2R24uVzsZ3BDGElybR+0DaJbMBRIZ6+bjq8IS750gaTeumKrH8ZBq9BSkg==";
       };
     };
-    "n8n-nodes-base-0.174.0" = {
+    "n8n-nodes-base-0.175.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.174.0";
+      version = "0.175.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.174.0.tgz";
-        sha512 = "2yYWeSkfI08BtgGZvOksmQOpjNPYmhvkqO2SBTuTAqkryZ1AHiw6RtILsf2575prQDdep2clxIZxW7owxxFmLA==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.175.0.tgz";
+        sha512 = "KfyEbhK4T0sULZ75jcjU0U1IqXm/MNzL7GpRhBjDumDE1WRfpKSBdtYGFsHCbUEXroHnJjF2/L+ADJ9CV0g5MQ==";
       };
     };
-    "n8n-workflow-0.98.0" = {
+    "n8n-workflow-0.99.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.98.0";
+      version = "0.99.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.98.0.tgz";
-        sha512 = "MrlEpSUueIkMc9P75h09ozXN2SQyV26qEe2PlQ9+nwRnCPYkikQQtgYZDqQI+bHVHFCMdBZOnq59fse0cMpYfQ==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.99.0.tgz";
+        sha512 = "JVZQnncjVphY73jcPY2oW4fZ0WoKDDwC1Xzf509KAu362psOJ5Xrz4mAJwuj7Qv1H88UGhEOojvt/5gbRLi4zA==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -4927,15 +4927,6 @@ let
         sha1 = "77c0cb37c41525d64166d990ffad7ec6a0e1363e";
       };
     };
-    "original-1.0.2" = {
-      name = "original";
-      packageName = "original";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/original/-/original-1.0.2.tgz";
-        sha512 = "hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==";
-      };
-    };
     "os-tmpdir-1.0.2" = {
       name = "os-tmpdir";
       packageName = "os-tmpdir";
@@ -5089,13 +5080,13 @@ let
         sha512 = "uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==";
       };
     };
-    "passport-0.5.2" = {
+    "passport-0.5.3" = {
       name = "passport";
       packageName = "passport";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz";
-        sha512 = "w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==";
+        url = "https://registry.npmjs.org/passport/-/passport-0.5.3.tgz";
+        sha512 = "gGc+70h4gGdBWNsR3FuV3byLDY6KBTJAIExGFXTpQaYfbbcHCBlRRKx7RBQSpqEqc5Hh2qVzRs7ssvSfOpkUEA==";
       };
     };
     "passport-cookie-1.0.9" = {
@@ -7186,13 +7177,13 @@ let
         sha512 = "+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==";
       };
     };
-    "v-click-outside-3.1.2" = {
+    "v-click-outside-3.2.0" = {
       name = "v-click-outside";
       packageName = "v-click-outside";
-      version = "3.1.2";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.1.2.tgz";
-        sha512 = "gMdRqfRE6m6XU6SiFi3dyBlFB2MWogiXpof8Aa3LQysrl9pzTndqp/iEaAphLoadaQUFnQ0ec6fLLaxr7LiY6A==";
+        url = "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.2.0.tgz";
+        sha512 = "QD0bDy38SHJXQBjgnllmkI/rbdiwmq9RC+/+pvrFjYJKTn8dtp7Penf9q1lLBta280fYG2q53mgLhQ+3l3z74w==";
       };
     };
     "validator-13.7.0" = {
@@ -7570,10 +7561,10 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.176.0";
+    version = "0.177.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.176.0.tgz";
-      sha512 = "eJTzCFcujAfJegWKQhGi+upAsfTEpW1/2HC5vwV2btdgm8XCMyhVBMJJR7ZJMozFNDz8ErLhwtlIfQCQSXRP0A==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.177.0.tgz";
+      sha512 = "13x/zsHa64Dw/0BhjmlZEGvABJxkZeKTG0oKXzRf1Vq/zoctxofapx188ccJzYQ+tZnOHdX0arjf2baQDTNIGw==";
     };
     dependencies = [
       (sources."@azure/abort-controller-1.1.0" // {
@@ -7620,7 +7611,7 @@ in
         ];
       })
       sources."@azure/ms-rest-nodeauth-3.1.1"
-      (sources."@azure/storage-blob-12.9.0" // {
+      (sources."@azure/storage-blob-12.10.0" // {
         dependencies = [
           sources."tslib-2.4.0"
         ];
@@ -7633,7 +7624,7 @@ in
           sources."kuler-2.0.0"
         ];
       })
-      sources."@fontsource/open-sans-4.5.8"
+      sources."@fontsource/open-sans-4.5.10"
       sources."@fortawesome/fontawesome-common-types-6.1.1"
       sources."@fortawesome/free-regular-svg-icons-6.1.1"
       sources."@icetee/ftp-0.3.15"
@@ -7694,7 +7685,7 @@ in
       sources."@types/lodash-4.14.182"
       sources."@types/lossless-json-1.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.31"
+      sources."@types/node-17.0.33"
       (sources."@types/node-fetch-2.6.1" // {
         dependencies = [
           sources."form-data-3.0.1"
@@ -7762,7 +7753,7 @@ in
         ];
       })
       sources."avsc-5.7.4"
-      (sources."aws-sdk-2.1131.0" // {
+      (sources."aws-sdk-2.1135.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -8014,7 +8005,7 @@ in
       sources."etag-1.8.1"
       sources."event-target-shim-5.0.1"
       sources."events-3.3.0"
-      sources."eventsource-1.1.0"
+      sources."eventsource-2.0.2"
       sources."exit-on-epipe-1.0.1"
       sources."expand-tilde-2.0.2"
       (sources."express-4.18.1" // {
@@ -8072,7 +8063,7 @@ in
       sources."get-symbol-description-1.0.0"
       sources."get-system-fonts-2.0.2"
       sources."getpass-0.1.7"
-      sources."glob-7.2.0"
+      sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       (sources."glob-stream-6.1.0" // {
         dependencies = [
@@ -8174,7 +8165,7 @@ in
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-0.0.1"
-      sources."isbot-3.4.6"
+      sources."isbot-3.4.7"
       sources."isexe-2.0.0"
       sources."iso-639-1-2.1.13"
       sources."isstream-0.1.2"
@@ -8319,15 +8310,15 @@ in
         ];
       })
       sources."mz-2.7.0"
-      sources."n8n-core-0.116.0"
-      sources."n8n-design-system-0.19.0"
-      sources."n8n-editor-ui-0.142.1"
-      (sources."n8n-nodes-base-0.174.0" // {
+      sources."n8n-core-0.117.0"
+      sources."n8n-design-system-0.20.0"
+      sources."n8n-editor-ui-0.143.0"
+      (sources."n8n-nodes-base-0.175.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."n8n-workflow-0.98.0"
+      sources."n8n-workflow-0.99.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
@@ -8385,7 +8376,6 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."original-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-2.1.1"
       sources."p-finally-1.0.0"
@@ -8410,7 +8400,7 @@ in
           sources."tslib-2.4.0"
         ];
       })
-      sources."passport-0.5.2"
+      sources."passport-0.5.3"
       sources."passport-cookie-1.0.9"
       sources."passport-jwt-4.0.0"
       sources."passport-strategy-1.0.0"
@@ -8642,7 +8632,7 @@ in
       sources."tdigest-0.1.1"
       (sources."tedious-6.7.1" // {
         dependencies = [
-          sources."@types/node-12.20.50"
+          sources."@types/node-12.20.52"
           sources."bl-3.0.1"
           sources."iconv-lite-0.5.2"
           sources."readable-stream-3.6.0"
@@ -8737,7 +8727,7 @@ in
       sources."utils-merge-1.0.1"
       sources."uuencode-0.0.4"
       sources."uuid-8.3.2"
-      sources."v-click-outside-3.1.2"
+      sources."v-click-outside-3.2.0"
       sources."validator-13.7.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
diff --git a/pkgs/applications/networking/nextcloud-client/default.nix b/pkgs/applications/networking/nextcloud-client/default.nix
index 52e2e083ca173..d2850b176f47e 100644
--- a/pkgs/applications/networking/nextcloud-client/default.nix
+++ b/pkgs/applications/networking/nextcloud-client/default.nix
@@ -1,7 +1,6 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
-, fetchpatch
 , cmake
 , extra-cmake-modules
 , inotify-tools
@@ -27,7 +26,7 @@
 
 mkDerivation rec {
   pname = "nextcloud-client";
-  version = "3.5.0";
+  version = "3.5.1";
 
   outputs = [ "out" "dev" ];
 
@@ -35,18 +34,13 @@ mkDerivation rec {
     owner = "nextcloud";
     repo = "desktop";
     rev = "v${version}";
-    sha256 = "sha256-eFtBdnwHaLirzZaHDw6SRfmsqO3dmBB8Y9csJuiTf1A=";
+    sha256 = "sha256-/Bz3vkV4+ZFlGBNtkLIGsBk51a3wxy32U1KYcA3awcw=";
   };
 
   patches = [
     # Explicitly move dbus configuration files to the store path rather than `/etc/dbus-1/services`.
     ./0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
     ./0001-When-creating-the-autostart-entry-do-not-use-an-abso.patch
-    # don't write cacheDir into home directory
-    (fetchpatch {
-      url = "https://github.com/nextcloud/desktop/commit/3a8aa8a2a88bc9b68098b7866e2a07aa23d3a33c.patch";
-      sha256 = "sha256-OviPANvXap3mg4haxRir/CK1aq8maWZDM/IVsN+OHgk=";
-    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/networking/opsdroid/default.nix b/pkgs/applications/networking/opsdroid/default.nix
index ff6760d3daaf5..9b5b27e7ca496 100644
--- a/pkgs/applications/networking/opsdroid/default.nix
+++ b/pkgs/applications/networking/opsdroid/default.nix
@@ -17,7 +17,7 @@ python3Packages.buildPythonPackage rec {
   doCheck = false;
 
   propagatedBuildInputs = with python3Packages; [
-    click Babel opsdroid_get_image_size slackclient webexteamssdk bleach
+    click babel opsdroid_get_image_size slackclient webexteamssdk bleach
     parse emoji puremagic yamale nbformat websockets pycron nbconvert
     aiohttp matrix-api-async aioredis aiosqlite arrow pyyaml motor regex
     mattermostdriver setuptools voluptuous ibm-watson tailer multidict
diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix
index 0d44f084086e9..9a0cc70c1999e 100644
--- a/pkgs/applications/networking/p2p/tixati/default.nix
+++ b/pkgs/applications/networking/p2p/tixati/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tixati";
-  version = "2.88";
+  version = "2.89";
 
   src = fetchurl {
     url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
-    sha256 = "sha256-9d9Z+3Uyxy4Bj8STtzHWwyyhWeMv3wo0IH6uxGTaA0I=";
+    sha256 = "sha256-fd7DMKoRxNmNjCxl2ViINjnCEXJrhJU4aaRT+NoB1vI=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/protocol/default.nix b/pkgs/applications/networking/protocol/default.nix
index 6690a75485bda..535cc3aa3171d 100644
--- a/pkgs/applications/networking/protocol/default.nix
+++ b/pkgs/applications/networking/protocol/default.nix
@@ -1,8 +1,12 @@
-{ lib, buildPythonApplication, fetchFromGitHub }:
+{ lib
+, python3
+, fetchFromGitHub
+}:
 
-buildPythonApplication {
-  pname = "protocol-unstable";
-  version = "2019-03-28";
+python3.pkgs.buildPythonApplication rec {
+  pname = "protocol";
+  version = "unstable-2019-03-28";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "luismartingarcia";
@@ -11,10 +15,15 @@ buildPythonApplication {
     sha256 = "13l10jhf4vghanmhh3pn91b2jdciispxy0qadz4n08blp85qn9cm";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "scripts=['protocol', 'constants.py', 'specs.py']" "scripts=['protocol'], py_modules=['constants', 'specs']"
+  '';
+
   meta = with lib; {
-    description = "An ASCII Header Generator for Network Protocols";
+    description = "ASCII Header Generator for Network Protocols";
     homepage = "https://github.com/luismartingarcia/protocol";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ teto ];
   };
 }
diff --git a/pkgs/applications/networking/station/default.nix b/pkgs/applications/networking/station/default.nix
index b0e53a054d28c..9409a3c5fcdda 100644
--- a/pkgs/applications/networking/station/default.nix
+++ b/pkgs/applications/networking/station/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, fetchurl, gsettings-desktop-schemas, gtk3, lib }:
+{ appimageTools, fetchurl, lib }:
 
 let
   pname = "station";
@@ -18,7 +18,6 @@ in appimageTools.wrapType2 rec {
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   multiPkgs = null;
diff --git a/pkgs/applications/office/banking/default.nix b/pkgs/applications/office/banking/default.nix
index c46fba171495a..07ce23a215e84 100644
--- a/pkgs/applications/office/banking/default.nix
+++ b/pkgs/applications/office/banking/default.nix
@@ -9,7 +9,7 @@
 , meson
 , ninja
 , pkg-config
-, wrapGAppsHook
+, wrapGAppsHook4
 , gobject-introspection
 , libadwaita
 , librsvg
@@ -42,6 +42,9 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   postPatch = ''
+    substituteInPlace meson_post_install.py \
+      --replace gtk-update-icon-cache gtk4-update-icon-cache
+
     patchShebangs meson_post_conf.py meson_post_install.py
   '';
 
@@ -53,7 +56,7 @@ python3.pkgs.buildPythonApplication rec {
     meson
     ninja
     pkg-config
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index 5833e5e4adf3b..c702c02c147a5 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -24,7 +24,7 @@ python3.pkgs.buildPythonApplication rec {
   nativeBuildInputs = with python3.pkgs; [ setuptools-scm ];
 
   propagatedBuildInputs = with python3.pkgs; [
-    Babel
+    babel
     beancount
     cheroot
     click
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 1e34b7918da14..04d5108dc60de 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -1,8 +1,8 @@
 { lib, stdenv, fetchFromGitHub, makeDesktopItem, makeWrapper, ant, jdk, jre, gtk2, glib, xorg, Cocoa }:
 
 let
-  _version = "2.10.1";
-  _build = "482";
+  _version = "2.10.2";
+  _build = "484";
   version = "${_version}-${_build}";
 
   swtSystem = if stdenv.hostPlatform.system == "i686-linux" then "linux"
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "willuhn";
     repo = "jameica";
     rev = "V_${builtins.replaceStrings ["."] ["_"] _version}_BUILD_${_build}";
-    sha256 = "0pzcfqsf7flzipwivpinpkfb2xisand1sfjm00wif4pyj3f4qfh1";
+    sha256 = "1x9sybknzsfxp9z0pvw9dx80732ynyap57y03p7xwwjbcrnjla57";
   };
 
   # there is also a build.gradle, but it only seems to be used to vendor 3rd party libraries
diff --git a/pkgs/applications/office/timeular/default.nix b/pkgs/applications/office/timeular/default.nix
index aa591c225ad06..e038749f44ed5 100644
--- a/pkgs/applications/office/timeular/default.nix
+++ b/pkgs/applications/office/timeular/default.nix
@@ -2,8 +2,6 @@
 , fetchurl
 , appimageTools
 , libsecret
-, gtk3
-, gsettings-desktop-schemas
 }:
 
 let
diff --git a/pkgs/applications/office/tusk/default.nix b/pkgs/applications/office/tusk/default.nix
index f23e88a323c23..d357206728468 100644
--- a/pkgs/applications/office/tusk/default.nix
+++ b/pkgs/applications/office/tusk/default.nix
@@ -1,6 +1,4 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3
-, makeDesktopItem
-}:
+{ appimageTools, fetchurl, lib, makeDesktopItem }:
 
 let
   pname = "tusk";
@@ -31,7 +29,6 @@ in appimageTools.wrapType2 rec {
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   multiPkgs = null; # no 32bit needed
diff --git a/pkgs/applications/plasma-mobile/angelfish.nix b/pkgs/applications/plasma-mobile/angelfish.nix
index 99df3f55c1d5f..acd3a7a8c84d4 100644
--- a/pkgs/applications/plasma-mobile/angelfish.nix
+++ b/pkgs/applications/plasma-mobile/angelfish.nix
@@ -4,6 +4,7 @@
 , cmake
 , corrosion
 , extra-cmake-modules
+, gcc11
 , kconfig
 , kcoreaddons
 , kdbusaddons
@@ -19,8 +20,8 @@
 , srcs
 
 # These must be updated in tandem with package updates.
-, cargoShaForVersion ? "21.08"
-, cargoSha256 ? "1pbvw9hdzn3i97mahdy9y6jnjsmwmjs3lxfz7q6r9r10i8swbkak"
+, cargoShaForVersion ? "22.04"
+, cargoSha256 ? "RtdZMBKixC3mdHeFXY9u0pHyDv93Z8p4EVY+lz1aISM="
 }:
 
 # Guard against incomplete updates.
@@ -45,6 +46,7 @@ mkDerivation rec {
     cmake
     corrosion
     extra-cmake-modules
+    gcc11 # doesn't build with GCC 9 from stdenv on aarch64
   ] ++ (with rustPlatform; [
     cargoSetupHook
     rust.cargo
diff --git a/pkgs/applications/plasma-mobile/audiotube.nix b/pkgs/applications/plasma-mobile/audiotube.nix
index 1a1dedc7b4267..f020c22b1ae5a 100644
--- a/pkgs/applications/plasma-mobile/audiotube.nix
+++ b/pkgs/applications/plasma-mobile/audiotube.nix
@@ -1,8 +1,8 @@
 { lib
 , mkDerivation
-, fetchpatch
 
 , extra-cmake-modules
+, gcc11
 
 , kcoreaddons
 , kcrash
@@ -16,16 +16,9 @@
 mkDerivation rec {
   pname = "audiotube";
 
-  patches = [
-    # Fix compatibility with ytmusicapi 0.19.1
-    (fetchpatch {
-      url = "https://invent.kde.org/plasma-mobile/audiotube/-/commit/734caa02805988200f923b88d1590b3f7dac8ac2.patch";
-      sha256 = "0zq4f0w84dv0630bpvmqkfmhxbvibr2fxhzy6d2mnf098028gzyd";
-    })
-  ];
-
   nativeBuildInputs = [
     extra-cmake-modules
+    gcc11 # doesn't build with GCC 9 from stdenv on aarch64
     python3Packages.wrapPython
     python3Packages.pybind11
   ];
@@ -37,13 +30,11 @@ mkDerivation rec {
     kirigami2
     qtmultimedia
     qtquickcontrols2
-    python3Packages.youtube-dl
-    python3Packages.ytmusicapi
-  ];
+  ] ++ pythonPath;
 
-  pythonPath = [
-    python3Packages.youtube-dl
-    python3Packages.ytmusicapi
+  pythonPath = with python3Packages; [
+    yt-dlp
+    ytmusicapi
   ];
 
   preFixup = ''
diff --git a/pkgs/applications/plasma-mobile/default.nix b/pkgs/applications/plasma-mobile/default.nix
index 10c1f1d0e9bc8..9e0cf1443e2b1 100644
--- a/pkgs/applications/plasma-mobile/default.nix
+++ b/pkgs/applications/plasma-mobile/default.nix
@@ -73,9 +73,11 @@ let
       krecorder = callPackage ./krecorder.nix {};
       ktrip = callPackage ./ktrip.nix {};
       kweather = callPackage ./kweather.nix {};
+      neochat = callPackage ./neochat.nix {};
       plasma-dialer = callPackage ./plasma-dialer.nix {};
       plasma-phonebook = callPackage ./plasma-phonebook.nix {};
       plasma-settings = callPackage ./plasma-settings.nix {};
+      plasmatube = callPackage ./plasmatube.nix {};
       spacebar = callPackage ./spacebar.nix {};
     };
 
diff --git a/pkgs/applications/plasma-mobile/fetch.sh b/pkgs/applications/plasma-mobile/fetch.sh
index 14995aeb2b7f9..3a3d5b18a5347 100644
--- a/pkgs/applications/plasma-mobile/fetch.sh
+++ b/pkgs/applications/plasma-mobile/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma-mobile/21.08/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma-mobile/22.04/ -A '*.tar.xz' )
diff --git a/pkgs/applications/plasma-mobile/kasts.nix b/pkgs/applications/plasma-mobile/kasts.nix
index 370cba7e2ea82..793fd5c9bdab0 100644
--- a/pkgs/applications/plasma-mobile/kasts.nix
+++ b/pkgs/applications/plasma-mobile/kasts.nix
@@ -10,9 +10,12 @@
 , kcoreaddons
 , ki18n
 , kirigami2
+, networkmanager-qt
+, qtkeychain
 , qtmultimedia
 , qtquickcontrols2
 , syndication
+, taglib
 }:
 
 let
@@ -37,9 +40,12 @@ mkDerivation rec {
     kcoreaddons
     ki18n
     kirigami2
-    qtquickcontrols2
+    networkmanager-qt
+    qtkeychain
     qtmultimedia
+    qtquickcontrols2
     syndication
+    taglib
   ];
 
   preFixup = ''
diff --git a/pkgs/applications/plasma-mobile/krecorder.nix b/pkgs/applications/plasma-mobile/krecorder.nix
index c41413be8842e..35d38af566c3d 100644
--- a/pkgs/applications/plasma-mobile/krecorder.nix
+++ b/pkgs/applications/plasma-mobile/krecorder.nix
@@ -5,6 +5,7 @@
 , extra-cmake-modules
 
 , kconfig
+, kcoreaddons
 , ki18n
 , kirigami2
 , qtmultimedia
@@ -21,6 +22,7 @@ mkDerivation rec {
 
   buildInputs = [
     kconfig
+    kcoreaddons
     ki18n
     kirigami2
     qtmultimedia
diff --git a/pkgs/applications/networking/instant-messengers/neochat/default.nix b/pkgs/applications/plasma-mobile/neochat.nix
index a8e73ad1098f6..8147c4fb760e8 100644
--- a/pkgs/applications/networking/instant-messengers/neochat/default.nix
+++ b/pkgs/applications/plasma-mobile/neochat.nix
@@ -1,6 +1,5 @@
 { mkDerivation
 , lib
-, fetchFromGitLab
 , pkg-config
 , cmake
 , cmark
@@ -28,15 +27,6 @@
 
 mkDerivation rec {
   pname = "neochat";
-  version = "22.02";
-
-  src = fetchFromGitLab {
-    domain = "invent.kde.org";
-    owner = "network";
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-7EBnHuwpyJ/bGrCldZHWOwcnJWDIDaNWZXHkCYkOTjs=";
-  };
 
   nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];
 
@@ -64,7 +54,7 @@ mkDerivation rec {
   ];
 
   meta = with lib; {
-    description = "A client for matrix, the decentralized communication protocol.";
+    description = "A client for matrix, the decentralized communication protocol";
     homepage = "https://apps.kde.org/en/neochat";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ peterhoeg ];
diff --git a/pkgs/applications/plasma-mobile/plasma-dialer.nix b/pkgs/applications/plasma-mobile/plasma-dialer.nix
index eb71c497084c4..1a30977aba9d5 100644
--- a/pkgs/applications/plasma-mobile/plasma-dialer.nix
+++ b/pkgs/applications/plasma-mobile/plasma-dialer.nix
@@ -4,6 +4,7 @@
 , cmake
 , extra-cmake-modules
 
+, callaudiod
 , kcontacts
 , kcoreaddons
 , kdbusaddons
@@ -12,12 +13,11 @@
 , knotifications
 , kpeople
 , libphonenumber
-, libpulseaudio
-, libqofono
+, modemmanager-qt
 , protobuf
-, pulseaudio-qt
+, qtfeedback
+, qtmpris
 , qtquickcontrols2
-, telepathy
 }:
 
 mkDerivation rec {
@@ -29,6 +29,7 @@ mkDerivation rec {
   ];
 
   buildInputs = [
+    callaudiod
     kcontacts
     kcoreaddons
     kdbusaddons
@@ -37,12 +38,11 @@ mkDerivation rec {
     knotifications
     kpeople
     libphonenumber
-    libpulseaudio
-    libqofono
+    modemmanager-qt
     protobuf # Needed by libphonenumber
-    pulseaudio-qt
+    qtfeedback
+    qtmpris
     qtquickcontrols2
-    telepathy
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/plasma-mobile/plasma-settings.nix b/pkgs/applications/plasma-mobile/plasma-settings.nix
index bcd04dadca22c..039f2d674b345 100644
--- a/pkgs/applications/plasma-mobile/plasma-settings.nix
+++ b/pkgs/applications/plasma-mobile/plasma-settings.nix
@@ -11,6 +11,8 @@
 , kdbusaddons
 , ki18n
 , kitemmodels
+, modemmanager-qt
+, networkmanager-qt
 , plasma-framework
 }:
 
@@ -29,6 +31,8 @@ mkDerivation rec {
     kdbusaddons
     ki18n
     kitemmodels
+    modemmanager-qt
+    networkmanager-qt
     plasma-framework
   ];
 
diff --git a/pkgs/applications/plasma-mobile/plasmatube.nix b/pkgs/applications/plasma-mobile/plasmatube.nix
new file mode 100644
index 0000000000000..894af98b6d187
--- /dev/null
+++ b/pkgs/applications/plasma-mobile/plasmatube.nix
@@ -0,0 +1,41 @@
+{ lib
+, mkDerivation
+, cmake
+, extra-cmake-modules
+, gst_all_1
+, kcoreaddons
+, kdeclarative
+, ki18n
+, kirigami2
+, qtmultimedia
+, qtquickcontrols2
+}:
+
+mkDerivation {
+  pname = "plasmatube";
+
+  nativeBuildInputs = [
+    extra-cmake-modules
+  ];
+
+  buildInputs = [
+    kcoreaddons
+    kdeclarative
+    ki18n
+    kirigami2
+    qtmultimedia
+    qtquickcontrols2
+  ] ++ (with gst_all_1; [
+    gst-plugins-bad
+    gst-plugins-base
+    gst-plugins-good
+    gstreamer
+  ]);
+
+  meta = {
+    description = "Youtube player powered by an invidious server";
+    homepage = "https://invent.kde.org/plasma-mobile/plasmatube";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/plasma-mobile/spacebar.nix b/pkgs/applications/plasma-mobile/spacebar.nix
index 8d56655010862..24e2f6f4715b7 100644
--- a/pkgs/applications/plasma-mobile/spacebar.nix
+++ b/pkgs/applications/plasma-mobile/spacebar.nix
@@ -11,8 +11,10 @@
 , kpeople
 , libphonenumber
 , libqofono
+, modemmanager-qt
 , protobuf
-, telepathy
+, qcoro
+, qtquickcontrols2
 }:
 
 mkDerivation rec {
@@ -30,9 +32,10 @@ mkDerivation rec {
     knotifications
     kpeople
     libphonenumber
-    libqofono
+    modemmanager-qt
     protobuf # Needed by libphonenumber
-    telepathy
+    qcoro
+    qtquickcontrols2
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/plasma-mobile/srcs.nix b/pkgs/applications/plasma-mobile/srcs.nix
index 06b551a94cf43..e7da4d7b0f454 100644
--- a/pkgs/applications/plasma-mobile/srcs.nix
+++ b/pkgs/applications/plasma-mobile/srcs.nix
@@ -4,155 +4,187 @@
 
 {
   alligator = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/alligator-21.08.tar.xz";
-      sha256 = "1dhwfwd1v5wmx3sldpygb79kz87j13wd0arhlkm94z1whsixan0q";
-      name = "alligator-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/alligator-22.04.tar.xz";
+      sha256 = "1f2s0ay4qr7ylqnx8d1fawwi4h15gza2d4dsvrww1gm8ar1miqwc";
+      name = "alligator-22.04.tar.xz";
     };
   };
   angelfish = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/angelfish-21.08.tar.xz";
-      sha256 = "1gzvlha159bw767mj8lisn89592j4j4dazzfws3v4anddjh60xnh";
-      name = "angelfish-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/angelfish-22.04.tar.xz";
+      sha256 = "169bhkymfxcs93injzp86cvcdhv78pl4dfsscjahlh9c1g5lsbqa";
+      name = "angelfish-22.04.tar.xz";
     };
   };
   audiotube = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/audiotube-21.08.tar.xz";
-      sha256 = "14h4xna9v70lmp7cfpvdnz0f5a4gwgj0q3byccmawm38xsv15v8c";
-      name = "audiotube-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/audiotube-22.04.tar.xz";
+      sha256 = "0x9xmlfz39ac15c4rbg33sl1bbjmglxgz39flmrvrrw9h2m62s2x";
+      name = "audiotube-22.04.tar.xz";
     };
   };
   calindori = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/calindori-21.08.tar.xz";
-      sha256 = "08s16a8skh02n8ygqwryxpzczj5aqr5k58aijaz2gzx45m7ym31b";
-      name = "calindori-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/calindori-22.04.tar.xz";
+      sha256 = "1zinhlflrx230yymlfxvm98dvvq1yig3r49bq61fmyrzq6fdfv60";
+      name = "calindori-22.04.tar.xz";
     };
   };
   kalk = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/kalk-21.08.tar.xz";
-      sha256 = "0xzrahpz47yajalsfmpzmavxjwmr4bgljwyz2dhxdg40ryjxdy23";
-      name = "kalk-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/kalk-22.04.tar.xz";
+      sha256 = "0aaqcb7jkkqypawfkzjnqglzyni17064d0mhch8g7q0qm5izvap8";
+      name = "kalk-22.04.tar.xz";
     };
   };
   kasts = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/kasts-21.08.tar.xz";
-      sha256 = "10v6icxwv46nihzbdi0n2w71bsg7l166z7jf9rb7vf2mjh1gqavn";
-      name = "kasts-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/kasts-22.04.tar.xz";
+      sha256 = "0c60wp0i6l7ji13ap69lh21vpdq09h2nmqpzjlrwlbjqbhhx7lsh";
+      name = "kasts-22.04.tar.xz";
     };
   };
   kclock = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/kclock-21.08.tar.xz";
-      sha256 = "1zq0fxlwd7l3b6dgfqsmv1x4wvhmrjz5r0a38hbd7j7pzgyix47d";
-      name = "kclock-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/kclock-22.04.tar.xz";
+      sha256 = "1ycln85ydd3qmzfadgg80zf7jlwx5yijxs1mbfmx7f1rr427qdk6";
+      name = "kclock-22.04.tar.xz";
     };
   };
   keysmith = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/keysmith-21.08.tar.xz";
-      sha256 = "0fa8inli7cwmb75af0mr2cflng0r6k3pd6ckih6ph7szqbpg2x90";
-      name = "keysmith-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/keysmith-22.04.tar.xz";
+      sha256 = "0cx14r820mnlh75l3blc0ywxwmlinn2wakdnwl75w6i8l46k48li";
+      name = "keysmith-22.04.tar.xz";
+    };
+  };
+  khealthcertificate = {
+    version = "22.04";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma-mobile/22.04/khealthcertificate-22.04.tar.xz";
+      sha256 = "0sr90ki42m3cbjy63rl2ay02wm089wyka0lc4ik7jaic6wb47y5d";
+      name = "khealthcertificate-22.04.tar.xz";
     };
   };
   koko = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/koko-21.08.tar.xz";
-      sha256 = "1sqlcl871m6dlrnkkhqa3xfwix01d74d7jf94r1a3p32hqljv76p";
-      name = "koko-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/koko-22.04.tar.xz";
+      sha256 = "0i4h2brc5dqwdmj2bs7nywrz7cgqcf7nmm6yl03047vj9aah01cw";
+      name = "koko-22.04.tar.xz";
     };
   };
   kongress = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/kongress-21.08.tar.xz";
-      sha256 = "099ds4bv4ngx21f28hxcvc17wd2nk786kydwf2h5n3mdd2mgz3ka";
-      name = "kongress-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/kongress-22.04.tar.xz";
+      sha256 = "07yb8hddxl7m1wl0z7rcwdls3k9q89zl1d271n15j1rwrsbwiyxd";
+      name = "kongress-22.04.tar.xz";
     };
   };
   krecorder = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/krecorder-21.08.tar.xz";
-      sha256 = "1381x889h37saf6k875iqhwz5vbixrp7650smxp31r56ycrqq26i";
-      name = "krecorder-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/krecorder-22.04.tar.xz";
+      sha256 = "0d7nvq87avw4gj6whjrlmxs361r9cvzfmfsrca5f536jlazp95pg";
+      name = "krecorder-22.04.tar.xz";
     };
   };
   ktrip = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/ktrip-21.08.tar.xz";
-      sha256 = "0ipxi3pqd7mznq3qjf9j9w3wyck85lxnr81ay6b3ricfb08ry68x";
-      name = "ktrip-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/ktrip-22.04.tar.xz";
+      sha256 = "1ijy19axc492l4naayr3d8qdjznc286105qnki8vmcaw93p48n9x";
+      name = "ktrip-22.04.tar.xz";
     };
   };
   kweather = {
-    version = "21.08";
+    version = "22.04";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma-mobile/22.04/kweather-22.04.tar.xz";
+      sha256 = "0080l00dya34d35sf6z2j3ra6lls0nafr045a9jmxv09763ydb5d";
+      name = "kweather-22.04.tar.xz";
+    };
+  };
+  neochat = {
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/kweather-21.08.tar.xz";
-      sha256 = "0b1zjwsakwsnh6827zjhypvb04c78gwwygr7k1cy2x3finrp5if5";
-      name = "kweather-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/neochat-22.04.tar.xz";
+      sha256 = "04i1kn52w9jjaaw8x53mksw2vzrpsq1xrq13h158c1s3q1g9jdm8";
+      name = "neochat-22.04.tar.xz";
     };
   };
   plasma-dialer = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/plasma-dialer-21.08.tar.xz";
-      sha256 = "14vgjg0nihhm446cfrrld1l43r50dlah5xs2ypdnm68618bdc7p1";
-      name = "plasma-dialer-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/plasma-dialer-22.04.tar.xz";
+      sha256 = "0hnxasj6psplwykahhisipyvy67hfr820azixw5p820fzy11x2g4";
+      name = "plasma-dialer-22.04.tar.xz";
     };
   };
   plasma-phonebook = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/plasma-phonebook-21.08.tar.xz";
-      sha256 = "09gr5mkwhayx6k6bhm29bmcvdlqqw8jj7gydh5fz40g9z98c84km";
-      name = "plasma-phonebook-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/plasma-phonebook-22.04.tar.xz";
+      sha256 = "14nd2yx9cf6gabb10kcaqkdn7kb96n2209qrib7daq2ldva8c9i9";
+      name = "plasma-phonebook-22.04.tar.xz";
     };
   };
   plasma-settings = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/plasma-settings-21.08.tar.xz";
-      sha256 = "005v1gyrzl9b0k875p2wipja3l8l4awp8nl2d1jx7c28lqaspz2j";
-      name = "plasma-settings-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/plasma-settings-22.04.tar.xz";
+      sha256 = "1k40mviikpij1srar1hkg732qg14ld0176g1mpza0ysr3yr21vny";
+      name = "plasma-settings-22.04.tar.xz";
+    };
+  };
+  plasmatube = {
+    version = "22.04";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma-mobile/22.04/plasmatube-22.04.tar.xz";
+      sha256 = "01bmxdh0aclm184j5s0kddjc7a14225bdnbkr8jlk21g9wlw8cyx";
+      name = "plasmatube-22.04.tar.xz";
     };
   };
   qmlkonsole = {
-    version = "21.08";
+    version = "22.04.1";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/qmlkonsole-21.08.tar.xz";
-      sha256 = "1p3ysf6sgiji86400523hm67rvw3znj3a7k6g6s83dxynxdh2faq";
-      name = "qmlkonsole-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/qmlkonsole-22.04.1.tar.xz";
+      sha256 = "06zfrqaag9sgihs5k93nssgm4smrs2ymh7q0fx35z7fcphngjpaw";
+      name = "qmlkonsole-22.04.1.tar.xz";
     };
   };
   spacebar = {
-    version = "21.08";
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/spacebar-21.08.tar.xz";
-      sha256 = "1cg36iys4x7p97ywilnp2lzz1ry5a1m7jz38yh2yiw6m8wvzfqff";
-      name = "spacebar-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/spacebar-22.04.tar.xz";
+      sha256 = "0ga3symavdrq5aim924bd889b9cmv09dyplz9gcspk46w49vx3s5";
+      name = "spacebar-22.04.tar.xz";
     };
   };
   tokodon = {
-    version = "21.08";
+    version = "22.04";
+    src = fetchurl {
+      url = "${mirror}/stable/plasma-mobile/22.04/tokodon-22.04.tar.xz";
+      sha256 = "0c9q2ax0h047xm3g5r5cn6sxfyv2lb93dahd5z3nw67bfrzwvnw2";
+      name = "tokodon-22.04.tar.xz";
+    };
+  };
+  vakzination = {
+    version = "22.04";
     src = fetchurl {
-      url = "${mirror}/stable/plasma-mobile/21.08/tokodon-21.08.tar.xz";
-      sha256 = "0j9zfcdss1872hv8xxrmy0jjmcz3y5kdz8gdrd6qmig5scrzjvnf";
-      name = "tokodon-21.08.tar.xz";
+      url = "${mirror}/stable/plasma-mobile/22.04/vakzination-22.04.tar.xz";
+      sha256 = "0zadygzw4xzpwbdnb6dwjjjls1h915gp9xaf59kbfbmzwb6m4mf8";
+      name = "vakzination-22.04.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/radio/dmrconfig/default.nix b/pkgs/applications/radio/dmrconfig/default.nix
index 4bf523a8b8b38..b91e9bc63a517 100644
--- a/pkgs/applications/radio/dmrconfig/default.nix
+++ b/pkgs/applications/radio/dmrconfig/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitHub, fetchpatch
 , libusb1, systemd }:
 
 stdenv.mkDerivation rec {
@@ -12,6 +12,15 @@ stdenv.mkDerivation rec {
     sha256 = "1qwix75z749628w583fwp7m7kxbj0k3g159sxb7vgqxbadqqz1ab";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common toolchains.
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/OpenRTX/dmrconfig/commit/1a6901488db26262a6b69f80b0e795864e9e8d0a.patch";
+      sha256 = "03px1y95a8aspd251i1jj8ggqfjvkqby4lhn5pb7l5c1lzh6h762";
+    })
+  ];
+
   buildInputs = [
     libusb1 systemd
   ];
diff --git a/pkgs/applications/science/biology/EZminc/default.nix b/pkgs/applications/science/biology/EZminc/default.nix
index a2ba038c05991..6c140b03ee4b1 100644
--- a/pkgs/applications/science/biology/EZminc/default.nix
+++ b/pkgs/applications/science/biology/EZminc/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.unix;
     license = licenses.free;
+    broken = true;  # ITK5 compatibility issue (https://github.com/BIC-MNI/EZminc/issues/15)
   };
 }
diff --git a/pkgs/applications/science/logic/alt-ergo/default.nix b/pkgs/applications/science/logic/alt-ergo/default.nix
index 096a648b4ddf0..0767c58bdea1e 100644
--- a/pkgs/applications/science/logic/alt-ergo/default.nix
+++ b/pkgs/applications/science/logic/alt-ergo/default.nix
@@ -17,7 +17,7 @@ in
 let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
   pname = "alt-ergo-lib";
   inherit version src useDune2;
-  configureFlags = pname;
+  configureFlags = [ pname ];
   nativeBuildInputs = [ which ];
   buildInputs = with ocamlPackages; [ dune-configurator ];
   propagatedBuildInputs = with ocamlPackages; [ num ocplib-simplex stdlib-shims zarith ];
@@ -26,7 +26,7 @@ let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
 let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
   pname = "alt-ergo-parsers";
   inherit version src useDune2;
-  configureFlags = pname;
+  configureFlags = [ pname ];
   nativeBuildInputs = [ which ocamlPackages.menhir ];
   propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ camlzip psmt2-frontend ]);
 }; in
@@ -35,7 +35,7 @@ ocamlPackages.buildDunePackage {
 
   inherit pname version src useDune2;
 
-  configureFlags = pname;
+  configureFlags = [ pname ];
 
   nativeBuildInputs = [ which ocamlPackages.menhir ];
   buildInputs = [ alt-ergo-parsers ocamlPackages.cmdliner ];
diff --git a/pkgs/applications/science/logic/easycrypt/default.nix b/pkgs/applications/science/logic/easycrypt/default.nix
index 5f28ca73c4e73..da4ff212e294b 100644
--- a/pkgs/applications/science/logic/easycrypt/default.nix
+++ b/pkgs/applications/science/logic/easycrypt/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, ocamlPackages, why3 }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, ocamlPackages, why3 }:
 
 stdenv.mkDerivation rec {
   pname = "easycrypt";
@@ -11,6 +11,12 @@ stdenv.mkDerivation rec {
     sha256 = "sha256:09rdwcj70lkamkhd895p284rfpz4bcnsf55mcimhiqncd2a21ml7";
   };
 
+  # Fix build with Why3 1.5
+  patches = fetchpatch {
+    url = "https://github.com/EasyCrypt/easycrypt/commit/d226387432deb7f22738e1d5579346a2cbc9be7a.patch";
+    sha256 = "sha256:1zvxij35fnr3h9b5wdl8ml17aqfx3a39rd4mgwmdvkapbg3pa4lm";
+  };
+
   nativeBuildInputs = with ocamlPackages; [
     dune_3
     findlib
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index b5e5ca8723d49..cbd09b2a1a82c 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.42.0";
+  version = "3.43.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # from. this is then used to check whether an olean file should be
     # rebuilt. don't use a tag as rev because this will get replaced into
     # src/githash.h.in in preConfigure.
-    rev    = "b35d4695da88139a9168f2ad7acf0782e66dc4f0";
-    sha256 = "02rpigw6lnyjw8ccrlp2mcvswawkhl5y6kqa3zq76qp1fdjqjrbp";
+    rev    = "bfce34363b0efe86e93e3fe75de76ab3740c772d";
+    sha256 = "100mb003zkgrv1wd2agbk41aipk3j78k8zcjbj7pv9ixh02c7ss8";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 0f3dab8038eeb..8917135b2c88c 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "why3";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256:1rqyypzlvagrn43ykl0c5wxyvnry5fl1ykn3xcvlzgghk96yq3jq";
+    sha256 = "sha256:0qjh49pyqmg3xi09fn4lyzz23i6h18y9sgc8ayscvx3bwr3vcqhr";
   };
 
   buildInputs = with ocamlPackages; [
diff --git a/pkgs/applications/science/logic/why3/with-provers.nix b/pkgs/applications/science/logic/why3/with-provers.nix
index ae0acb1e525c8..739064bb61698 100644
--- a/pkgs/applications/science/logic/why3/with-provers.nix
+++ b/pkgs/applications/science/logic/why3/with-provers.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/bin
-    makeWrapper ${why3}/bin/why3 $out/bin/why3 --add-flags "--extra-config $out/share/why3/why3.conf"
+    makeWrapper ${why3}/bin/why3 $out/bin/why3 --add-flags "--config $out/share/why3/why3.conf"
   '';
 }
diff --git a/pkgs/applications/science/math/eukleides/default.nix b/pkgs/applications/science/math/eukleides/default.nix
index 0c3ef25909bb2..507fa0815298b 100644
--- a/pkgs/applications/science/math/eukleides/default.nix
+++ b/pkgs/applications/science/math/eukleides/default.nix
@@ -32,6 +32,12 @@ lib.fix (eukleides: stdenv.mkDerivation rec {
       --replace '$(SHARE_DIR)/texmf' "$tex"
   '';
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: eukleides_build/triangle.o:(.bss+0x28): multiple definition of `A';
+  #     eukleides_build/quadrilateral.o:(.bss+0x18): first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   preInstall = ''
     mkdir -p $out/bin
   '';
diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix
index 8353226cefed8..abff55413cecc 100644
--- a/pkgs/applications/science/math/mxnet/default.nix
+++ b/pkgs/applications/science/math/mxnet/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ opencv3 gtest blas.provider ]
     ++ lib.optional stdenv.cc.isGNU gomp
     ++ lib.optional stdenv.cc.isClang llvmPackages.openmp
+    # FIXME: when cuda build is fixed, remove nvidia_x11, and use /run/opengl-driver/lib
     ++ lib.optionals cudaSupport [ cudatoolkit nvidia_x11 ]
     ++ lib.optional cudnnSupport cudnn;
 
@@ -78,5 +79,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ abbradar ];
     license = licenses.asl20;
     platforms = platforms.unix;
+    # Build failures when linking mxnet_unit_tests: https://gist.github.com/6d17447ee3557967ec52c50d93b17a1d
+    broken = cudaSupport;
   };
 }
diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix
index 40a5412e7af77..84443645865e8 100644
--- a/pkgs/applications/science/misc/root/5.nix
+++ b/pkgs/applications/science/misc/root/5.nix
@@ -104,6 +104,7 @@ stdenv.mkDerivation rec {
     "-Drpath=ON"
     "-DCMAKE_INSTALL_LIBDIR=lib"
     "-DCMAKE_INSTALL_INCLUDEDIR=include"
+    "-DCMAKE_CXX_FLAGS=-std=c++11"
     "-Dalien=OFF"
     "-Dbonjour=OFF"
     "-Dcastor=OFF"
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 66acf07f8e4d7..4132bd0fa9641 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -5,14 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "snakemake";
-  version = "7.6.2";
+  version = "7.7.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "snakemake";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-mIl5c+HR2kqgJzbLVTQjJlf4Ca/+Icqg9G49yIUyipc=";
+    hash = "sha256-KAnilLq7hZy5IU8d95D9sHSGfqibAvUAW3bRH/JwGnw=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/science/physics/xfitter/0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch b/pkgs/applications/science/physics/xfitter/0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch
new file mode 100644
index 0000000000000..dd43e17cc7a26
--- /dev/null
+++ b/pkgs/applications/science/physics/xfitter/0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch
@@ -0,0 +1,50 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -54,21 +54,7 @@ endif()
+ endif()
+ 
+ #Use c preprocessor with fortran
+-
+-if(UNIX AND NOT APPLE)
+-  set(CMAKE_Fortran_FLAGS "-cpp -Wno-argument-mismatch")
+-endif()
+-
+-if(APPLE)
+-  set(CMAKE_Fortran_FLAGS "-cpp -fallow-argument-mismatch")
+-endif()
+-
+-
+-if (CMAKE_MAJOR_VERSION VERSION_GREATER_EQUAL "3")
+-if(CMAKE_Fortran_COMPILER_VERSION VERSION_GREATER_EQUAL "10")
+-  set(CMAKE_Fortran_FLAGS "-cpp -fallow-argument-mismatch")
+-endif()
+-endif()
++set(CMAKE_Fortran_FLAGS "-cpp")
+ 
+ 
+ #For Fortran
+diff --git a/src/GetChisquare.f b/src/GetChisquare.f
+index b21413fe..28391bcb 100644
+--- a/src/GetChisquare.f
++++ b/src/GetChisquare.f
+@@ -2418,8 +2418,8 @@ C> @Brief Interface to lapack, to dynamically allocate work arrays
+       integer NCovar, NDimCovar
+       double precision Covar(NDimCovar,NDimCovar), EigenValues(NCovar)
+       integer IFail
+-      double precision Work
+-      integer IWork
++      double precision Work(1)
++      integer IWork(1)
+       Character*80 msg
+ C---------------------------------------------------------------
+ C Determine optimal size of the work array:
+@@ -2432,7 +2432,7 @@ C Determine optimal size of the work array:
+      $     int(work)+1, iwork
+       call HF_ERRLOG(14121701,msg)
+       call MyDSYEVD2(NCovar,Covar,NDimCovar, EigenValues,
+-     $     int(work)+1,iwork,ifail)
++     $     int(work(1))+1,iwork(1),ifail)
+ 
+       end
+ 
diff --git a/pkgs/applications/science/physics/xfitter/default.nix b/pkgs/applications/science/physics/xfitter/default.nix
index 2be6153878893..4e6f6626602f9 100644
--- a/pkgs/applications/science/physics/xfitter/default.nix
+++ b/pkgs/applications/science/physics/xfitter/default.nix
@@ -31,10 +31,10 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ZHIQ5hOY+k0/wmpE0o4Po+RZ4MkVMk+bK1Rc6eqwwH0=";
   };
 
-  preConfigure = ''
-    substituteInPlace CMakeLists.txt \
-      --replace "-fallow-argument-mismatch" ""
-  '';
+  patches = [
+    # Avoid need for -fallow-argument-mismatch
+    ./0001-src-GetChisquare.f-use-correct-types-in-calls-to-DSY.patch
+  ];
 
   nativeBuildInputs = [ cmake gfortran pkg-config ];
   buildInputs =
diff --git a/pkgs/applications/terminal-emulators/kitty/default.nix b/pkgs/applications/terminal-emulators/kitty/default.nix
index 65e15a12cc7a4..efd853b82b421 100644
--- a/pkgs/applications/terminal-emulators/kitty/default.nix
+++ b/pkgs/applications/terminal-emulators/kitty/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, python3Packages, libunistring
-, harfbuzz, fontconfig, pkg-config, ncurses, imagemagick, xsel
+, harfbuzz, fontconfig, pkg-config, ncurses, imagemagick
 , libstartup_notification, libGL, libX11, libXrandr, libXinerama, libXcursor
 , libxkbcommon, libXi, libXext, wayland-protocols, wayland
 , lcms2
@@ -157,7 +157,7 @@ buildPythonApplication rec {
     '' else ''
     cp -r linux-package/{bin,share,lib} $out
     ''}
-    wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${lib.makeBinPath [ imagemagick xsel ncurses.dev ]}"
+    wrapProgram "$out/bin/kitty" --prefix PATH : "$out/bin:${lib.makeBinPath [ imagemagick ncurses.dev ]}"
 
     installShellCompletion --cmd kitty \
       --bash <("$out/bin/kitty" +complete setup bash) \
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/common.nix b/pkgs/applications/version-management/git-and-tools/cgit/common.nix
index d6b787315b8de..0cbc04b7bcc23 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/common.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/common.nix
@@ -68,6 +68,8 @@ stdenv.mkDerivation {
 
   stripDebugList = [ "cgit" ];
 
+  enableParallelBuilding = true;
+
   meta = {
     inherit homepage description;
     license = lib.licenses.gpl2;
diff --git a/pkgs/applications/version-management/git-and-tools/cgit/pink.nix b/pkgs/applications/version-management/git-and-tools/cgit/pink.nix
index 75e99a06b1d82..73523a2d77afd 100644
--- a/pkgs/applications/version-management/git-and-tools/cgit/pink.nix
+++ b/pkgs/applications/version-management/git-and-tools/cgit/pink.nix
@@ -2,22 +2,22 @@
 
 callPackage (import ./common.nix rec {
   pname = "cgit-pink";
-  version = "1.3.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url = "https://git.causal.agency/cgit-pink/snapshot/cgit-pink-${version}.tar.gz";
-    sha256 = "sha256-oL46NWgqi1VqKNEt0QGBWNXbi2l7nOQDZy1aMivcWuM=";
+    sha256 = "1ma6j3r4ba5fhd47pc6xn5bmxaqr8ci2pvky9v100n1hh5n6q97i";
   };
 
   # cgit-pink is tightly coupled with git and needs a git source tree to build.
   # IMPORTANT: Remember to check which git version cgit-pink needs on every
   # version bump (look for "GIT_VER" in the top-level Makefile).
   gitSrc = fetchurl {
-    url    = "mirror://kernel/software/scm/git/git-2.35.1.tar.xz";
-    sha256 = "sha256-12hSjmRD9logMDYmbxylD50Se6iXUeMurTcRftkZEIA=";
+    url    = "mirror://kernel/software/scm/git/git-2.36.1.tar.xz";
+    sha256 = "0w43a35mhc2qf2gjkxjlnkf2lq8g0snf34iy5gqx2678yq7llpa0";
   };
 
   homepage = "https://git.causal.agency/cgit-pink/about/";
   description = "cgit fork aiming for better maintenance";
-  maintainers = with lib.maintainers; [ qyliss sternenseemann ];
+  maintainers = with lib.maintainers; [ sternenseemann ];
 }) {}
diff --git a/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
index 5ff6d6b1f84bb..98da70a274e49 100644
--- a/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-ignore/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   pname = "git-ignore";
-  version = "1.1.1";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "sondr3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bKIBPqGKiS3ey8vH2F4EoleV1H2PTOp+71d/YW3jkT0=";
+    sha256 = "sha256-Bfr+4zDi6QqirlqccW1jU95eb4q82ZFG9LtT2mCPYLc=";
   };
 
-  cargoSha256 = "sha256-7jPNVBf5DYtE8nsh7LIywMCjU7ODZ3qFsmBie2mZ3h8=";
+  cargoSha256 = "sha256-ehEUI4M2IxqS6QhyqOncwP+w6IGbIlSFNIP/FEVH/JI=";
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
   buildInputs = [ openssl ]
@@ -21,9 +21,10 @@ buildRustPackage rec {
     darwin.apple_sdk.frameworks.Security
   ];
 
-  outputs = [ "out" "man" ];
-  preFixup = ''
-    installManPage $releaseDir/build/git-ignore-*/out/git-ignore.1
+  postInstall = ''
+    installManPage assets/git-ignore.1
+    # There's also .elv and .ps1 completion files but I don't know where to install those
+    installShellCompletion assets/git-ignore.{bash,fish} --zsh assets/_git-ignore
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
index 14696903542b5..83314802ca910 100644
--- a/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-sync/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-sync";
-  version = "unstable-2021-07-14";
+  version = "unstable-2022-03-20";
 
   src = fetchFromGitHub {
     owner = "simonthum";
     repo = "git-sync";
-    rev = "7d3d34bf3ee2483fba00948f5b97f964b849a590";
-    sha256 = "sha256-PuYREW5NBkYF1tlcLTbOI8570nvHn5ifN8OIInfNNxI=";
+    rev = "8466b77a38b3d5e8b4ed9e3cb1b635e475eeb415";
+    sha256 = "sha256-8rCwpmHV6wgFCLzPJOKzwN5mG8uD5KIlGFwcgQD+SK4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp -a git-* $out/bin/
+    cp -a contrib/git-* $out/bin/
   '';
 
   wrapperPath = with lib; makeBinPath [
diff --git a/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix b/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix
index 7783c28927cf9..a0136ba5e4d0f 100644
--- a/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-workspace/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-workspace";
-  version = "0.9.0";
+  version = "1.0.3";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uP1sex4Hx57ZsqVG4b3809FzFB10Un48+vbwaWZ7HSg=";
+    sha256 = "sha256-sPvb8EKrr9ZUMV1yMTXkFYgjW+LRJwJAXoc7lrWykaI=";
   };
 
-  cargoSha256 = "sha256-mkrC8uzfNpL0MQUMjcNaJf5c1wSdlBVg8AMgc/zxM6A=";
+  cargoSha256 = "sha256-WAoYFCJCWKFvWN8XyRBZdzjCrcR6jMp8ZztSLHDP+r0=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ]
diff --git a/pkgs/applications/version-management/git-and-tools/lab/default.nix b/pkgs/applications/version-management/git-and-tools/lab/default.nix
index 8f4acbc3fc430..d73d1d13bde2c 100644
--- a/pkgs/applications/version-management/git-and-tools/lab/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/lab/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "lab";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "zaquestion";
     repo = "lab";
     rev = "v${version}";
-    sha256 = "sha256-sw00D/PJaLAPHoPdJC2WYUNklIzMbc/bXt2jlQZ7E90=";
+    sha256 = "sha256-7AUhH2aBRpsjUzZQGE2fHDOa1k0rMUfZJqUEKZXpJuM=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-FwnVMH//GwFbi+llFF6XNqrZX2hRB4r51p8TRz2vN+g=";
+  vendorSha256 = "sha256-ChysquNuUffcM3qaWUdqu3Av33gnKkdlotEoFKoedA0=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
index d5791f6506cdf..c88d0b9d38666 100644
--- a/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/radicle-upstream/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, appimageTools, gsettings-desktop-schemas, gtk3, autoPatchelfHook, zlib, fetchurl, undmg }:
+{ lib, stdenv, appimageTools, autoPatchelfHook, zlib, fetchurl, undmg }:
 
 let
   pname = "radicle-upstream";
@@ -39,10 +39,6 @@ let
   linux = appimageTools.wrapType2 {
     inherit name src meta;
 
-    profile = ''
-      export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-    '';
-
     extraInstallCommands = ''
       mv $out/bin/${name} $out/bin/${pname}
 
diff --git a/pkgs/applications/video/losslesscut-bin/appimage.nix b/pkgs/applications/video/losslesscut-bin/appimage.nix
index e6be6f54e1dc8..87518479db4b9 100644
--- a/pkgs/applications/video/losslesscut-bin/appimage.nix
+++ b/pkgs/applications/video/losslesscut-bin/appimage.nix
@@ -1,4 +1,4 @@
-{ appimageTools, lib, fetchurl, gtk3, gsettings-desktop-schemas, version, sha256 }:
+{ appimageTools, lib, fetchurl, version, sha256 }:
 
 let
   pname = "losslesscut";
@@ -21,7 +21,6 @@ in appimageTools.wrapType2 {
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   extraPkgs = ps: appimageTools.defaultFhsEnvArgs.multiPkgs ps;
diff --git a/pkgs/applications/video/mpc-qt/default.nix b/pkgs/applications/video/mpc-qt/default.nix
index 7c4126bb37c6a..9f91cc0c3c08b 100644
--- a/pkgs/applications/video/mpc-qt/default.nix
+++ b/pkgs/applications/video/mpc-qt/default.nix
@@ -1,23 +1,16 @@
-{ lib, stdenv, mkDerivation, fetchFromGitLab, fetchpatch, pkg-config, qmake, qtx11extras, qttools, mpv }:
+{ lib, stdenv, mkDerivation, fetchFromGitHub, pkg-config, qmake, qtx11extras, qttools, mpv }:
 
 mkDerivation rec {
   pname = "mpc-qt";
-  version = "2019-06-09";
+  version = "22.02";
 
-  src = fetchFromGitLab {
+  src = fetchFromGitHub {
     owner = "mpc-qt";
     repo = "mpc-qt";
-    rev = "2abe6e7fc643068d50522468fe75d614861555ad";
-    sha256 = "1cis8dl9pm91mpnp696zvwsfp96gkwr8jgs45anbwd7ldw78w4x5";
+    rev = "v${version}";
+    sha256 = "sha256-DRbNDrWnaTT4A0dRFAv9MX/MDwV/rXIw+R8fQJmVN+g=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://gitlab.com/mpc-qt/mpc-qt/-/commit/02f2bc7a22e863a89ba322b9acb61cf1aef23ba0.diff";
-      sha256 = "0khld55i194zgi18d0wch5459lfzzkbfdbl1im8akvq8ks5xijis";
-    })
-  ];
-
   nativeBuildInputs = [ pkg-config qmake qttools ];
 
   buildInputs = [ mpv qtx11extras ];
@@ -26,7 +19,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Media Player Classic Qute Theater";
-    homepage = "https://gitlab.com/mpc-qt/mpc-qt";
+    homepage = "https://mpc-qt.github.io";
     license = licenses.gpl2;
     platforms = platforms.unix;
     broken = stdenv.isDarwin;
diff --git a/pkgs/applications/video/screenkey/default.nix b/pkgs/applications/video/screenkey/default.nix
index 4377b255fd99f..f854054b3b644 100644
--- a/pkgs/applications/video/screenkey/default.nix
+++ b/pkgs/applications/video/screenkey/default.nix
@@ -31,7 +31,7 @@ python3.pkgs.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3.pkgs; [
-    Babel
+    babel
     pycairo
     pygobject3
   ];
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index c937cce79b148..0ced37bb40f69 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.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xlpNJjSBw1iL8CjbWE6v4u7Vq5PjkGv0tQKU5eRN13w=";
+    sha256 = "sha256-OqsLHxY7dZKN/zazeDASBt5UsQGieU5laIUeshtS55w=";
   };
 
-  vendorSha256 = "sha256-uTkCi969RQ4K0ZJ2vOgqv3OJgzVVRX7b2sXNfmR6qoA=";
+  vendorSha256 = "sha256-0Z+SAEHFJio+N7ATiviBkLPn6cNFlhE3Dsj8CxVtf7c=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/window-managers/matchbox/default.nix b/pkgs/applications/window-managers/matchbox/default.nix
index 51bb3010d3301..f12ed0ea0a7f5 100644
--- a/pkgs/applications/window-managers/matchbox/default.nix
+++ b/pkgs/applications/window-managers/matchbox/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, libmatchbox, libX11, libXext }:
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, libmatchbox, libX11, libXext }:
 
 stdenv.mkDerivation rec {
   pname = "matchbox";
@@ -13,6 +13,15 @@ stdenv.mkDerivation rec {
     sha256 = "1zyfq438b466ygcz78nvsmnsc5bhg4wcfnpxb43kbkwpyx53m8l1";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common tollchains:
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://git.yoctoproject.org/matchbox-window-manager/patch/?id=844f61069896fe3f549ab425d731c061028f697c";
+      sha256 = "1md2s7q094hn4gzg21pfyz8d426y07d5rbx2icas9nvc8jj7bwfc";
+    })
+  ];
+
   meta = {
     description = "X window manager for non-desktop embedded systems";
     homepage = "https://www.yoctoproject.org/software-item/matchbox/";
diff --git a/pkgs/applications/window-managers/yeahwm/default.nix b/pkgs/applications/window-managers/yeahwm/default.nix
index 3cf997c22c298..25a25a06ad9ed 100644
--- a/pkgs/applications/window-managers/yeahwm/default.nix
+++ b/pkgs/applications/window-managers/yeahwm/default.nix
@@ -24,6 +24,11 @@ stdenv.mkDerivation rec {
                       prefix="${placeholder "out"}" )
   '';
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   postInstall = ''
     gzip -9 --stdout yeahwm.1 > yeahwm.1.gz
     install -m644 yeahwm.1.gz ${placeholder "out"}/share/man/man1/
diff --git a/pkgs/build-support/go/garble.nix b/pkgs/build-support/go/garble.nix
index c9bcf2cec153d..502aba4e64a79 100644
--- a/pkgs/build-support/go/garble.nix
+++ b/pkgs/build-support/go/garble.nix
@@ -6,16 +6,16 @@
 }:
 buildGoModule rec {
   pname = "garble";
-  version = "0.5.1";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "burrowers";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-F8O/33o//yGnum9sZo1dzcvf3ifRalva6SDC36iPbDA==";
+    sha256 = "sha256-VeqF1MB8knM+NtG9Y+x1g2OF7LFZRC8/c8jicGP3vpo=";
   };
 
-  vendorSha256 = "sha256-iNH/iBEOTkIhVlDGfI66ZYyVjyH6WrLbUSMyONPjUc4=";
+  vendorSha256 = "sha256-FQMeA6VUDQa6wpvMoYsigkzukQ0dArAkysiksJWq+iY=";
 
   # Used for some of the tests.
   checkInputs = [git];
diff --git a/pkgs/build-support/testers/default.nix b/pkgs/build-support/testers/default.nix
index 3ab97760e725d..020352836c899 100644
--- a/pkgs/build-support/testers/default.nix
+++ b/pkgs/build-support/testers/default.nix
@@ -9,10 +9,19 @@
       version ? package.version,
     }: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } ''
       if output=$(${command} 2>&1); then
-        grep -Fw "${version}" - <<< "$output"
-        touch $out
+        if grep -Fw "${version}" - <<< "$output"; then
+          touch $out
+        else
+          echo "Version string '${version}' not found!" >&2
+          echo "The output was:" >&2
+          echo "$output" >&2
+          exit 1
+        fi
       else
-        echo "$output" >&2 && exit 1
+        echo -n ${lib.escapeShellArg command} >&2
+        echo " returned a non-zero exit code." >&2
+        echo "$output" >&2
+        exit 1
       fi
     '';
 
diff --git a/pkgs/data/themes/mojave/default.nix b/pkgs/data/themes/mojave/default.nix
index 56d7dfcf3752b..e8e98ab0ebfef 100644
--- a/pkgs/data/themes/mojave/default.nix
+++ b/pkgs/data/themes/mojave/default.nix
@@ -16,6 +16,7 @@
 , opacityVariants ? [] # default to all
 , themeVariants ? [] # default to MacOS blue
 , wallpapers ? false
+, gitUpdater
 }:
 
 let
@@ -29,14 +30,14 @@ lib.checkListOfEnum "${pname}: theme variants" [ "default" "blue" "purple" "pink
 
 stdenv.mkDerivation rec {
   inherit pname;
-  version = "unstable-2021-12-20";
+  version = "2022-05-12";
 
   srcs = [
     (fetchFromGitHub {
       owner = "vinceliuice";
       repo = pname;
-      rev = "c148646ccab382f7a2d5fdc421fc32d843cb4172";
-      sha256 = "sha256-h4MSSh8cu9M81bM+WJSyl1SQ7CVth1DvjIVOUJXqpxs";
+      rev = version;
+      sha256 = "sha256-VrrxW16J+S21qBoAeVCWs0Q6bRL1jXAK7MOBpdSMJZY=";
     })
   ]
   ++
@@ -114,6 +115,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater {inherit pname version; };
+
   meta = with lib; {
     description = "Mac OSX Mojave like theme for GTK based desktop environments";
     homepage = "https://github.com/vinceliuice/Mojave-gtk-theme";
diff --git a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
index b3c9e1ea62ae7..5e36cd109e43b 100644
--- a/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
+++ b/pkgs/desktops/gnome/core/adwaita-icon-theme/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, gnome
+{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, intltool, gnome
 , iconnamingutils, gtk3, gdk-pixbuf, librsvg, hicolor-icon-theme }:
 
 stdenv.mkDerivation rec {
@@ -10,12 +10,20 @@ stdenv.mkDerivation rec {
     sha256 = "XoW1rcje5maQD8rycbpxf33LnQoD2W2uCPnL0n4YseA=";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "reduce-build-parallelism.patch";
+      url = "https://gitlab.gnome.org/vcunat/adwaita-icon-theme/-/commit/27edeca7927eb2247d7385fccb3f0fd7787471e6.patch";
+      sha256 = "vDWuvz5yRhtn9obTtHRp6J7gJpXDZz1cajyquPGw53I=";
+    })
+  ];
+
   # For convenience, we can specify adwaita-icon-theme only in packages
   propagatedBuildInputs = [ hicolor-icon-theme ];
 
   buildInputs = [ gdk-pixbuf librsvg ];
 
-  nativeBuildInputs = [ pkg-config intltool iconnamingutils gtk3 ];
+  nativeBuildInputs = [ pkg-config autoreconfHook intltool iconnamingutils gtk3 ];
 
   dontDropIconThemeCache = true;
 
diff --git a/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
index 9447de1fd4e71..e7afab4c9ac91 100644
--- a/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
+++ b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
@@ -4,19 +4,19 @@
 , glib
 , gettext
 , sassc
-, unstableGitUpdater
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-dash-to-dock";
-  version = "71+date=2022-02-23";
+  version = "72";
 
   # Temporarily switched to commit hash because stable version is buggy.
   src = fetchFromGitHub {
     owner = "micheleg";
     repo = "dash-to-dock";
-    rev = "6f717302747931de6bf35bc9839fb3bd946e2c2f";
-    sha256 = "1J8t0R43jBbqpXyH2uVyEK+OvhrCw18WWheflqwe100=";
+    rev = "extensions.gnome.org-v${version}";
+    sha256 = "Cds5Fc+rnvoy01GTZBS7qPh8UC9ekrNBOs+IEkDNkJw=";
   };
 
   nativeBuildInputs = [
@@ -33,9 +33,10 @@ stdenv.mkDerivation rec {
     extensionUuid = "dash-to-dock@micxgx.gmail.com";
     extensionPortalSlug = "dash-to-dock";
 
-    updateScript = unstableGitUpdater {
-      stableVersion = true;
-      tagPrefix = "extensions.gnome.org-v";
+    updateScript = gitUpdater {
+      pname = "gnomeExtensions.dash-to-dock";
+      inherit version;
+      rev-prefix = "extensions.gnome.org-v";
     };
   };
 
diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
index f3bd37b00e062..1984a6ebbe241 100644
--- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix
@@ -2,8 +2,6 @@
 , stdenv
 , fetchFromGitHub
 , nix-update-script
-, appstream-glib
-, desktop-file-utils
 , meson
 , ninja
 , pkg-config
@@ -25,18 +23,16 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-calendar";
-  version = "6.1.0";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "calendar";
     rev = version;
-    sha256 = "sha256-LaVJ7QLc0UdSLgLIuHP4Anc7kPUelZW9PnIWuqKGtEQ=";
+    sha256 = "sha256-c2c8QNifBDzb0CelB72AIL4G694l6KCSXBjWIHrzZJo=";
   };
 
   nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils
     meson
     ninja
     pkg-config
diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
index 48cfda3df76d2..7edbc04e3ede1 100644
--- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -32,24 +31,15 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-photos";
-  version = "2.7.4";
+  version = "2.7.5";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "photos";
     rev = version;
-    sha256 = "sha256-NhF/WgS6IOwgALSCNyFNxz8ROVTb+mUX+lBtnWEyhEI=";
+    sha256 = "sha256-zM32+bva+QD1Z/0vUD7K0/tnSzo+7GGLjJ1ytr64c0I=";
   };
 
-  patches = [
-    # Fix build with vala 0.56
-    # https://github.com/elementary/photos/pull/711
-    (fetchpatch {
-      url = "https://github.com/elementary/photos/commit/6594f1323726fb0d38519a7bdafe16f9170353cb.patch";
-      sha256 = "sha256-Ie9ULC8Xw4KLQJANPXh4LDywMjWfniPX/P76eHW8LHc=";
-    })
-  ];
-
   nativeBuildInputs = [
     appstream
     desktop-file-utils
diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
index fe6e5a40fa4da..aa3d9981998c6 100644
--- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
+++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix
@@ -1,7 +1,6 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, fetchpatch
 , nix-update-script
 , pkg-config
 , meson
@@ -10,41 +9,28 @@
 , vala
 , desktop-file-utils
 , gtk3
-, libxml2
 , granite
 , libhandy
 , libnotify
 , vte
 , libgee
-, appstream
 , pcre2
 , wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-terminal";
-  version = "6.0.1";
+  version = "6.0.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "terminal";
     rev = version;
-    sha256 = "sha256-4q7YQ4LxuiM/TRae1cc3ncmw7QwE1soC2Sh+GZ+Gpq0=";
+    sha256 = "sha256-glcY47E9bGVI6k9gakItN6srzMtmA4hCEz/JVD5UUmI=";
   };
 
-  patches = [
-    # Fix build with meson 0.61
-    # https://github.com/elementary/terminal/pull/649
-    (fetchpatch {
-      url = "https://github.com/elementary/terminal/commit/15e3ace08cb25e53941249fa1ee680a1e2f871b4.patch";
-      sha256 = "sha256-XVs+kq5qbX5KlxtkqxwJnatNYNeJiVLBec7sLjQsUxg=";
-    })
-  ];
-
   nativeBuildInputs = [
-    appstream
     desktop-file-utils
-    libxml2
     meson
     ninja
     pkg-config
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
index 70ab050c7ec17..a3d8d049e3b10 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-onlineaccounts";
-  version = "6.4.0";
+  version = "6.5.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Fppl/IvdlW8lZ6YKEHaHNticv3FFFKEKTPPVnz4u9b4=";
+    sha256 = "sha256-Q/vvXKyeedn5o7HnL9F5ixSjJS3OWrvvHbzvx2fW2qY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
index 2a531815f8751..d0079e6a0571c 100644
--- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
+++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "switchboard-plug-power";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = pname;
     rev = version;
-    sha256 = "006h8mrhmdrbd83vhdyahgrfk9wh6j9kjincpp7dz7sl8fsyhmcr";
+    sha256 = "sha256-8Hu2RIgA0gSc+tLNjDqGS+b/HpbsOdR4otpY4UqNzKs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
index 24ce7b5ad56bd..7345382591305 100644
--- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
+++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-capnet-assist";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "capnet-assist";
     rev = version;
-    sha256 = "sha256-8hhp37EBzZxEVvPaRw9PohjaPWKQZ/AfqqvwLxQCBKk=";
+    sha256 = "sha256-aA71kxu4/dwODZt+DSp3vvely3P0dL23Ykqhd84hrZw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index ff0cc92da338f..a57d14d2f40ce 100644
--- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elementary-settings-daemon";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "settings-daemon";
     rev = version;
-    sha256 = "sha256-1Xp1uJzDFuGZlhJhKj00cYtb4Q1syMAm+82fTOtk0VI=";
+    sha256 = "sha256-5QdCj2Z31t7dxZi7ZZ5g6qLgsMyw7rM5dRw0G8uoC6o=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 79e7d324ec94d..761ae5ba01975 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, runCommand, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }:
+{ lib, stdenv, fetchurl, fetchpatch, runCommand, bootstrap_cmds, coreutils, glibc, m4, runtimeShell }:
 
 let
   options = rec {
@@ -59,6 +59,21 @@ stdenv.mkDerivation rec {
     sha256 = cfg.sha256;
   };
 
+  patches = [
+    # Pull upstream fiux for -fno-common toolchains:
+    #  https://github.com/Clozure/ccl/pull/316
+    (fetchpatch {
+      name = "fno-common-p1.patch";
+      url = "https://github.com/Clozure/ccl/commit/185dc1a00e7492f8be98e5f93b561758423595f1.patch";
+      sha256 = "0wqfds7346qdwdsxz3bl2p601ib94rdp9nknj7igj01q8lqfpajw";
+    })
+    (fetchpatch {
+      name = "fno-common-p2.patch";
+      url = "https://github.com/Clozure/ccl/commit/997de91062d1f152d0c3b322a1e3694243e4a403.patch";
+      sha256 = "10w6zw8wgalkdyya4m48lgca4p9wgcp1h44hy9wqr94dzlllq0f6";
+    })
+  ];
+
   buildInputs = if stdenv.isDarwin then [ bootstrap_cmds m4 ] else [ glibc m4 ];
 
   CCL_RUNTIME = cfg.runtime;
diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix
index d9180e9001de7..2c673b7dd4ed7 100644
--- a/pkgs/development/compilers/go/1.17.nix
+++ b/pkgs/development/compilers/go/1.17.nix
@@ -18,8 +18,12 @@
 , buildPackages
 , pkgsBuildTarget
 , callPackage
+, threadsCross ? null # for MinGW
 }:
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 let
   go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
 
@@ -50,15 +54,17 @@ let
   # We need a target compiler which is still runnable at build time,
   # to handle the cross-building case where build != host == target
   targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
+
+  isCross = stdenv.buildPlatform != stdenv.targetPlatform;
 in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.17.9";
+  version = "1.17.10";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-djrUuvuAqSBEWMX6K45zJ/qXGu5FQlLA42LBEjYVaBM=";
+    sha256 = "sha256-KZ5VrzDxVpGwFdjc+OyuckEkElaeWy7OIDYXU6RW8vk=";
   };
 
   # perl is used for testing go vet
@@ -71,6 +77,10 @@ stdenv.mkDerivation rec {
 
   depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
 
+  depsBuildTarget = lib.optional isCross targetCC;
+
+  depsTargetTarget = lib.optional (threadsCross != null) threadsCross;
+
   hardeningDisable = [ "all" ];
 
   prePatch = ''
@@ -167,7 +177,6 @@ stdenv.mkDerivation rec {
     ./remove-test-pie-1.15.patch
     ./creds-test.patch
     ./go-1.9-skip-flaky-19608.patch
-    ./go-1.9-skip-flaky-20072.patch
     ./skip-chown-tests-1.16.patch
     ./skip-external-network-tests-1.16.patch
     ./skip-nohup-tests.patch
@@ -195,12 +204,12 @@ stdenv.mkDerivation rec {
   # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
   # to be different from CC/CXX
   CC_FOR_TARGET =
-    if (stdenv.buildPlatform != stdenv.targetPlatform) then
+    if isCross then
       "${targetCC}/bin/${targetCC.targetPrefix}cc"
     else
       null;
   CXX_FOR_TARGET =
-    if (stdenv.buildPlatform != stdenv.targetPlatform) then
+    if isCross then
       "${targetCC}/bin/${targetCC.targetPrefix}c++"
     else
       null;
@@ -224,7 +233,7 @@ stdenv.mkDerivation rec {
 
     export PATH=$(pwd)/bin:$PATH
 
-    ${lib.optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
+    ${lib.optionalString isCross ''
     # Independent from host/target, CC should produce code for the building system.
     # We only set it when cross-compiling.
     export CC=${buildPackages.stdenv.cc}/bin/cc
diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix
index aad9c27fc563b..48ca47321cdca 100644
--- a/pkgs/development/compilers/go/1.18.nix
+++ b/pkgs/development/compilers/go/1.18.nix
@@ -18,8 +18,12 @@
 , buildPackages
 , pkgsBuildTarget
 , callPackage
+, threadsCross ? null # for MinGW
 }:
 
+# threadsCross is just for MinGW
+assert threadsCross != null -> stdenv.targetPlatform.isWindows;
+
 let
   go_bootstrap = buildPackages.callPackage ./bootstrap.nix { };
 
@@ -50,6 +54,8 @@ let
   # We need a target compiler which is still runnable at build time,
   # to handle the cross-building case where build != host == target
   targetCC = pkgsBuildTarget.targetPackages.stdenv.cc;
+
+  isCross = stdenv.buildPlatform != stdenv.targetPlatform;
 in
 
 stdenv.mkDerivation rec {
@@ -71,6 +77,10 @@ stdenv.mkDerivation rec {
 
   depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Security Foundation ];
 
+  depsBuildTarget = lib.optional isCross targetCC;
+
+  depsTargetTarget = lib.optional (threadsCross != null) threadsCross;
+
   hardeningDisable = [ "all" ];
 
   prePatch = ''
@@ -188,12 +198,12 @@ stdenv.mkDerivation rec {
   # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those
   # to be different from CC/CXX
   CC_FOR_TARGET =
-    if (stdenv.buildPlatform != stdenv.targetPlatform) then
+    if isCross then
       "${targetCC}/bin/${targetCC.targetPrefix}cc"
     else
       null;
   CXX_FOR_TARGET =
-    if (stdenv.buildPlatform != stdenv.targetPlatform) then
+    if isCross then
       "${targetCC}/bin/${targetCC.targetPrefix}c++"
     else
       null;
@@ -217,7 +227,7 @@ stdenv.mkDerivation rec {
 
     export PATH=$(pwd)/bin:$PATH
 
-    ${lib.optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
+    ${lib.optionalString isCross ''
     # Independent from host/target, CC should produce code for the building system.
     # We only set it when cross-compiling.
     export CC=${buildPackages.stdenv.cc}/bin/cc
diff --git a/pkgs/development/compilers/jasmin-compiler/default.nix b/pkgs/development/compilers/jasmin-compiler/default.nix
index dbacda5c4798a..140de42451928 100644
--- a/pkgs/development/compilers/jasmin-compiler/default.nix
+++ b/pkgs/development/compilers/jasmin-compiler/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jasmin-compiler";
-  version = "21.0";
+  version = "2022.04.0";
 
   src = fetchurl {
     url = "https://github.com/jasmin-lang/jasmin/releases/download/v${version}/jasmin-compiler-v${version}.tar.bz2";
-    sha256 = "sha256:1px17fpc00gca5ayfcr4k008srkyw120c25rnyf7cgzfs1gpylj2";
+    sha256 = "sha256:0yf3lp469m8jdpqmqq3sw3h8l3psrzdp134wp3l1q31j3akskn2s";
   };
 
   sourceRoot = "jasmin-compiler-v${version}/compiler";
diff --git a/pkgs/development/compilers/spirv-llvm-translator/default.nix b/pkgs/development/compilers/spirv-llvm-translator/default.nix
index 3ae837ac46ba8..b0ba8508fc359 100644
--- a/pkgs/development/compilers/spirv-llvm-translator/default.nix
+++ b/pkgs/development/compilers/spirv-llvm-translator/default.nix
@@ -25,8 +25,6 @@ stdenv.mkDerivation rec {
 
   checkInputs = [ lit ];
 
-  makeFlags = [ "llvm-spirv" ];
-
   cmakeFlags = [
     "-DLLVM_INCLUDE_TESTS=ON"
     "-DLLVM_DIR=${llvm_11.dev}"
@@ -37,6 +35,12 @@ stdenv.mkDerivation rec {
   # FIXME: CMake tries to run "/llvm-lit" which of course doesn't exist
   doCheck = false;
 
+  makeFlags = [ "all" "llvm-spirv" ];
+
+  postInstall = ''
+    install -D tools/llvm-spirv/llvm-spirv $out/bin/llvm-spirv
+  '';
+
   meta = with lib; {
     homepage    = "https://github.com/KhronosGroup/SPIRV-LLVM-Translator";
     description = "A tool and a library for bi-directional translation between SPIR-V and LLVM IR";
diff --git a/pkgs/development/compilers/tinygo/0001-Makefile.patch b/pkgs/development/compilers/tinygo/0001-Makefile.patch
new file mode 100644
index 0000000000000..81774b6e0d6f1
--- /dev/null
+++ b/pkgs/development/compilers/tinygo/0001-Makefile.patch
@@ -0,0 +1,57 @@
+From fcae473c4b6ac2120ec75c321d6db850d8ecd6a9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <muscaln@protonmail.com>
+Date: Sat, 30 Apr 2022 16:37:44 +0300
+Subject: [PATCH 1/3] Makefile
+
+
+diff --git a/Makefile b/Makefile
+index dc388c21..7efc9901 100644
+--- a/Makefile
++++ b/Makefile
+@@ -14,11 +14,6 @@ LLVM_VERSIONS = 14 13 12 11
+ errifempty = $(if $(1),$(1),$(error $(2)))
+ detect = $(shell which $(call errifempty,$(firstword $(foreach p,$(2),$(shell command -v $(p) 2> /dev/null && echo $(p)))),failed to locate $(1) at any of: $(2)))
+ toolSearchPathsVersion = $(1)-$(2)
+-ifeq ($(shell uname -s),Darwin)
+-	# Also explicitly search Brew's copy, which is not in PATH by default.
+-	BREW_PREFIX := $(shell brew --prefix)
+-	toolSearchPathsVersion += $(BREW_PREFIX)/opt/llvm@$(2)/bin/$(1)-$(2) $(BREW_PREFIX)/opt/llvm@$(2)/bin/$(1)
+-endif
+ # First search for a custom built copy, then move on to explicitly version-tagged binaries, then just see if the tool is in path with its normal name.
+ findLLVMTool = $(call detect,$(1),$(abspath llvm-build/bin/$(1)) $(foreach ver,$(LLVM_VERSIONS),$(call toolSearchPathsVersion,$(1),$(ver))) $(1))
+ CLANG ?= $(call findLLVMTool,clang)
+@@ -644,9 +639,8 @@ endif
+ wasmtest:
+ 	$(GO) test ./tests/wasm
+ 
+-build/release: tinygo gen-device wasi-libc $(if $(filter 1,$(USE_SYSTEM_BINARYEN)),,binaryen)
++build/release:
+ 	@mkdir -p build/release/tinygo/bin
+-	@mkdir -p build/release/tinygo/lib/clang/include
+ 	@mkdir -p build/release/tinygo/lib/CMSIS/CMSIS
+ 	@mkdir -p build/release/tinygo/lib/macos-minimal-sdk
+ 	@mkdir -p build/release/tinygo/lib/mingw-w64/mingw-w64-crt/lib-common
+@@ -663,10 +657,6 @@ build/release: tinygo gen-device wasi-libc $(if $(filter 1,$(USE_SYSTEM_BINARYEN
+ 	@mkdir -p build/release/tinygo/pkg/thumbv7em-unknown-unknown-eabi-cortex-m4
+ 	@echo copying source files
+ 	@cp -p  build/tinygo$(EXE)           build/release/tinygo/bin
+-ifneq ($(USE_SYSTEM_BINARYEN),1)
+-	@cp -p  build/wasm-opt$(EXE)         build/release/tinygo/bin
+-endif
+-	@cp -p $(abspath $(CLANG_SRC))/lib/Headers/*.h build/release/tinygo/lib/clang/include
+ 	@cp -rp lib/CMSIS/CMSIS/Include      build/release/tinygo/lib/CMSIS/CMSIS
+ 	@cp -rp lib/CMSIS/README.md          build/release/tinygo/lib/CMSIS
+ 	@cp -rp lib/macos-minimal-sdk/*      build/release/tinygo/lib/macos-minimal-sdk
+@@ -705,8 +695,7 @@ endif
+ 	@cp -rp lib/picolibc/newlib/libm/common      build/release/tinygo/lib/picolibc/newlib/libm
+ 	@cp -rp lib/picolibc-stdio.c         build/release/tinygo/lib
+ 	@cp -rp lib/wasi-libc/sysroot        build/release/tinygo/lib/wasi-libc/sysroot
+-	@cp -rp llvm-project/compiler-rt/lib/builtins build/release/tinygo/lib/compiler-rt-builtins
+-	@cp -rp llvm-project/compiler-rt/LICENSE.TXT  build/release/tinygo/lib/compiler-rt-builtins
++	@cp -rp lib/compiler-rt-builtins     build/release/tinygo/lib/compiler-rt-builtins
+ 	@cp -rp src                          build/release/tinygo/src
+ 	@cp -rp targets                      build/release/tinygo/targets
+ 	./build/tinygo build-library -target=cortex-m0     -o build/release/tinygo/pkg/thumbv6m-unknown-unknown-eabi-cortex-m0/compiler-rt     compiler-rt
+-- 
+2.36.0
+
diff --git a/pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch b/pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch
new file mode 100644
index 0000000000000..875a2521a9233
--- /dev/null
+++ b/pkgs/development/compilers/tinygo/0002-Add-clang-header-path.patch
@@ -0,0 +1,55 @@
+From 4ee942ccc7cdb06ee51490e9cb44ecb36b25378a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mustafa=20=C3=87al=C4=B1=C5=9Fkan?= <muscaln@protonmail.com>
+Date: Sat, 30 Apr 2022 16:18:31 +0300
+Subject: [PATCH 2/3] Add clang header path
+
+
+diff --git a/builder/builtins.go b/builder/builtins.go
+index 479b541d..b35283c6 100644
+--- a/builder/builtins.go
++++ b/builder/builtins.go
+@@ -164,7 +164,7 @@ var aeabiBuiltins = []string{
+ var CompilerRT = Library{
+ 	name: "compiler-rt",
+ 	cflags: func(target, headerPath string) []string {
+-		return []string{"-Werror", "-Wall", "-std=c11", "-nostdlibinc"}
++		return []string{"-Werror", "-Wall", "-std=c11", "-isystem", "@clang_include@"}
+ 	},
+ 	sourceDir: func() string {
+ 		llvmDir := filepath.Join(goenv.Get("TINYGOROOT"), "llvm-project/compiler-rt/lib/builtins")
+diff --git a/builder/picolibc.go b/builder/picolibc.go
+index f1b061ae..159f90cf 100644
+--- a/builder/picolibc.go
++++ b/builder/picolibc.go
+@@ -27,7 +27,7 @@ var Picolibc = Library{
+ 			"-D_COMPILING_NEWLIB",
+ 			"-DHAVE_ALIAS_ATTRIBUTE",
+ 			"-DTINY_STDIO",
+-			"-nostdlibinc",
++			"-isystem", "@clang_include@",
+ 			"-isystem", picolibcDir + "/include",
+ 			"-I" + picolibcDir + "/tinystdio",
+ 			"-I" + headerPath,
+diff --git a/compileopts/config.go b/compileopts/config.go
+index b30e653e..7561b3f2 100644
+--- a/compileopts/config.go
++++ b/compileopts/config.go
+@@ -288,6 +288,7 @@ func (c *Config) CFlags() []string {
+ 		path, _ := c.LibcPath("picolibc")
+ 		cflags = append(cflags,
+ 			"--sysroot="+path,
++			"-isystem", "@clang_include@",
+ 			"-isystem", filepath.Join(path, "include"), // necessary for Xtensa
+ 			"-isystem", filepath.Join(picolibcDir, "include"),
+ 			"-isystem", filepath.Join(picolibcDir, "tinystdio"),
+@@ -297,7 +298,6 @@ func (c *Config) CFlags() []string {
+ 		path, _ := c.LibcPath("musl")
+ 		arch := MuslArchitecture(c.Triple())
+ 		cflags = append(cflags,
+-			"-nostdlibinc",
+ 			"-isystem", filepath.Join(path, "include"),
+ 			"-isystem", filepath.Join(root, "lib", "musl", "arch", arch),
+ 			"-isystem", filepath.Join(root, "lib", "musl", "include"),
+-- 
+2.36.0
+
diff --git a/pkgs/development/compilers/tinygo/default.nix b/pkgs/development/compilers/tinygo/default.nix
index 935260dbcab9e..b335df487c867 100644
--- a/pkgs/development/compilers/tinygo/default.nix
+++ b/pkgs/development/compilers/tinygo/default.nix
@@ -1,64 +1,147 @@
-{ lib, buildGoModule, fetchFromGitHub, llvm, clang-unwrapped, lld, avrgcc
-, avrdude, openocd, gcc-arm-embedded, makeWrapper, fetchurl }:
+{ stdenv
+, lib
+, buildPackages
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, substituteAll
+, llvmPackages
+, go
+, libffi
+, zlib
+, ncurses
+, libxml2
+, xar
+, wasi-libc
+, avrgcc
+, binaryen
+, avrdude
+, gdb
+, openocd
+}:
 
-let main = ./main.go;
-    gomod = ./go.mod;
+let
+  llvmMajor = lib.versions.major llvm.version;
+  inherit (llvmPackages) llvm clang compiler-rt lld;
 in
+
 buildGoModule rec {
   pname = "tinygo";
-  version = "0.16.0";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "tinygo-org";
     repo = "tinygo";
     rev = "v${version}";
-    sha256 = "063aszbsnr0myq56kms1slmrfs7m4nmg0zgh2p66lxdsifrfly7j";
+    sha256 = "sha256-YgQGAQJw9Xyw5BF2d9uZTQHfjHsu2evZGo4RV9DtStE=";
     fetchSubmodules = true;
   };
 
-  overrideModAttrs = (_: {
-      patches = [];
-      preBuild = ''
-      rm -rf *
-      cp ${main} main.go
-      cp ${gomod} go.mod
-      chmod +w go.mod
-      '';
-  });
+  vendorSha256 = "sha256-fK8BlCh+1NtHW6MwW68iSIB+Sw6AK+g3y4lMyMYrXkk=";
+
+  patches = [
+    ./0001-Makefile.patch
+
+    (substituteAll {
+      src = ./0002-Add-clang-header-path.patch;
+      clang_include = "${clang.cc.lib}/lib/clang/${clang.cc.version}/include";
+    })
+  ];
 
-  preBuild = "cp ${gomod} go.mod";
+  checkInputs = [ avrgcc binaryen ];
+  nativeBuildInputs = [ go makeWrapper ];
+  buildInputs = [ llvm clang.cc ]
+    ++ lib.optionals stdenv.isDarwin [ zlib ncurses libffi libxml2 xar ];
 
-  postBuild = "make gen-device";
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
-  vendorSha256 = "12k2gin0v7aqz5543m12yhifc0xsz26qyqra5l4c68xizvzcvkxb";
+  allowGoReference = true;
+  tags = [ "llvm${llvmMajor}" ];
+  subPackages = [ "." ];
 
-  doCheck = false;
+  # Output contains static libraries for different arm cpus
+  # and stripping could mess up these so only strip the compiler
+  stripDebugList = [ "bin" ];
 
-  prePatch = ''
-    sed -i s/', "-nostdlibinc"'// builder/builtins.go
-    sed -i s/'"-nostdlibinc", '// compileopts/config.go builder/picolibc.go
+  postConfigure = lib.optionalString stdenv.isDarwin ''
+    for i in vendor/tinygo.org/x/go-llvm/llvm_config_darwin*; do
+      substituteInPlace $i --replace "curses" "ncurses"
+    done
   '';
 
-  subPackages = [ "." ];
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ llvm clang-unwrapped ];
-  propagatedBuildInputs = [ lld avrgcc avrdude openocd gcc-arm-embedded ];
-
-  postInstall = ''
-    mkdir -p $out/share/tinygo
-    cp -a lib src targets $out/share/tinygo
-    wrapProgram $out/bin/tinygo --prefix "TINYGOROOT" : "$out/share/tinygo" \
-      --prefix "PATH" : "$out/libexec/tinygo"
+  postPatch = ''
+    # Copy wasi-libc, symlink seems not working
+    rm -rf lib/wasi-libc/*
+    mkdir -p lib/wasi-libc/sysroot/lib/wasm32-wasi lib/wasi-libc/sysroot/include
+    cp -a ${wasi-libc}/lib/* lib/wasi-libc/sysroot/lib/wasm32-wasi/
+    cp -a ${wasi-libc.dev}/include/* lib/wasi-libc/sysroot/include/
+
+    # Borrow compiler-rt builtins from our source
+    # See https://github.com/tinygo-org/tinygo/pull/2471
+    mkdir -p lib/compiler-rt-builtins
+    cp -a ${compiler-rt.src}/compiler-rt/lib/builtins/* lib/compiler-rt-builtins/
+
+    substituteInPlace Makefile \
+      --replace "\$(TINYGO)" "$(pwd)/build/tinygo" \
+      --replace "build/release/tinygo/bin" "$out/bin" \
+      --replace "build/release/" "$out/share/"
+
+    # TODO: Fix mingw and darwin
+    # Disable windows and darwin cross-compile tests
+    sed -i "/GOOS=windows/d" Makefile
+    sed -i "/GOOS=darwin/d" Makefile
+
+    # tinygo needs versioned binaries
     mkdir -p $out/libexec/tinygo
-    ln -s ${clang-unwrapped}/bin/clang $out/libexec/tinygo/clang-10
-    ln -s ${lld}/bin/lld $out/libexec/tinygo/ld.lld-10
-    ln -sf $out/bin $out/share/tinygo
+    ln -s ${lib.getBin clang.cc}/bin/clang $out/libexec/tinygo/clang-${llvmMajor}
+    ln -s ${lib.getBin lld}/bin/ld.lld $out/libexec/tinygo/ld.lld-${llvmMajor}
+    ln -s ${lib.getBin lld}/bin/wasm-ld $out/libexec/tinygo/wasm-ld-${llvmMajor}
+    ln -s ${gdb}/bin/gdb $out/libexec/tinygo/gdb-multiarch
+  '' + lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace Makefile \
+      --replace "./build/tinygo" "${buildPackages.tinygo}/bin/tinygo"
+  '';
+
+  preBuild = ''
+    export HOME=$TMPDIR
+    export GOCACHE=$TMPDIR/go-cache
+    export GOPATH=$TMPDIR/go
+    export PATH=$out/libexec/tinygo:$PATH
   '';
 
+  postBuild = ''
+    # Move binary
+    mkdir -p build
+    mv $GOPATH/bin/tinygo build/tinygo
+
+    make gen-device
+  '';
+
+  checkPhase = ''
+    runHook preCheck
+    make smoketest XTENSA=0
+    runHook postCheck
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    make build/release
+
+    wrapProgram $out/bin/tinygo \
+      --set TINYGOROOT $out/share/tinygo \
+      --prefix PATH : ${lib.makeBinPath [ go avrdude openocd avrgcc binaryen ]}:$out/libexec/tinygo
+
+    runHook postInstall
+  '';
+
+  disallowedReferences = [ wasi-libc ];
+
   meta = with lib; {
     homepage = "https://tinygo.org/";
     description = "Go compiler for small places";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ Madouura ];
+    maintainers = with maintainers; [ Madouura muscaln ];
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/compilers/tinygo/go.mod b/pkgs/development/compilers/tinygo/go.mod
deleted file mode 100644
index bab259ae48d2a..0000000000000
--- a/pkgs/development/compilers/tinygo/go.mod
+++ /dev/null
@@ -1,14 +0,0 @@
-module github.com/tinygo-org/tinygo
-
-go 1.11
-
-require (
-	github.com/blakesmith/ar v0.0.0-20150311145944-8bd4349a67f2
-	github.com/chromedp/cdproto v0.0.0-20200709115526-d1f6fc58448b
-	github.com/chromedp/chromedp v0.5.4-0.20200303084119-2bb39134ab9e
-	github.com/google/shlex v0.0.0-20181106134648-c34317bd91bf
-	github.com/marcinbor85/gohex v0.0.0-20200531091804-343a4b548892
-	go.bug.st/serial v1.0.0
-	golang.org/x/tools v0.0.0-20200216192241-b320d3a0f5a2
-	tinygo.org/x/go-llvm v0.0.0-20201104183921-570e7a6841d9
-)
diff --git a/pkgs/development/compilers/tinygo/main.go b/pkgs/development/compilers/tinygo/main.go
deleted file mode 100644
index 050cf8afe39f1..0000000000000
--- a/pkgs/development/compilers/tinygo/main.go
+++ /dev/null
@@ -1,18 +0,0 @@
-package main
-
-import (
-	"fmt"
-
-	_ "github.com/blakesmith/ar"
-	_ "github.com/google/shlex"
-	_ "github.com/marcinbor85/gohex"
-	_ "go.bug.st/serial"
-	_ "golang.org/x/tools/go/ast/astutil"
-	_ "golang.org/x/tools/go/ssa"
-	_ "google.golang.org/appengine"
-	_ "tinygo.org/x/go-llvm"
-)
-
-func main() {
-	fmt.Println("vim-go")
-}
diff --git a/pkgs/development/compilers/vlang/default.nix b/pkgs/development/compilers/vlang/default.nix
index 0601022df61be..64ccb2fc16e67 100644
--- a/pkgs/development/compilers/vlang/default.nix
+++ b/pkgs/development/compilers/vlang/default.nix
@@ -2,21 +2,21 @@
 
 stdenv.mkDerivation rec {
   pname = "vlang";
-  version = "weekly.2022.19";
+  version = "weekly.2022.20";
 
   src = fetchFromGitHub {
     owner = "vlang";
     repo = "v";
     rev = version;
-    sha256 = "1bl91j3ip3i84jq3wg03sflllxv38sv4dc072r302rl2g9f4dbg6";
+    sha256 = "1isbyfs98bdbm2qjf7q4bqbpsmdiqlavn3gznwr12bkvhnsf4j3x";
   };
 
   # Required for bootstrap.
   vc = fetchFromGitHub {
     owner = "vlang";
     repo = "vc";
-    rev = "a298ad7069f6333ef8ab59a616654fc74e04c847";
-    sha256 = "168cgq6451hcgsxzyd8vq11g01642bs5kkwxqh6rz3rnc86ajic0";
+    rev = "167f262866090493650f58832d62d910999dd5a4";
+    sha256 = "1xax8355qkrccjcmx24gcab88xnrqj15mhqy0bgp3v2rb1hw1n3a";
   };
 
   # Required for vdoc.
@@ -27,11 +27,6 @@ stdenv.mkDerivation rec {
     sha256 = "0cawzizr3rjz81blpvxvxrcvcdai1adj66885ss390444qq1fnv7";
   };
 
-  # vcreate_test.v requires git, so we must disable it.
-  patches = [
-    ./disable_vcreate_test.patch
-  ];
-
   propagatedBuildInputs = [ glfw freetype openssl ]
     ++ lib.optional stdenv.hostPlatform.isUnix upx;
 
@@ -42,9 +37,16 @@ stdenv.mkDerivation rec {
     "VC=${vc}"
   ];
 
-  prePatch = ''
+  preBuild = ''
     export HOME=$(mktemp -d)
-    cp cmd/tools/vcreate_test.v $HOME/vcreate_test.v
+  '';
+
+  # vcreate_test.v requires git, so we must remove it when building the tools.
+  # vtest.v fails on Darwin, so let's just disable it for now.
+  preInstall = ''
+    mv cmd/tools/vcreate_test.v $HOME/vcreate_test.v
+  '' + lib.optionalString stdenv.isDarwin ''
+    mv cmd/tools/vtest.v $HOME/vtest.v
   '';
 
   installPhase = ''
@@ -64,12 +66,16 @@ stdenv.mkDerivation rec {
     $out/lib/v -v $out/lib/cmd/tools/vast
     $out/lib/v -v $out/lib/cmd/tools/vvet
 
-    # Return the pre-patch vcreate_test.v now that we no longer need the alteration.
-    cp $HOME/vcreate_test.v $out/lib/cmd/tools/vcreate_test.v
-
     runHook postInstall
   '';
 
+  # Return vcreate_test.v and vtest.v, so the user can use it.
+  postInstall = ''
+    cp $HOME/vcreate_test.v $out/lib/cmd/tools/vcreate_test.v
+  '' + lib.optionalString stdenv.isDarwin ''
+    cp $HOME/vtest.v $out/lib/cmd/tools/vtest.v
+  '';
+
   meta = with lib; {
     homepage = "https://vlang.io/";
     description = "Simple, fast, safe, compiled language for developing maintainable software";
diff --git a/pkgs/development/compilers/vlang/disable_vcreate_test.patch b/pkgs/development/compilers/vlang/disable_vcreate_test.patch
deleted file mode 100644
index 85ed867c83ec1..0000000000000
--- a/pkgs/development/compilers/vlang/disable_vcreate_test.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-diff --git a/cmd/tools/vcreate_test.v b/cmd/tools/vcreate_test.v
-index 3d07f4773..de8a202df 100644
---- a/cmd/tools/vcreate_test.v
-+++ b/cmd/tools/vcreate_test.v
-@@ -2,127 +2,6 @@ import os
- 
- const test_path = 'vcreate_test'
- 
--fn init_and_check() ? {
--	os.execute_or_exit('${os.quoted_path(@VEXE)} init')
--
--	assert os.read_file('vcreate_test.v') ? == [
--		'module main\n',
--		'fn main() {',
--		"	println('Hello World!')",
--		'}',
--		'',
--	].join_lines()
--
--	assert os.read_file('v.mod') ? == [
--		'Module {',
--		"	name: 'vcreate_test'",
--		"	description: ''",
--		"	version: ''",
--		"	license: ''",
--		'	dependencies: []',
--		'}',
--		'',
--	].join_lines()
--
--	assert os.read_file('.gitignore') ? == [
--		'# Binaries for programs and plugins',
--		'main',
--		'vcreate_test',
--		'*.exe',
--		'*.exe~',
--		'*.so',
--		'*.dylib',
--		'*.dll',
--		'vls.log',
--		'',
--	].join_lines()
--
--	assert os.read_file('.gitattributes') ? == [
--		'*.v linguist-language=V text=auto eol=lf',
--		'*.vv linguist-language=V text=auto eol=lf',
--		'*.vsh linguist-language=V text=auto eol=lf',
--		'**/v.mod linguist-language=V text=auto eol=lf',
--		'',
--	].join_lines()
--
--	assert os.read_file('.editorconfig') ? == [
--		'[*]',
--		'charset = utf-8',
--		'end_of_line = lf',
--		'insert_final_newline = true',
--		'trim_trailing_whitespace = true',
--		'',
--		'[*.v]',
--		'indent_style = tab',
--		'indent_size = 4',
--		'',
--	].join_lines()
--}
--
- fn test_v_init() ? {
--	dir := os.join_path(os.temp_dir(), test_path)
--	os.rmdir_all(dir) or {}
--	os.mkdir(dir) or {}
--	defer {
--		os.rmdir_all(dir) or {}
--	}
--	os.chdir(dir) ?
--
--	init_and_check() ?
--}
--
--fn test_v_init_in_git_dir() ? {
--	dir := os.join_path(os.temp_dir(), test_path)
--	os.rmdir_all(dir) or {}
--	os.mkdir(dir) or {}
--	defer {
--		os.rmdir_all(dir) or {}
--	}
--	os.chdir(dir) ?
--	os.execute_or_exit('git init .')
--	init_and_check() ?
--}
--
--fn test_v_init_no_overwrite_gitignore() ? {
--	dir := os.join_path(os.temp_dir(), test_path)
--	os.rmdir_all(dir) or {}
--	os.mkdir(dir) or {}
--	os.write_file('$dir/.gitignore', 'blah') ?
--	defer {
--		os.rmdir_all(dir) or {}
--	}
--	os.chdir(dir) ?
--
--	os.execute_or_exit('${os.quoted_path(@VEXE)} init')
--
--	assert os.read_file('.gitignore') ? == 'blah'
--}
--
--fn test_v_init_no_overwrite_gitattributes_and_editorconfig() ? {
--	git_attributes_content := '*.v linguist-language=V text=auto eol=lf'
--	editor_config_content := '[*]
--charset = utf-8
--end_of_line = lf
--insert_final_newline = true
--trim_trailing_whitespace = true
--
--[*.v]
--indent_style = tab
--indent_size = 4
--'
--
--	dir := os.join_path(os.temp_dir(), test_path)
--	os.rmdir_all(dir) or {}
--	os.mkdir(dir) or {}
--	os.write_file('$dir/.gitattributes', git_attributes_content) ?
--	os.write_file('$dir/.editorconfig', editor_config_content) ?
--	defer {
--		os.rmdir_all(dir) or {}
--	}
--	os.chdir(dir) ?
--
--	os.execute_or_exit('${os.quoted_path(@VEXE)} init')
--
--	assert os.read_file('.gitattributes') ? == git_attributes_content
--	assert os.read_file('.editorconfig') ? == editor_config_content
-+	println('vcreate_test disabled')
- }
diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix
index 4428d4dbba654..10ba3c559015a 100644
--- a/pkgs/development/compilers/yap/default.nix
+++ b/pkgs/development/compilers/yap/default.nix
@@ -13,7 +13,11 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-tabling=yes" ];
 
-  NIX_CFLAGS_COMPILE = "-fpermissive";
+  # -fcommon: workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: libYap.a(pl-dtoa.o):/build/yap-6.3.3/H/pl-yap.h:230: multiple definition of `ATOM_';
+  #     libYap.a(pl-buffer.o):/build/yap-6.3.3/H/pl-yap.h:230: first defined here
+  NIX_CFLAGS_COMPILE = "-fpermissive -fcommon";
 
   meta = {
     homepage = "http://www.dcc.fc.up.pt/~vsc/Yap/";
diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix
index b9257d415e57f..375fae5b074c5 100644
--- a/pkgs/development/coq-modules/interval/default.nix
+++ b/pkgs/development/coq-modules/interval/default.nix
@@ -6,12 +6,12 @@ mkCoqDerivation rec {
   domain = "gitlab.inria.fr";
   inherit version;
   defaultVersion = with lib.versions; lib.switch coq.coq-version [
-    { case = isGe "8.8"; out = "4.4.0"; }
+    { case = isGe "8.8"; out = "4.5.1"; }
     { case = range "8.8" "8.12"; out = "4.0.0"; }
     { case = range "8.7" "8.11"; out = "3.4.2"; }
     { case = range "8.5" "8.6";  out = "3.3.0"; }
   ] null;
-  release."4.4.0".sha256 = "sha256-0+9AatTIEsjul0RXoOw6zWGEbGDVmuy7XuyrZNBZ8Kk=";
+  release."4.5.1".sha256 = "sha256-5OxbSPdw/1FFENubulKSk6fEIEYSPCxfvMMgtgN6j6s=";
   release."4.3.0".sha256 = "sha256-k8DLC4HYYpHeEEgXUafS8jkaECqlM+/CoYaInmUTYko=";
   release."4.2.0".sha256 = "sha256-SD5thgpirs3wmZBICjXGpoefg9AAXyExb5t8tz3iZhE=";
   release."4.1.1".sha256 = "sha256-h2NJ6sZt1C/88v7W2xyuftEDoyRt3H6kqm5g2hc1aoU=";
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 109ab8b9fe8ff..49087791002ca 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -176,6 +176,15 @@ self: super: {
   vector = doJailbreak (if pkgs.stdenv.isi686 then appendConfigureFlag "--ghc-options=-msse2" super.vector else super.vector);
 
   inline-c-cpp = overrideCabal (drv: {
+    patches = drv.patches or [] ++ [
+      (fetchpatch {
+        # awaiting release >0.5.0.0
+        url = "https://github.com/fpco/inline-c/commit/e176b8e8c3c94e7d8289a8b7cc4ce8e737741730.patch";
+        name = "inline-c-cpp-pr-132-1.patch";
+        sha256 = "sha256-CdZXAT3Ar4KKDGyAUu8A7hzddKe5/AuMKoZSjt3o0UE=";
+        stripLen = 1;
+      })
+    ];
     postPatch = (drv.postPatch or "") + ''
       substituteInPlace inline-c-cpp.cabal --replace "-optc-std=c++11" ""
     '';
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index c6e0e6a2c053d..bab115ce64178 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -25,7 +25,7 @@ self: super:
   # GHCJS does not ship with the same core packages as GHC.
   # https://github.com/ghcjs/ghcjs/issues/676
   stm = doJailbreak self.stm_2_5_0_2;
-  exceptions = dontCheck self.exceptions_0_10_4;
+  exceptions = dontCheck self.exceptions_0_10_5;
 
 ## OTHER PACKAGES
 
diff --git a/pkgs/development/interpreters/bats/default.nix b/pkgs/development/interpreters/bats/default.nix
index 184d23b92b909..ef1a110f8e74c 100644
--- a/pkgs/development/interpreters/bats/default.nix
+++ b/pkgs/development/interpreters/bats/default.nix
@@ -18,13 +18,13 @@
 
 resholve.mkDerivation rec {
   pname = "bats";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "bats-core";
     repo = "bats-core";
     rev = "v${version}";
-    sha256 = "sha256-s+SAqX70WeTz6s5ObXYFBVPVUEqvD1d7AX2sGHkjVQ4=";
+    sha256 = "sha256-joNne/dDVCNtzdTQ64rK8GimT+DOWUa7f410hml2s8Q=";
   };
 
   patchPhase = ''
@@ -77,6 +77,8 @@ resholve.mkDerivation rec {
           "${placeholder "out"}/lib/bats-core/common.bash"
           "${placeholder "out"}/lib/bats-core/semaphore.bash"
           "${placeholder "out"}/lib/bats-core/formatter.bash"
+          "${placeholder "out"}/lib/bats-core/warnings.bash"
+          "$setup_suite_file" # via cli arg
         ];
         "$report_formatter" = true;
         "$formatter" = true;
@@ -105,6 +107,7 @@ resholve.mkDerivation rec {
 
   passthru.tests.upstream = bats.unresholved.overrideAttrs (old: {
     name = "${bats.name}-tests";
+    dontInstall = true; # just need the build directory
     installCheckInputs = [
       ncurses
       parallel # skips some tests if it can't detect
@@ -115,8 +118,6 @@ resholve.mkDerivation rec {
     installCheckPhase = ''
       # TODO: cut if https://github.com/bats-core/bats-core/issues/418 allows
       sed -i '/test works even if PATH is reset/a skip "disabled for nix build"' test/bats.bats
-      # TODO: cut when https://github.com/bats-core/bats-core/pull/554 allows
-      substituteInPlace test/parallel.bats --replace '&& type -p shlock' '|| type -p shlock'
 
       # skip tests that assume bats `install.sh` will be in BATS_ROOT
       rm test/root.bats
@@ -126,7 +127,6 @@ resholve.mkDerivation rec {
         "/usr/bin/env bash" "${bash}/bin/bash"
 
       ${bats}/bin/bats test
-      rm -rf $out
       touch $out
     '';
   });
diff --git a/pkgs/development/interpreters/j/default.nix b/pkgs/development/interpreters/j/default.nix
index e41d71ef960b8..7f35dcfc63597 100644
--- a/pkgs/development/interpreters/j/default.nix
+++ b/pkgs/development/interpreters/j/default.nix
@@ -1,82 +1,107 @@
-{ lib, stdenv, fetchFromGitHub, readline, libedit, bc
+{ lib
+, stdenv
+, fetchFromGitHub
+, bc
+, libedit
+, readline
 , avxSupport ? stdenv.hostPlatform.avxSupport
 }:
 
 stdenv.mkDerivation rec {
   pname = "j";
-  version = "902";
-  jtype = "release-b";
+  version = "904-beta-c";
+
   src = fetchFromGitHub {
+    name = "${pname}-source";
     owner = "jsoftware";
     repo = "jsource";
-    rev = "j${version}-${jtype}";
-    sha256 = "0j67vgikqflwjqacsdicasvyv1k54s2c8vjgwmf0ix7l41p4xqz0";
-    name = "jsource";
+    rev = "j${version}";
+    hash = "sha256-MzEO/saHEBl1JwVlFC6P2UKm9RZnV7KVrNd9h4cPV/w=";
   };
 
-  buildInputs = [ readline libedit bc ];
-  bits = if stdenv.is64bit then "64" else "32";
-  platform =
-    if (stdenv.isAarch32 || stdenv.isAarch64) then "raspberry" else
-    if stdenv.isLinux then "linux" else
-    if stdenv.isDarwin then "darwin" else
-    "unknown";
-  variant = if stdenv.isx86_64 && avxSupport then "avx" else "";
-
-  j64x="j${bits}${variant}";
-
-  doCheck = true;
-
-  # Causes build failure due to warning
-  hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
-
-  # Causes build failure due to warning
-  # https://github.com/jsoftware/jsource/issues/16
-  NIX_CFLAGS_COMPILE = "-Wno-error=return-local-addr";
+  buildInputs = [
+    readline
+    libedit
+    bc
+  ];
+
+  dontConfigure = true;
+
+  # emulating build_all.sh configuration variables
+  jplatform =
+    if stdenv.isDarwin then "darwin"
+    else if (stdenv.isAarch32 || stdenv.isAarch64) then "raspberry"
+    else if stdenv.isLinux then "linux"
+    else "unsupported";
+
+  j64x =
+    if stdenv.is32bit then "j32"
+    else if stdenv.isx86_64 then
+      if (stdenv.isLinux && avxSupport) then "j64avx" else "j64"
+    else if stdenv.isAarch64 then
+      if stdenv.isDarwin then "j64arm" else "j64"
+    else "unsupported";
 
   buildPhase = ''
-    export SOURCE_DIR=$(pwd)
-    export HOME=$TMPDIR
-    export JLIB=$SOURCE_DIR/jlibrary
+    runHook preBuild
 
-    echo $OUT_DIR
+    export SRCDIR=$(pwd)
+    export HOME=$TMPDIR
+    export JLIB=$SRCDIR/jlibrary
+    export CC=cc
 
     cd make2
 
     patchShebangs .
-    sed -i $JLIB/bin/profile.ijs -e "s@'/usr/share/j/.*'@'$out/share/j'@;"
 
-    j64x="${j64x}" ./build_all.sh
+    j64x="${j64x}" jplatform="${jplatform}" ./build_all.sh
 
-    cp $SOURCE_DIR/bin/${platform}/j${bits}*/* "$JLIB/bin"
+    cp -v $SRCDIR/bin/${jplatform}/${j64x}/* "$JLIB/bin"
+
+    runHook postBuild
   '';
 
+  doCheck = true;
+
   checkPhase = ''
+    runHook preCheck
 
-    echo 'i. 5' | $JLIB/bin/jconsole | fgrep "0 1 2 3 4"
+    echo "Smoke test"
+    echo 'i. 10' | $JLIB/bin/jconsole | fgrep "0 1 2 3 4 5 6 7 8 9"
 
     # Now run the real tests
-    cd $SOURCE_DIR/test
+    pushd $SRCDIR/test
     for f in *.ijs
     do
-      echo $f
+      echo -n "test $f: "
       $JLIB/bin/jconsole < $f > /dev/null || echo FAIL && echo PASS
     done
+    popd
+
+    runHook postCheck
   '';
 
   installPhase = ''
-    mkdir -p "$out"
+    runHook preInstall
 
-    mkdir -p "$out/share/j"
+    mkdir -p "$out/share/j/"
     cp -r $JLIB/{addons,system} "$out/share/j"
     cp -r $JLIB/bin "$out"
+
+    runHook postInstall
   '';
 
   meta = with lib; {
+    homepage = "http://jsoftware.com/";
     description = "J programming language, an ASCII-based APL successor";
-    maintainers = with maintainers; [ raskin synthetica ];
-    platforms = with platforms; linux ++ darwin;
+    longDescription = ''
+      J is a high-level, general-purpose programming language that is
+      particularly suited to the mathematical, statistical, and logical analysis
+      of data. It is a powerful tool for developing algorithms and exploring
+      problems that are not already well understood.
+    '';
     license = licenses.gpl3Plus;
-    homepage = "http://jsoftware.com/";
+    maintainers = with maintainers; [ raskin synthetica AndersonTorres ];
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/development/interpreters/spidermonkey/91.nix b/pkgs/development/interpreters/spidermonkey/91.nix
index c1e647deb7057..f1f5c7bb56a07 100644
--- a/pkgs/development/interpreters/spidermonkey/91.nix
+++ b/pkgs/development/interpreters/spidermonkey/91.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "spidermonkey";
-  version = "91.8.0";
+  version = "91.9.0";
 
   src = fetchurl {
     url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha512 = "edea2c7d4d3d0322091b20b623019ef041090d9f89f33c8e3140f66a54624261f278257393db70d2038154de8ee02da0bee6ecf85c281f3558338da71fc173c3";
+    sha512 = "fd69d489429052013d2c1b8b766a47920ecee62f0688505758f593b27ae66d6343b9107163749406251aedebdf836147e4d562415a811b04d7ab2ae31e32f133";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 1ce2b1525f07e..0112748695ee6 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -22,6 +22,7 @@
 , waylandSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
 , wayland
 , wayland-protocols
+, wayland-scanner
 , drmSupport ? stdenv.isLinux && !stdenv.hostPlatform.isAndroid
 , libdrm
 , mesa
@@ -76,9 +77,18 @@ stdenv.mkDerivation rec {
     ./find-headers.patch
   ];
 
+  postPatch = ''
+    # Fix running wayland-scanner for the build platform when cross-compiling.
+    # See comment here: https://github.com/libsdl-org/SDL/issues/4860#issuecomment-1119003545
+    substituteInPlace configure \
+      --replace '$(WAYLAND_SCANNER)' 'wayland-scanner'
+  '';
+
+  strictDeps = true;
+
   depsBuildBuild = [ pkg-config ];
 
-  nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland ];
+  nativeBuildInputs = [ pkg-config ] ++ optionals waylandSupport [ wayland wayland-scanner ];
 
   propagatedBuildInputs = dlopenPropagatedBuildInputs;
 
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index 08e6e5b0e41ba..ce3352b5751ed 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -1,36 +1,49 @@
-{ lib, stdenv, fetchurl, meson, ninja, gettext, pkg-config, glib
-, fixDarwinDylibNames, gobject-introspection, gnome
+{ stdenv
+, lib
+, fetchurl
+, meson
+, ninja
+, gettext
+, pkg-config
+, glib
+, fixDarwinDylibNames
+, gobject-introspection
+, gnome
 }:
 
-let
+stdenv.mkDerivation rec {
   pname = "atk";
-  version = "2.36.0";
-in
+  version = "2.38.0";
 
-stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
-    sha256 = "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv";
+    url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "rE3ipO9L1WZQUpUv4WllfmXolcUFff+zwqgQ9hkaDDY=";
   };
 
-  outputs = [ "out" "dev" ];
+  patches = [
+    # meson builds an incorrect .pc file
+    # glib should be Requires not Requires.private
+    ./fix_pc.patch
+  ];
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext gobject-introspection glib ]
-    ++ lib.optional stdenv.hostPlatform.isDarwin fixDarwinDylibNames;
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    gobject-introspection
+    glib
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    fixDarwinDylibNames
+  ];
 
   propagatedBuildInputs = [
     # Required by atk.pc
     glib
   ];
 
-  patches = [
-    # meson builds an incorrect .pc file
-    # glib should be Requires not Requires.private
-    ./fix_pc.patch
-  ];
-
   mesonFlags = [
     "-Dintrospection=${lib.boolToString (stdenv.buildPlatform == stdenv.hostPlatform)}"
   ];
@@ -55,7 +68,7 @@ stdenv.mkDerivation rec {
       control running applications.
     '';
 
-    homepage = "http://library.gnome.org/devel/atk/";
+    homepage = "https://gitlab.gnome.org/GNOME/atk";
 
     license = lib.licenses.lgpl2Plus;
 
diff --git a/pkgs/development/libraries/console-bridge/default.nix b/pkgs/development/libraries/console-bridge/default.nix
index e2370ecce647f..5c85bbd4a1968 100644
--- a/pkgs/development/libraries/console-bridge/default.nix
+++ b/pkgs/development/libraries/console-bridge/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "console-bridge";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "ros";
     repo = "console_bridge";
     rev = version;
-    sha256 = "18qycrjnf7v8n5bipij91jsv7ap98z5dsp93w2gz9rah4lfjb80q";
+    sha256 = "sha256-M3GocT0hodw3Sc2NHcFDiPVZ1XN7BqIUuYLW8OaXMqM=";
   };
 
   nativeBuildInputs = [ cmake validatePkgConfig ];
diff --git a/pkgs/development/libraries/cpp-ipfs-api/default.nix b/pkgs/development/libraries/cpp-ipfs-api/default.nix
deleted file mode 100644
index 315a477e72ad1..0000000000000
--- a/pkgs/development/libraries/cpp-ipfs-api/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, curl, cmake, nlohmann_json }:
-
-stdenv.mkDerivation {
-  pname = "cpp-ipfs-api";
-  version = "2017-01-04";
-
-  src = fetchFromGitHub {
-    owner = "vasild";
-    repo = "cpp-ipfs-api";
-    rev = "96a890f4518665a56581a2a52311eaa65928eac8";
-    sha256 = "1z6gbd7npg4pd9wmdyzcp9h12sg84d7a43c69pp4lzqkyqg8pz1g";
-  };
-
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ curl ];
-  propagatedBuildInputs = [ nlohmann_json ];
-
-  NIX_CFLAGS_COMPILE = [
-    "-Wno-error=range-loop-construct"
-  ];
-
-  meta = with lib; {
-    description = "IPFS C++ API client library";
-    homepage = "https://github.com/vasild/cpp-ipfs-api";
-    license = licenses.mit;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/cpp-ipfs-http-client/default.nix b/pkgs/development/libraries/cpp-ipfs-http-client/default.nix
new file mode 100644
index 0000000000000..44fcbe5463cb0
--- /dev/null
+++ b/pkgs/development/libraries/cpp-ipfs-http-client/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, curl, cmake, nlohmann_json }:
+
+stdenv.mkDerivation {
+  pname = "cpp-ipfs-http-client";
+  version = "unstable-2022-01-30";
+
+  src = fetchFromGitHub {
+    owner = "vasild";
+    repo = "cpp-ipfs-http-client";
+    rev = "3cdfa7fc6326e49fc81b3c7ca43ce83bdccef6d9";
+    sha256 = "sha256-/oyafnk4SbrvoCh90wkZXNBjknMKA6EEUoEGo/amLUo=";
+  };
+
+  patches = [ ./unvendor-nlohmann-json.patch ];
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace '# Fetch "JSON for Modern C++"' "include_directories(${nlohmann_json}/include)"
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ curl ];
+  propagatedBuildInputs = [ nlohmann_json ];
+
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-error=range-loop-construct"
+  ];
+
+  meta = with lib; {
+    description = "IPFS C++ API client library";
+    homepage = "https://github.com/vasild/cpp-ipfs-http-client";
+    license = licenses.mit;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/development/libraries/cpp-ipfs-http-client/unvendor-nlohmann-json.patch b/pkgs/development/libraries/cpp-ipfs-http-client/unvendor-nlohmann-json.patch
new file mode 100644
index 0000000000000..e21b4e9a7a71d
--- /dev/null
+++ b/pkgs/development/libraries/cpp-ipfs-http-client/unvendor-nlohmann-json.patch
@@ -0,0 +1,27 @@
+--- source/CMakeLists.txt
++++ source/CMakeLists.txt
+@@ -56,11 +56,6 @@ target_include_directories(${IPFS_API_LIBNAME}
+ )
+ 
+ # Fetch "JSON for Modern C++"
+-include(FetchContent)
+-message(STATUS "Fetching nlohmann/JSON")
+-# Retrieve Nlohmann JSON
+-FetchContent_Declare(json URL https://github.com/nlohmann/json/releases/download/v3.10.5/json.tar.xz)
+-FetchContent_MakeAvailable(json)
+ 
+ # libcurl requires additional libs only for static Windows builds
+ if(WIN32)
+@@ -71,12 +66,11 @@ set_target_properties(${IPFS_API_LIBNAME} PROPERTIES
+   SOVERSION ${PROJECT_VERSION_MAJOR}
+   VERSION ${PROJECT_VERSION}
+ )
+-target_link_libraries(${IPFS_API_LIBNAME} ${CURL_LIBRARIES} ${WINDOWS_CURL_LIBS} nlohmann_json::nlohmann_json)
++target_link_libraries(${IPFS_API_LIBNAME} ${CURL_LIBRARIES} ${WINDOWS_CURL_LIBS})
+ if(NOT DISABLE_INSTALL)
+   install(TARGETS ${IPFS_API_LIBNAME} DESTINATION lib)
+   install(FILES include/ipfs/client.h DESTINATION include/ipfs)
+   install(FILES include/ipfs/http/transport.h DESTINATION include/ipfs/http)
+-  install(FILES ${json_SOURCE_DIR}/include/nlohmann/json.hpp DESTINATION include/nlohmann)
+ endif()
+ # Tests, use "CTEST_OUTPUT_ON_FAILURE=1 make test" to see output from failed tests
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index 6e3a6ed5b305c..e785294924975 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -8,42 +8,26 @@
 , systemd
 , audit
 , libapparmor
-, libX11 ? null
-, libICE ? null
-, libSM ? null
-, x11Support ? (stdenv.isLinux || stdenv.isDarwin)
 , dbus
 , docbook_xml_dtd_44
 , docbook-xsl-nons
 , xmlto
 , autoreconfHook
 , autoconf-archive
+, x11Support ? (stdenv.isLinux || stdenv.isDarwin)
+, xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "dbus";
-  version = "1.12.20";
+  version = "1.14.0";
 
   src = fetchurl {
-    url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
-    sha256 = "1zp5gpx61v1cpqf2zwb1cidhp9xylvw49d3zydkxqk6b1qa20xpp";
+    url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.xz";
+    sha256 = "sha256-zNfM43WW4KGVWP1mSNEnKrQ/AR2AyGNa6o/QutWK69Q=";
   };
 
   patches = [
-    # 'generate.consistent.ids=1' ensures reproducible docs, for further details see
-    # http://docbook.sourceforge.net/release/xsl/current/doc/html/generate.consistent.ids.html
-    # Also applied upstream in https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/189,
-    # expected in version 1.14
-    ./docs-reproducible-ids.patch
-    # AC_PATH_XTRA doesn't seem to find X11 libs even though libX11 seems
-    # to provide valid pkg-config files. This replace AC_PATH_XTRA with
-    # PKG_CHECK_MODULES.
-    # MR merged cf https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/212/diffs?commit_id=23880a181e82ee7f
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/dbus/dbus/-/commit/6bfaea0707ba1a7788c4b6d30c18fb094f3a1dd4.patch";
-      sha256 = "1d8ay55n2ksw5faqx3hsdpfni3xl3gq9hnjl65073xcfnx67x8d2";
-    })
-
     # Fix dbus-daemon crashing when running tests due to long XDG_DATA_DIRS.
     # https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/302
     (fetchpatch {
@@ -68,6 +52,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "lib" "doc" "man" ];
 
+  strictDeps = true;
   nativeBuildInputs = [
     autoreconfHook
     autoconf-archive
@@ -82,11 +67,11 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs =
-    lib.optionals x11Support [
+    lib.optionals x11Support (with xorg; [
       libX11
       libICE
       libSM
-    ] ++ lib.optional enableSystemd systemd
+    ]) ++ lib.optional enableSystemd systemd
     ++ lib.optionals stdenv.isLinux [ audit libapparmor ];
   # ToDo: optional selinux?
 
@@ -104,7 +89,8 @@ stdenv.mkDerivation rec {
     "--with-systemdsystemunitdir=${placeholder "out"}/etc/systemd/system"
     "--with-systemduserunitdir=${placeholder "out"}/etc/systemd/user"
   ] ++ lib.optional (!x11Support) "--without-x"
-  ++ lib.optionals stdenv.isLinux [ "--enable-apparmor" "--enable-libaudit" ];
+  ++ lib.optionals stdenv.isLinux [ "--enable-apparmor" "--enable-libaudit" ]
+  ++ lib.optionals enableSystemd [ "SYSTEMCTL=${systemd}/bin/systemctl" ];
 
   NIX_CFLAGS_LINK = lib.optionalString (!stdenv.isDarwin) "-Wl,--as-needed";
 
diff --git a/pkgs/development/libraries/dbus/docs-reproducible-ids.patch b/pkgs/development/libraries/dbus/docs-reproducible-ids.patch
deleted file mode 100644
index 2356b64d95cfb..0000000000000
--- a/pkgs/development/libraries/dbus/docs-reproducible-ids.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --color -Naur dbus-1.12.20-original/doc/Makefile.in dbus-1.12.20-hacked2/doc/Makefile.in
---- dbus-1.12.20-original/doc/Makefile.in	2020-07-02 12:10:41.000000000 +0200
-+++ dbus-1.12.20-hacked2/doc/Makefile.in	2020-11-07 09:57:15.297694773 +0100
-@@ -870,8 +870,10 @@
- .PRECIOUS: Makefile
- 
- 
-+# 'generate.consistent.ids=1' ensures reproducible docs, for further details see
-+# http://docbook.sourceforge.net/release/xsl/current/doc/html/generate.consistent.ids.html
- @DBUS_XML_DOCS_ENABLED_TRUE@%.html: %.xml
--@DBUS_XML_DOCS_ENABLED_TRUE@	$(XMLTO) html-nochunks $<
-+@DBUS_XML_DOCS_ENABLED_TRUE@	$(XMLTO) --stringparam generate.consistent.ids=1 html-nochunks $<
- 
- @DBUS_XML_DOCS_ENABLED_TRUE@%.1: %.1.xml
- @DBUS_XML_DOCS_ENABLED_TRUE@	$(XMLTO) man $<
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index ea6d45e5dffc2..11a80987dcabc 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dlib";
-  version = "19.23";
+  version = "19.24";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "sha256-88vusoLEkjh3WRh/PxPtsVIFk85serRq2VxVcEus3IE=";
+    sha256 = "sha256-YhIjP9TIIyQF6lBj85gyVRIAAwgIodzh0ViQL8v2ACA=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index dfc194f1d4cda..c3fe3ba2ce76a 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     zstd
   ];
 
-  NIX_CFLAGS_COMPILE = [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" ];
+  NIX_CFLAGS_COMPILE = [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" "-fpermissive" ];
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
 
   meta = with lib; {
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/facebook/folly";
     license = licenses.asl20;
     # 32bit is not supported: https://github.com/facebook/folly/issues/103
-    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" "aarch64-linux" ];
     maintainers = with maintainers; [ abbradar pierreis ];
   };
 }
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 3549368fecbc8..3dae39b3c38a4 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fribidi";
-  version = "1.0.11";
+  version = "1.0.12";
 
   outputs = [ "out" "devdoc" ];
 
   # NOTE: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
   src = fetchurl {
     url = "https://github.com/fribidi/fribidi/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-MPk+nGPuYn0aLO3PWaw01FvzAkCYL5nkTG4BVGa05z0=";
+    sha256 = "sha256-DNIz+X/IxnuzrCfOhEDe9dP/rPUWdluRwsxlRJgpNJU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 22acc73c49c63..a1270af259cda 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, fetchpatch, libiconv, xz }:
+{ stdenv, lib, fetchurl, fetchpatch, libiconv, xz, bash }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -47,12 +47,14 @@ stdenv.mkDerivation rec {
     sed -i -e "s/\(libgettextsrc_la_LDFLAGS = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in
   '';
 
+  strictDeps = true;
   nativeBuildInputs = [
     xz
     xz.bin
   ];
+  buildInputs = [ bash ]
   # HACK, see #10874 (and 14664)
-  buildInputs = lib.optional (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) libiconv;
+    ++ lib.optionals (!stdenv.isLinux && !stdenv.hostPlatform.isCygwin) [ libiconv ];
 
   setupHooks = [
     ../../../build-support/setup-hooks/role.bash
diff --git a/pkgs/development/libraries/glibc/2.34-master.patch.gz b/pkgs/development/libraries/glibc/2.34-master.patch.gz
index 8fb02ca6d7217..b7aa7518c372e 100644
--- a/pkgs/development/libraries/glibc/2.34-master.patch.gz
+++ b/pkgs/development/libraries/glibc/2.34-master.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index bf77f6abaa351..91c3d55926a33 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -44,7 +44,7 @@
 
 let
   version = "2.34";
-  patchSuffix = "-115";
+  patchSuffix = "-210";
   sha256 = "sha256-RNJqH+ILiFOkj0cOrQHkJ56GmsFJsZXdpORKGV2YGrI=";
 in
 
@@ -63,7 +63,7 @@ stdenv.mkDerivation ({
     [
       /* No tarballs for stable upstream branch, only https://sourceware.org/git/glibc.git and using git would complicate bootstrapping.
           $ git fetch --all -p && git checkout origin/release/2.34/master && git describe
-          glibc-2.34-115-gd5d1c95aaf
+          glibc-2.34-210-ge123f08ad5
           $ git show --minimal --reverse glibc-2.34.. | gzip -9n --rsyncable - > 2.34-master.patch.gz
 
          To compare the archive contents zdiff can be used.
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index a6942445fc5fc..599e6586ea035 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -5,7 +5,6 @@
 , meson
 , ninja
 , gettext
-, gobject-introspection
 , python3
 , gstreamer
 , orc
@@ -37,6 +36,8 @@
 , enableCdparanoia ? (!stdenv.isDarwin)
 , cdparanoia
 , glib
+, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
     sha256 = "0162ly7pscymq6bsf1d5fva2k9s16zvfwyi1q6z4yfd97d0sdn4n";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [
     meson
     ninja
@@ -58,10 +60,11 @@ stdenv.mkDerivation rec {
     gettext
     orc
     glib
-    gobject-introspection
-
+    gstreamer
     # docs
     # TODO add hotdoc here
+  ] ++ lib.optionals withIntrospection [
+    gobject-introspection
   ] ++ lib.optional enableWayland wayland;
 
   buildInputs = [
@@ -88,6 +91,8 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals enableWayland [
     wayland
     wayland-protocols
+  ] ++ lib.optionals withIntrospection [
+    gobject-introspection
   ] ++ lib.optional enableCocoa Cocoa
     ++ lib.optional enableCdparanoia cdparanoia;
 
@@ -101,8 +106,8 @@ stdenv.mkDerivation rec {
     "-Dgl-graphene=disabled" # not packaged in nixpkgs as of writing
     # See https://github.com/GStreamer/gst-plugins-base/blob/d64a4b7a69c3462851ff4dcfa97cc6f94cd64aef/meson_options.txt#L15 for a list of choices
     "-Dgl_winsys=${lib.concatStringsSep "," (lib.optional enableX11 "x11" ++ lib.optional enableWayland "wayland" ++ lib.optional enableCocoa "cocoa")}"
+    "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
   ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    "-Dintrospection=disabled"
     "-Dtests=disabled"
   ]
   ++ lib.optional (!enableX11) "-Dx11=disabled"
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index dcb4fcaef93fc..c5f836f26a46e 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -4,7 +4,6 @@
 , ninja
 , pkg-config
 , gettext
-, gobject-introspection
 , bison
 , flex
 , python3
@@ -17,6 +16,8 @@
 , bash-completion
 , lib
 , CoreServices
+, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
+, gobject-introspection
 }:
 
 stdenv.mkDerivation rec {
@@ -37,6 +38,7 @@ stdenv.mkDerivation rec {
     sha256 = "0cghi6n4nhdbajz3wqcgbh5xm94myvnqgsi9g2bz9n1s9904l2fy";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [
     meson
     ninja
@@ -47,11 +49,14 @@ stdenv.mkDerivation rec {
     python3
     makeWrapper
     glib
-    gobject-introspection
     bash-completion
 
     # documentation
     # TODO add hotdoc here
+  ] ++ lib.optionals stdenv.isLinux [
+    libcap # for setcap binary
+  ] ++ lib.optionals withIntrospection [
+    gobject-introspection
   ];
 
   buildInputs = [
@@ -60,6 +65,8 @@ stdenv.mkDerivation rec {
     libcap
     libunwind
     elfutils
+  ] ++ lib.optionals withIntrospection [
+    gobject-introspection
   ] ++ lib.optionals stdenv.isDarwin [
     CoreServices
   ];
@@ -72,8 +79,7 @@ stdenv.mkDerivation rec {
     "-Ddbghelp=disabled" # not needed as we already provide libunwind and libdw, and dbghelp is a fallback to those
     "-Dexamples=disabled" # requires many dependencies and probably not useful for our users
     "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
-  ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
-    "-Dintrospection=disabled"
+    "-Dintrospection=${if withIntrospection then "enabled" else "disabled"}"
   ] ++ lib.optionals stdenv.isDarwin [
     # darwin.libunwind doesn't have pkg-config definitions so meson doesn't detect it.
     "-Dlibunwind=disabled"
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
index aff5b1ea3c183..146262a425822 100644
--- a/pkgs/development/libraries/http-parser/default.nix
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-error";
   patches = [
     ./build-shared.patch
+  ] ++ lib.optionals stdenv.isAarch32 [
     # https://github.com/nodejs/http-parser/pull/510
     (fetchpatch {
       url = "https://github.com/nodejs/http-parser/commit/4f15b7d510dc7c6361a26a7c6d2f7c3a17f8d878.patch";
diff --git a/pkgs/development/libraries/icu/59.nix b/pkgs/development/libraries/icu/59.nix
deleted file mode 100644
index 9ca66ca525fdd..0000000000000
--- a/pkgs/development/libraries/icu/59.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-import ./base.nix {
-  version = "59.1";
-  sha256 = "1zkmbg2932ggvpgjp8pys0cj6z8bw087y8858009shkrjfpzscki";
-}
diff --git a/pkgs/development/libraries/icu/65.nix b/pkgs/development/libraries/icu/65.nix
deleted file mode 100644
index c5074eea114d8..0000000000000
--- a/pkgs/development/libraries/icu/65.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-import ./base.nix {
-  version = "65.1";
-  sha256 = "0j6r6qqnhfr5iqkx53k63ifkm93kv1kkb7h2mlgd1mnnndk79qsk";
-}
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 86026bf50f457..cbdaf1da892d0 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib,
   extra-cmake-modules,
-  ilmbase, karchive, openexr, libavif, qtbase
+  ilmbase, karchive, openexr, libavif, libheif, qtbase
 }:
 
 let inherit (lib) getDev; in
@@ -10,9 +10,12 @@ mkDerivation {
   pname = "kimageformats";
 
   nativeBuildInputs = [ extra-cmake-modules ];
-  buildInputs = [ karchive openexr libavif qtbase ];
+  buildInputs = [ karchive openexr libavif libheif qtbase ];
   outputs = [ "out" ]; # plugins only
   CXXFLAGS = "-I${getDev ilmbase}/include/OpenEXR";
+  cmakeFlags = [
+    "-DKIMAGEFORMATS_HEIF=ON"
+  ];
 
   meta = with lib; {
     broken = versionOlder qtbase.version "5.14";
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index e1251b0e942c8..bbb11522dee51 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -19,11 +19,11 @@ in
 with lib;
 stdenv.mkDerivation rec {
   pname = "${type}krb5";
-  version = "1.19.2";
+  version = "1.19.3";
 
   src = fetchurl {
     url = "https://kerberos.org/dist/krb5/${versions.majorMinor version}/krb5-${version}.tar.gz";
-    sha256 = "0snz1jm2w4dkk65zcz953jmmv9mqa30fanch2bk8r3rs9vp3yi8h";
+    sha256 = "1l6wp58zav37g03n2ig5qr0pslz38gh5cxgigbmxkjfxrxilil2n";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 8c8e47b98a4d9..b8f6aac0b3884 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libbsd";
-  version = "0.11.5";
+  version = "0.11.6";
 
   src = fetchurl {
     url = "https://libbsd.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-GpyVJSVjXBu2dwyyLpabk42Oap15EjYrmO6DcFmbDv0=";
+    sha256 = "sha256-GbOPMXLq9pPm4caHFGNhkMfkiFHkUiTXILO1vASZtd8=";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libclc/default.nix b/pkgs/development/libraries/libclc/default.nix
index c634892944ca7..3f6e12291a393 100644
--- a/pkgs/development/libraries/libclc/default.nix
+++ b/pkgs/development/libraries/libclc/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, ninja, cmake, python3, llvmPackages }:
+{ lib, stdenv, fetchFromGitHub, ninja, cmake, python3, llvmPackages, spirv-llvm-translator }:
 
 let
   llvm = llvmPackages.llvm;
@@ -7,13 +7,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "libclc";
-  version = "11.0.1";
+  version = "12.0.1";
 
   src = fetchFromGitHub {
     owner = "llvm";
     repo = "llvm-project";
     rev = "llvmorg-${version}";
-    sha256 = "0bxh43hp1vl4axl3s9n2nb2ii8x1cbq98xz9c996f8rl5jy84ags";
+    sha256 = "08s5w2db9imb2yaqsvxs6pg21csi1cf6wa35rf8x6q07mam7j8qv";
   };
   sourceRoot = "source/libclc";
 
@@ -21,10 +21,12 @@ stdenv.mkDerivation rec {
   postPatch = ''
     substituteInPlace CMakeLists.txt \
       --replace 'find_program( LLVM_CLANG clang PATHS ''${LLVM_BINDIR} NO_DEFAULT_PATH )' \
-                'find_program( LLVM_CLANG clang PATHS "${clang-unwrapped}/bin" NO_DEFAULT_PATH )'
+                'find_program( LLVM_CLANG clang PATHS "${clang-unwrapped}/bin" NO_DEFAULT_PATH )' \
+      --replace 'find_program( LLVM_SPIRV llvm-spirv PATHS ''${LLVM_BINDIR} NO_DEFAULT_PATH )' \
+                'find_program( LLVM_SPIRV llvm-spirv PATHS "${spirv-llvm-translator}/bin" NO_DEFAULT_PATH )'
   '';
 
-  nativeBuildInputs = [ cmake ninja python3 ];
+  nativeBuildInputs = [ cmake ninja python3 spirv-llvm-translator ];
   buildInputs = [ llvm clang-unwrapped ];
   strictDeps = true;
   cmakeFlags = [
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index 462434f9839e0..2e12c3261667b 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.80.0";
+  version = "1.82.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-4b2tf7QmLQ5ltnkxUGCwA1TZSQRoyKaRGcxBxbSKDaE=";
+    hash = "sha256-cc5DFQucG1b+1QN0HTJLKAfCF3UvRunL07d4WdT6368=";
   };
 
   patches = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-t1/xztmiuJMqNkIe7cBzO7MaZQb6GtnIX5wxEpC+IFo=";
+    hash = "sha256-WYjTpHTYJGqvsUI8De6+tGgjYY1nKqPyfKP9IdZfrNY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libfpx/default.nix b/pkgs/development/libraries/libfpx/default.nix
index 589c08399a702..963c93ffc592e 100644
--- a/pkgs/development/libraries/libfpx/default.nix
+++ b/pkgs/development/libraries/libfpx/default.nix
@@ -17,13 +17,15 @@ stdenv.mkDerivation rec {
       url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/libfpx/files/libfpx-1.3.1_p6-gcc6.patch?id=f28a947813dbc0a1fd1a8d4a712d58a64c48ca01";
       sha256 = "032y8110zgnkdhkdq3745zk53am1x34d912rai8q70k3sskyq22p";
     })
+    # Pull upstream fix for -fno-common:
+    #  https://github.com/ImageMagick/libfpx/pull/1
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/ImageMagick/libfpx/commit/c32b340581ba6c88c5092f374f655c7579b598a6.patch";
+      sha256 = "1gbc0qb2ri1mj9r66wx0yn28fsr7zhhlyz2mwbica8wh34xijgz9";
+    })
   ];
 
-  # This dead code causes a duplicate symbol error in Clang so just remove it
-  postPatch = if stdenv.cc.isClang then ''
-    substituteInPlace jpeg/ejpeg.h --replace "int No_JPEG_Header_Flag" ""
-  '' else null;
-
   meta = with lib; {
     homepage = "http://www.imagemagick.org";
     description = "A library for manipulating FlashPIX images";
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 77c595c9184a8..02c02b607e5cd 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -13,7 +13,7 @@
 , python3
 , tzdata
 , fixDarwinDylibNames
-, introspectionSupport ? stdenv.buildPlatform == stdenv.hostPlatform
+, withIntrospection ? stdenv.buildPlatform == stdenv.hostPlatform
 , gobject-introspection
 , vala
 }:
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-gZ6IBjG5pNKJ+hWcTzXMP7yxL4he4LTklZGoC9vXra8=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [
     cmake
     ninja
@@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     # provides ical-glib-src-generator that runs during build
     libical
-  ] ++ lib.optionals introspectionSupport [
+  ] ++ lib.optionals withIntrospection [
     gobject-introspection
     vala
   ] ++ lib.optionals stdenv.isDarwin [
@@ -60,13 +61,14 @@ stdenv.mkDerivation rec {
     glib
     libxml2
     icu
+  ] ++ lib.optionals withIntrospection [
+    gobject-introspection
   ];
 
   cmakeFlags = [
     "-DENABLE_GTK_DOC=False"
-  ] ++ lib.optionals introspectionSupport [
-    "-DGOBJECT_INTROSPECTION=True"
-    "-DICAL_GLIB_VAPI=True"
+    "-DGOBJECT_INTROSPECTION=${if withIntrospection then "True" else "False"}"
+    "-DICAL_GLIB_VAPI=${if withIntrospection then "True" else "False"}"
   ] ++ lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
     "-DIMPORT_ICAL_GLIB_SRC_GENERATOR=${lib.getDev buildPackages.libical}/lib/cmake/LibIcal/IcalGlibSrcGenerator.cmake"
   ];
diff --git a/pkgs/development/libraries/libnih/default.nix b/pkgs/development/libraries/libnih/default.nix
deleted file mode 100644
index fbe01bf4062d2..0000000000000
--- a/pkgs/development/libraries/libnih/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchurl, pkg-config, dbus, expat }:
-
-let version = "1.0.3"; in
-
-stdenv.mkDerivation {
-  pname = "libnih";
-  inherit version;
-
-  src = fetchurl {
-    url = "https://code.launchpad.net/libnih/1.0/${version}/+download/libnih-${version}.tar.gz";
-    sha256 = "01glc6y7z1g726zwpvp2zm79pyb37ki729jkh45akh35fpgp4xc9";
-  };
-
-  nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ dbus expat ];
-
-  doCheck = false; # fails 1 of 17 test
-
-  meta = {
-    description = "A small library for C application development";
-    homepage = "https://launchpad.net/libnih";
-    license = lib.licenses.gpl2;
-    platforms = lib.platforms.linux;
-  };
-}
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index de3f2141c2e49..5cf79781a7d01 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libnotify";
-  version = "0.7.11";
+  version = "0.7.12";
 
   outputs = [ "out" "man" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "3VaC7GgiAznhHFFZt+ASIEoxjdGzaDoJxILKQhqwc3U=";
+    sha256 = "dEsrN1CBNfgmG3Vanevm4JrdQhrcdb3pMPbhmLcKtG4=";
   };
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/libwpe/default.nix b/pkgs/development/libraries/libwpe/default.nix
index 66de5847d78e1..18134f18d9924 100644
--- a/pkgs/development/libraries/libwpe/default.nix
+++ b/pkgs/development/libraries/libwpe/default.nix
@@ -6,7 +6,9 @@
 , libxkbcommon
 , libGL
 , ninja
-, libX11 }:
+, libX11
+, webkitgtk
+}:
 
 stdenv.mkDerivation rec {
   pname = "libwpe";
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
     description = "General-purpose library for WPE WebKit";
     license = licenses.bsd2;
     homepage = "https://wpewebkit.org";
-    maintainers = with maintainers; [ matthewbauer ];
+    maintainers = webkitgtk.meta.maintainers ++ (with maintainers; [ matthewbauer ]);
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libwpe/fdo.nix b/pkgs/development/libraries/libwpe/fdo.nix
index a711fab631435..df6a57d2d7f78 100644
--- a/pkgs/development/libraries/libwpe/fdo.nix
+++ b/pkgs/development/libraries/libwpe/fdo.nix
@@ -10,7 +10,9 @@
 , libwpe
 , libxkbcommon
 , libGL
-, libX11 }:
+, libX11
+, webkitgtk
+ }:
 
 stdenv.mkDerivation rec {
   pname = "wpebackend-fdo";
@@ -46,7 +48,7 @@ stdenv.mkDerivation rec {
     description = "Freedesktop.org backend for WPE WebKit";
     license = licenses.bsd2;
     homepage = "https://wpewebkit.org";
-    maintainers = with maintainers; [ matthewbauer ];
+    maintainers = webkitgtk.meta.maintainers ++ (with maintainers; [ matthewbauer ]);
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/opensaml-cpp/default.nix b/pkgs/development/libraries/opensaml-cpp/default.nix
index 4f83f22856e34..1f4ad96c2977b 100644
--- a/pkgs/development/libraries/opensaml-cpp/default.nix
+++ b/pkgs/development/libraries/opensaml-cpp/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-xmltooling=${xml-tooling-c}" ];
 
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 26a89fe47a413..a0506dda1f694 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -7,6 +7,7 @@
 # This will cause c_rehash to refer to perl via the environment, but otherwise
 # will produce a perfectly functional openssl binary and library.
 , withPerl ? stdenv.hostPlatform == stdenv.buildPlatform
+, removeReferencesTo
 }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
@@ -112,7 +113,11 @@ let
       # OpenSSL needs a specific `no-shared` configure flag.
       # See https://wiki.openssl.org/index.php/Compilation_and_Installation#Configure_Options
       # for a comprehensive list of configuration options.
-      ++ lib.optional (lib.versionAtLeast version "1.1.0" && static) "no-shared";
+      ++ lib.optional (lib.versionAtLeast version "1.1.0" && static) "no-shared"
+      # This introduces a reference to the CTLOG_FILE which is undesired when
+      # trying to build binaries statically.
+      ++ lib.optional static "no-ct"
+      ;
 
     makeFlags = [
       "MANDIR=$(man)/share/man"
@@ -126,13 +131,16 @@ let
     enableParallelBuilding = true;
 
     postInstall =
-    lib.optionalString (!static) ''
+    (if static then ''
+      # OPENSSLDIR has a reference to self
+      ${removeReferencesTo}/bin/remove-references-to -t $out $out/lib/*.a
+    '' else ''
       # If we're building dynamic libraries, then don't install static
       # libraries.
       if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
           rm "$out/lib/"*.a
       fi
-    '' + lib.optionalString (!stdenv.hostPlatform.isWindows)
+    '') + lib.optionalString (!stdenv.hostPlatform.isWindows)
       # Fix bin/c_rehash's perl interpreter line
       #
       # - openssl 1_0_2: embeds a reference to buildPackages.perl
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index ee79d53705945..13dd24b548283 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -24,14 +24,14 @@
 
 stdenv.mkDerivation rec {
   pname = "pango";
-  version = "1.50.6";
+  version = "1.50.7";
 
   outputs = [ "bin" "out" "dev" ]
     ++ lib.optionals withDocs [ "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "qZi882iBw6wgSV1AvOswT06qkXW9KWfIVlZDTL2v6Go=";
+    sha256 = "BHfzaaPUxpXfcpmmmJ3ABHVqf03ifuysQFxnkLfjrTM=";
   };
 
   strictDeps = !withIntrospection;
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
index ee99ab5de6f73..c4aab614915c2 100644
--- a/pkgs/development/libraries/podofo/default.nix
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -3,12 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.7";
+  version = "0.9.8";
   pname = "podofo";
 
   src = fetchurl {
     url = "mirror://sourceforge/podofo/${pname}-${version}.tar.gz";
-    sha256 = "1f0yvkx6nf99fp741w2y706d8bs9824x1z2gqm3rdy5fv8bfgwkw";
+    sha256 = "sha256-XeYH4V8ZK4rZBzgwB1nYjeoPXM3OO/AASKDJMrxkUVQ=";
   };
 
   outputs = [ "out" "dev" "lib" ];
diff --git a/pkgs/development/libraries/precice/default.nix b/pkgs/development/libraries/precice/default.nix
index e700a5f9f11b2..60c026b360049 100644
--- a/pkgs/development/libraries/precice/default.nix
+++ b/pkgs/development/libraries/precice/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "precice";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchFromGitHub {
     owner = "precice";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256:0p8d2xf4bl41b30yp38sqyp4fipwgcdhl0khxcv5g69fxvz2i2il";
+    sha256 = "0qmwdxpbmy4dvjxav3dls18qns734j0yfvxvjrh1nnkk36qhfp3q";
   };
 
   cmakeFlags = [
diff --git a/pkgs/development/libraries/prometheus-client-c/default.nix b/pkgs/development/libraries/prometheus-client-c/default.nix
index 9b18b25c72684..938d16d3776e9 100644
--- a/pkgs/development/libraries/prometheus-client-c/default.nix
+++ b/pkgs/development/libraries/prometheus-client-c/default.nix
@@ -43,6 +43,13 @@ let
         )
       ];
 
+      # Workaround build failure on -fno-common toolchains like upstream
+      # gcc-10. Otherwise build fails as:
+      #   ld: CMakeFiles/prom.dir/src/prom_process_stat.c.o:(.bss+0x0): multiple definition of
+      #     `prom_process_start_time_seconds'; CMakeFiles/prom.dir/src/prom_collector.c.o:(.bss+0x0): first defined here
+      # Should be fixed in 1.2.0 and later: https://github.com/digitalocean/prometheus-client-c/pull/25
+      NIX_CFLAGS_COMPILE = "-fcommon";
+
       preConfigure = ''
         cd ${subdir}
       '';
diff --git a/pkgs/development/libraries/qtmpris/default.nix b/pkgs/development/libraries/qtmpris/default.nix
new file mode 100644
index 0000000000000..ef595efa731d3
--- /dev/null
+++ b/pkgs/development/libraries/qtmpris/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, qmake
+, qtbase
+}:
+
+mkDerivation rec {
+  pname = "qtmpris";
+  version = "1.0.6";
+
+  src = fetchFromGitHub {
+    owner = "sailfishos";
+    repo = "qtmpris";
+    rev = version;
+    hash = "sha256-kuM8hUdsa7N+eLDbwYw3ay+PWxg35zcTBOvGow1NlzI=";
+  };
+
+  postPatch = ''
+    substituteInPlace src/src.pro \
+      --replace '$$[QT_INSTALL_LIBS]'    "$out/lib" \
+      --replace '$$[QT_INSTALL_HEADERS]' "$out/include" \
+      --replace '$$[QMAKE_MKSPECS]'      "$out/mkspecs"
+  '';
+
+  nativeBuildInputs = [
+    qmake
+  ];
+
+  buildInputs = [
+    qtbase
+  ];
+
+  meta = {
+    description = "Qt and QML MPRIS interface and adaptor";
+    homepage = "https://github.com/sailfishos/qtmpris";
+    license = lib.licenses.lgpl21Plus;
+    maintainers = with lib.maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/libraries/rtrlib/default.nix b/pkgs/development/libraries/rtrlib/default.nix
new file mode 100644
index 0000000000000..bb0aec308ae83
--- /dev/null
+++ b/pkgs/development/libraries/rtrlib/default.nix
@@ -0,0 +1,24 @@
+{ lib, fetchFromGitHub, stdenv, cmake, libssh, openssl }:
+
+stdenv.mkDerivation rec {
+  pname = "rtrlib";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "rtrlib";
+    rev = "v${version}";
+    sha256 = "sha256-ISb4ojcDvXY/88GbFMrA5V5+SGE6CmE5D+pokDTwotQ=";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libssh openssl ];
+
+  meta = with lib; {
+    description = "An open-source C implementation of the RPKI/Router Protocol client";
+    homepage = "https://github.com/rtrlib/rtrlib";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Anillc ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/lrs/default.nix b/pkgs/development/libraries/science/math/lrs/default.nix
index 063fead11650f..ae5beb0f09e6f 100644
--- a/pkgs/development/libraries/science/math/lrs/default.nix
+++ b/pkgs/development/libraries/science/math/lrs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lrs";
-  version = "7.0";
+  version = "7.2";
 
   src = fetchurl {
-    url = "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-070.tar.gz";
-    sha256 = "1zjdmkjracz695k73c2pvipc0skpyn1wzagkhilsvcw9pqljpwg9";
+    url = "http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/lrslib-072.tar.gz";
+    sha256 = "1w1jsnfgny8cihndr5gfm99pvwp48qsvxkqfsi2q87gd3m57aj7w";
   };
 
   buildInputs = [ gmp ];
diff --git a/pkgs/development/libraries/sealcurses/default.nix b/pkgs/development/libraries/sealcurses/default.nix
index 21ee2a782a2f6..bde530dd9d752 100644
--- a/pkgs/development/libraries/sealcurses/default.nix
+++ b/pkgs/development/libraries/sealcurses/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sealcurses";
-  version = "unstable-2022-04-28"; # No release yet
+  version = "unstable-2022-05-18"; # No release yet
 
   src = fetchFromGitea {
     domain = "git.skyjake.fi";
     owner = "skyjake";
     repo = pname;
-    rev = "abf27cfd2567a0765aaa115cabab0abb7f862253";
-    hash = "sha256-c4zi/orHyr1hkuEisqZ9V8SaiH1IoxIbeGMrLBEkZ0A=";
+    rev = "417d77d790ede990b4c149f21c58fd13b8f273cc";
+    hash = "sha256-yOrJYy9vBv5n8yK6u7tfMq56LBBw5rmhUjORINW8gxo=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/shibboleth-sp/default.nix b/pkgs/development/libraries/shibboleth-sp/default.nix
index f3b80c0b548f9..5dd997352f139 100644
--- a/pkgs/development/libraries/shibboleth-sp/default.nix
+++ b/pkgs/development/libraries/shibboleth-sp/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
     "--with-fastcgi"
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 726ccff02bb9a..7677406874a52 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -12,13 +12,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "sqlite${optionalString interactive "-interactive"}";
-  version = "3.38.3";
+  version = "3.38.5";
 
   # nixpkgs-update: no auto update
   # NB! Make sure to update ./tools.nix src (in the same directory).
   src = fetchurl {
     url = "https://sqlite.org/2022/sqlite-autoconf-${archiveVersion version}.tar.gz";
-    sha256 = "sha256-YfLdk6LjjDNGi3EllnwyGL+fTdg2Xe9gJeMU+QXclC4=";
+    sha256 = "sha256-WvB96YK6ZY/ZGgMXDJRfmclx9pVbx53zJmVENz45hpw=";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/sqlite/tools.nix b/pkgs/development/libraries/sqlite/tools.nix
index d112515c8e9e3..b804fcbfd6589 100644
--- a/pkgs/development/libraries/sqlite/tools.nix
+++ b/pkgs/development/libraries/sqlite/tools.nix
@@ -4,12 +4,12 @@ let
   archiveVersion = import ./archive-version.nix lib;
   mkTool = { pname, makeTarget, description, homepage, mainProgram }: stdenv.mkDerivation rec {
     inherit pname;
-    version = "3.38.3";
+    version = "3.38.5";
 
     # nixpkgs-update: no auto update
     src = assert version == sqlite.version; fetchurl {
       url = "https://sqlite.org/2022/sqlite-src-${archiveVersion version}.zip";
-      sha256 = "sha256-oQTUk+CEAGvXT/H/esLrKzh8fAo7Y7pv6i+vtBGDE68=";
+      sha256 = "sha256-ZQO7WeOeyGYwg2lpQOyBjNVVUZbmylQ9QClEDMp7ANk=";
     };
 
     nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index 7306243bca9d3..2ecf7729f4bfe 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -20,6 +20,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkg-config ];
 
+  # use C++14 Standard until error handling code gets updated upstream
+  CXXFLAGS = [ "-std=c++14" ];
+
   # disable flaky networking test
   postPatch = ''
     substituteInPlace test/stream.cpp \
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index 2359625a4f7c5..d111ee8ed0bf1 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -19,6 +19,8 @@
 , gtk3
 , wayland
 , libwebp
+, libwpe
+, libwpe-fdo
 , enchant2
 , xorg
 , libxkbcommon
@@ -65,7 +67,7 @@
 
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.36.1";
+  version = "2.36.2";
 
   outputs = [ "out" "dev" ];
 
@@ -73,7 +75,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-AUnqX7HSDyqZgWd9RclSoEczAAHqJKjcKQNSOfEsDI8=";
+    sha256 = "/pO920oCwONvkm77boHSiv0oi4gk9sXPanXPQCKOAI4=";
   };
 
   patches = lib.optionals stdenv.isLinux [
@@ -82,7 +84,15 @@ stdenv.mkDerivation rec {
       inherit (builtins) storeDir;
       inherit (addOpenGLRunpath) driverLink;
     })
+
     ./libglvnd-headers.patch
+
+    # Hardcode path to WPE backend
+    # https://github.com/NixOS/nixpkgs/issues/110468
+    (substituteAll {
+      src = ./fdo-backend-path.patch;
+      wpebackend_fdo = libwpe-fdo;
+    })
   ];
 
   preConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
@@ -160,6 +170,8 @@ stdenv.mkDerivation rec {
     libseccomp
     libmanette
     wayland
+    libwpe
+    libwpe-fdo
     xdg-dbus-proxy
   ] ++ lib.optionals systemdSupport [
     systemd
@@ -180,7 +192,6 @@ stdenv.mkDerivation rec {
     "-DENABLE_INTROSPECTION=ON"
     "-DPORT=GTK"
     "-DUSE_LIBHYPHEN=OFF"
-    "-DUSE_WPE_RENDERER=OFF"
     "-DUSE_SOUP2=${cmakeBool (lib.versions.major libsoup.version == "2")}"
     "-DUSE_LIBSECRET=${cmakeBool withLibsecret}"
   ] ++ lib.optionals stdenv.isDarwin [
diff --git a/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch b/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch
new file mode 100644
index 0000000000000..9ddef67f1c1de
--- /dev/null
+++ b/pkgs/development/libraries/webkitgtk/fdo-backend-path.patch
@@ -0,0 +1,11 @@
+--- a/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
++++ b/Source/WebKit/UIProcess/glib/WebProcessPoolGLib.cpp
+@@ -89,7 +89,7 @@
+ #if PLATFORM(WAYLAND)
+     if (WebCore::PlatformDisplay::sharedDisplay().type() == WebCore::PlatformDisplay::Type::Wayland) {
+ #if USE(WPE_RENDERER)
+-        wpe_loader_init("libWPEBackend-fdo-1.0.so.1");
++        wpe_loader_init("@wpebackend_fdo@/lib/libWPEBackend-fdo-1.0.so.1");
+         if (AcceleratedBackingStoreWayland::checkRequirements()) {
+             parameters.hostClientFileDescriptor = IPC::Attachment(UnixFileDescriptor(wpe_renderer_host_create_client(), UnixFileDescriptor::Adopt));
+             parameters.implementationLibraryName = FileSystem::fileSystemRepresentation(String::fromLatin1(wpe_loader_get_loaded_implementation_library_name()));
diff --git a/pkgs/development/libraries/xdg-dbus-proxy/default.nix b/pkgs/development/libraries/xdg-dbus-proxy/default.nix
index 95373934a47a6..b027c95a7e4bc 100644
--- a/pkgs/development/libraries/xdg-dbus-proxy/default.nix
+++ b/pkgs/development/libraries/xdg-dbus-proxy/default.nix
@@ -1,8 +1,11 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, meson
+, ninja
 , pkg-config
 , libxslt
-, docbook_xsl
+, docbook-xsl-nons
 , docbook_xml_dtd_43
 , dbus
 , glib
@@ -10,17 +13,19 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-dbus-proxy";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchurl {
     url = "https://github.com/flatpak/xdg-dbus-proxy/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-A7XSjKh5JT3bvOMQmJCb7MoUleqBGmN3pJLijxbAm5s=";
+    sha256 = "sha256-HsDqtT0eSZZtciNSvP1RrEAtzlGQuu3HSahUHnYWcKs=";
   };
 
   nativeBuildInputs = [
+    meson
+    ninja
     pkg-config
     libxslt
-    docbook_xsl
+    docbook-xsl-nons
     docbook_xml_dtd_43
   ];
 
@@ -32,10 +37,6 @@ stdenv.mkDerivation rec {
     dbus
   ];
 
-  configureFlags = [
-    "--enable-man"
-  ];
-
   # dbus[2345]: Failed to start message bus: Failed to open "/etc/dbus-1/session.conf": No such file or directory
   doCheck = false;
 
diff --git a/pkgs/development/libraries/xml-tooling-c/default.nix b/pkgs/development/libraries/xml-tooling-c/default.nix
index 9cf3ddb92190b..39e25241c9430 100644
--- a/pkgs/development/libraries/xml-tooling-c/default.nix
+++ b/pkgs/development/libraries/xml-tooling-c/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ boost curl openssl log4shib xercesc xml-security-c ];
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
+  NIX_CFLAGS_COMPILE = [ "-std=c++14" ];
+
   enableParallelBuilding = true;
 
   meta = with lib; {
diff --git a/pkgs/development/node-packages/main-programs.nix b/pkgs/development/node-packages/main-programs.nix
index bb9498a4cc96e..8a4b390d65bca 100644
--- a/pkgs/development/node-packages/main-programs.nix
+++ b/pkgs/development/node-packages/main-programs.nix
@@ -2,7 +2,13 @@
 # executable that matches that packages name, so that they'll work with `nix run`.
 {
   # Packages that provide multiple executables where one is clearly the `mainProgram`.
+  "@antfu/ni" = "ni";
+  "@electron-forge/cli" = "electron-forge";
+  "@squoosh/cli" = "squoosh-cli";
+  "@webassemblyjs/cli" = "wasm2wast";
+  coffee-script = "coffee";
   typescript = "tsc";
+  vue-cli = "vue";
 
   # Packages that provide a single executable whose name differs from the package's `name`.
   "@angular/cli" = "ng";
diff --git a/pkgs/development/ocaml-modules/atdgen/default.nix b/pkgs/development/ocaml-modules/atdgen/default.nix
index f35e6617a9bdb..807276d31b216 100644
--- a/pkgs/development/ocaml-modules/atdgen/default.nix
+++ b/pkgs/development/ocaml-modules/atdgen/default.nix
@@ -11,7 +11,7 @@ buildDunePackage {
   doCheck = true;
   checkInputs = [ alcotest atdgen-codec-runtime ];
 
-  meta = atd.meta // {
+  meta = (builtins.removeAttrs atd.meta [ "mainProgram" ]) // {
     description = "Generates efficient JSON serializers, deserializers and validators";
   };
 }
diff --git a/pkgs/development/ocaml-modules/awa/default.nix b/pkgs/development/ocaml-modules/awa/default.nix
index eba150e340238..9795b24350c99 100644
--- a/pkgs/development/ocaml-modules/awa/default.nix
+++ b/pkgs/development/ocaml-modules/awa/default.nix
@@ -36,6 +36,5 @@ buildDunePackage rec {
     changelog = "https://github.com/mirage/awa-ssh/raw/v${version}/CHANGES.md";
     license = licenses.isc;
     maintainers = [ maintainers.sternenseemann ];
-    mainProgram = "awa_lwt_server";
   };
 }
diff --git a/pkgs/development/ocaml-modules/awa/lwt.nix b/pkgs/development/ocaml-modules/awa/lwt.nix
index 00be799ddff28..9f32d9571f734 100644
--- a/pkgs/development/ocaml-modules/awa/lwt.nix
+++ b/pkgs/development/ocaml-modules/awa/lwt.nix
@@ -11,5 +11,5 @@ buildDunePackage {
     awa cstruct mtime lwt cstruct-unix mirage-crypto-rng
   ];
 
-  inherit (awa) meta;
+  meta = awa.meta // { mainProgram = "awa_lwt_server"; };
 }
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index 5228727727658..4f87715a74ad9 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -75,7 +75,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Platform for binary analysis. It is written in OCaml, but can be used from other languages.";
     homepage = "https://github.com/BinaryAnalysisPlatform/bap/";
-    maintainers = [ maintainers.maurer ];
     license = licenses.mit;
+    maintainers = [ maintainers.maurer ];
+    mainProgram = "bap";
   };
 }
diff --git a/pkgs/development/ocaml-modules/dns/cli.nix b/pkgs/development/ocaml-modules/dns/cli.nix
index 6e149180642d5..f9fc8e21d2b40 100644
--- a/pkgs/development/ocaml-modules/dns/cli.nix
+++ b/pkgs/development/ocaml-modules/dns/cli.nix
@@ -44,5 +44,6 @@ buildDunePackage {
 
   meta = dns.meta // {
     description = "Unix command line utilities using uDNS";
+    mainProgram = "odns";
   };
 }
diff --git a/pkgs/development/ocaml-modules/earley/default.nix b/pkgs/development/ocaml-modules/earley/default.nix
index c7b2d09d66743..0d365c8036dd1 100644
--- a/pkgs/development/ocaml-modules/earley/default.nix
+++ b/pkgs/development/ocaml-modules/earley/default.nix
@@ -21,8 +21,9 @@ buildDunePackage rec {
 
   meta = {
     description = "Parser combinators based on Earley Algorithm";
+    homepage = "https://github.com/rlepigre/ocaml-earley";
     license = lib.licenses.cecill-b;
     maintainers = [ lib.maintainers.vbgl ];
-    homepage = "https://github.com/rlepigre/ocaml-earley";
+    mainProgram = "pa_ocaml";
   };
 }
diff --git a/pkgs/development/ocaml-modules/easy-format/default.nix b/pkgs/development/ocaml-modules/easy-format/default.nix
index a3fb972296577..7e3fe5f483ec2 100644
--- a/pkgs/development/ocaml-modules/easy-format/default.nix
+++ b/pkgs/development/ocaml-modules/easy-format/default.nix
@@ -1,12 +1,22 @@
-{ lib, fetchurl, buildDunePackage }:
+{ lib, fetchurl, ocaml, buildDunePackage }:
+
+let params =
+  if lib.versionAtLeast ocaml.version "4.08" then {
+    version = "1.3.3";
+    sha256 = "sha256:05n4mm1yz33h9gw811ivjw7x4m26lpmf7kns9lza4v6227lwmz7a";
+  } else {
+    version = "1.3.2";
+    sha256 = "sha256:09hrikx310pac2sb6jzaa7k6fmiznnmhdsqij1gawdymhawc4h1l";
+  };
+in
 
 buildDunePackage rec {
   pname = "easy-format";
-  version = "1.3.2";
+  inherit (params) version;
 
   src = fetchurl {
     url = "https://github.com/ocaml-community/easy-format/releases/download/${version}/easy-format-${version}.tbz";
-    sha256 = "sha256:09hrikx310pac2sb6jzaa7k6fmiznnmhdsqij1gawdymhawc4h1l";
+    inherit (params) sha256;
   };
 
   doCheck = true;
diff --git a/pkgs/development/ocaml-modules/genspio/default.nix b/pkgs/development/ocaml-modules/genspio/default.nix
index 963cd1dab138a..44742cba04ab8 100644
--- a/pkgs/development/ocaml-modules/genspio/default.nix
+++ b/pkgs/development/ocaml-modules/genspio/default.nix
@@ -1,27 +1,19 @@
 { lib, fetchFromGitHub, buildDunePackage
-, nonstd, sosa
+, base, fmt
 }:
 
 buildDunePackage rec {
   pname = "genspio";
-  version = "0.0.2";
-
-  useDune2 = false;
+  version = "0.0.3";
 
   src = fetchFromGitHub {
     owner = "hammerlab";
     repo = pname;
     rev = "${pname}.${version}";
-    sha256 = "0cp6p1f713sfv4p2r03bzvjvakzn4ili7hf3a952b3w1k39hv37x";
+    sha256 = "sha256:1788cnn10idp5i1hggg4pys7k0w8m3h2p4xa42jipfg4cpj7shaf";
   };
 
-  minimalOCamlVersion = "4.03";
-
-  propagatedBuildInputs = [ nonstd sosa ];
-
-  configurePhase = ''
-    ocaml please.mlt configure
-  '';
+  propagatedBuildInputs = [ base fmt ];
 
   doCheck = true;
 
diff --git a/pkgs/development/ocaml-modules/graphql_ppx/default.nix b/pkgs/development/ocaml-modules/graphql_ppx/default.nix
index aa149d60e4d83..5c38602e8df00 100644
--- a/pkgs/development/ocaml-modules/graphql_ppx/default.nix
+++ b/pkgs/development/ocaml-modules/graphql_ppx/default.nix
@@ -4,7 +4,7 @@
 
 buildDunePackage rec {
   pname = "graphql_ppx";
-  version = "1.2.0";
+  version = "1.2.2";
 
   minimalOCamlVersion = "4.08";
 
@@ -12,7 +12,7 @@ buildDunePackage rec {
     owner = "reasonml-community";
     repo = "graphql-ppx";
     rev = "v${version}";
-    sha256 = "1fymmvk616wv5xkwfdmqibdgfl47ry6idc5wfh20a3mz9mpaa13s";
+    sha256 = "sha256-+WJhA2ixZHiSZBoX14dnQKk7JfVAIME4JooNSnhRp44=";
   };
 
   buildInputs = [ ppxlib ];
diff --git a/pkgs/development/ocaml-modules/hxd/default.nix b/pkgs/development/ocaml-modules/hxd/default.nix
index 0b05a83dd7ef5..7840bb4ff19ae 100644
--- a/pkgs/development/ocaml-modules/hxd/default.nix
+++ b/pkgs/development/ocaml-modules/hxd/default.nix
@@ -35,5 +35,6 @@ buildDunePackage rec {
     homepage = "https://github.com/dinosaure/hxd";
     license = licenses.mit;
     maintainers = [ maintainers.sternenseemann ];
+    mainProgram = "hxd.xxd";
   };
 }
diff --git a/pkgs/development/ocaml-modules/imagelib/default.nix b/pkgs/development/ocaml-modules/imagelib/default.nix
index 580db48769ef0..a2debdaf492d3 100644
--- a/pkgs/development/ocaml-modules/imagelib/default.nix
+++ b/pkgs/development/ocaml-modules/imagelib/default.nix
@@ -21,8 +21,9 @@ buildDunePackage rec {
 
   meta = {
     description = "Image formats such as PNG and PPM in OCaml";
+    homepage = "https://github.com/rlepigre/ocaml-imagelib";
     license = lib.licenses.lgpl3;
     maintainers = [ lib.maintainers.vbgl ];
-    homepage = "https://github.com/rlepigre/ocaml-imagelib";
+    mainProgram = "imagetool";
   };
 }
diff --git a/pkgs/development/ocaml-modules/lablgtk/default.nix b/pkgs/development/ocaml-modules/lablgtk/default.nix
index 7eb94bc188aa3..f82548b18838e 100644
--- a/pkgs/development/ocaml-modules/lablgtk/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk/default.nix
@@ -37,12 +37,11 @@ stdenv.mkDerivation {
   dontStrip = true;
 
   meta = with lib; {
-    inherit (ocaml.meta) platforms;
-    maintainers = with maintainers; [
-      maggesi roconnor vbgl
-    ];
-    homepage = "http://lablgtk.forge.ocamlcore.org/";
     description = "An OCaml interface to GTK";
+    homepage = "http://lablgtk.forge.ocamlcore.org/";
     license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ maggesi roconnor vbgl ];
+    mainProgram = "lablgtk2";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/lwt/default.nix b/pkgs/development/ocaml-modules/lwt/default.nix
index 5f1059395ab22..6afc65e386ed6 100644
--- a/pkgs/development/ocaml-modules/lwt/default.nix
+++ b/pkgs/development/ocaml-modules/lwt/default.nix
@@ -8,15 +8,13 @@ let inherit (lib) optional versionOlder; in
 
 buildDunePackage rec {
   pname = "lwt";
-  version = "5.4.1";
-
-  useDune2 = true;
+  version = "5.5.0";
 
   src = fetchFromGitHub {
     owner = "ocsigen";
     repo = "lwt";
     rev = version;
-    sha256 = "sha256-XpoRKcdNo2j05Gxm5wmKSdwqimFDSWvmLyooPYTHAjM=";
+    sha256 = "sha256:1jbjz2rsz3j56k8vh5qlmm87hhkr250bs2m3dvpy9vsri8rkzj9z";
   };
 
   strictDeps = true;
diff --git a/pkgs/development/ocaml-modules/mdx/default.nix b/pkgs/development/ocaml-modules/mdx/default.nix
index 09f505c0e2546..fc1ecb5e0762d 100644
--- a/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/pkgs/development/ocaml-modules/mdx/default.nix
@@ -31,10 +31,11 @@ buildDunePackage rec {
   '';
 
   meta = {
-    homepage = "https://github.com/realworldocaml/mdx";
     description = "Executable OCaml code blocks inside markdown files";
+    homepage = "https://github.com/realworldocaml/mdx";
     changelog = "https://github.com/realworldocaml/mdx/raw/${version}/CHANGES.md";
     license = lib.licenses.isc;
     maintainers = [ lib.maintainers.romildo ];
+    mainProgram = "ocaml-mdx";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix b/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix
index 012f3b61ff324..d36063300196b 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/camomile.nix
@@ -9,7 +9,7 @@ buildDunePackage {
   doCheck = true;
   checkInputs = [ ounit fileutils ];
 
-  meta = ocaml_gettext.meta // {
+  meta = (builtins.removeAttrs ocaml_gettext.meta  [ "mainProgram" ]) // {
     description = "Internationalization library using camomile (i18n)";
   };
 
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
index 7525a10030eb3..fa8857f36b351 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
@@ -28,5 +28,6 @@ buildDunePackage rec {
     homepage = "https://github.com/gildor478/ocaml-gettext";
     license = licenses.lgpl21;
     maintainers = [ maintainers.volth ];
+    mainProgram = "ocaml-gettext";
   };
 }
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix b/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix
index 51e902b914086..950ac652e54d8 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/stub.nix
@@ -4,7 +4,7 @@ buildDunePackage rec {
 
   pname = "gettext-stub";
 
-  inherit (ocaml_gettext) src version useDune2 meta;
+  inherit (ocaml_gettext) src version useDune2;
 
   buildInputs = [ dune-configurator ];
 
@@ -13,4 +13,6 @@ buildDunePackage rec {
   doCheck = true;
 
   checkInputs = [ ounit ];
+
+  meta = builtins.removeAttrs ocaml_gettext.meta  [ "mainProgram" ];
 }
diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
index d084e7f8a62e3..d5a70406e9c33 100644
--- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
+++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
@@ -26,9 +26,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A simple tool and library to embed files and directories inside OCaml executables";
-    license = lib.licenses.lgpl3Plus;
     homepage = "https://www.typerex.org/ocp-ocamlres.html";
+    license = lib.licenses.lgpl3Plus;
     maintainers = [ lib.maintainers.vbgl ];
+    mainProgram = "ocp-ocamlres";
     inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/pgsolver/default.nix b/pkgs/development/ocaml-modules/pgsolver/default.nix
index a1d6fe6486ac1..6653284ba4870 100644
--- a/pkgs/development/ocaml-modules/pgsolver/default.nix
+++ b/pkgs/development/ocaml-modules/pgsolver/default.nix
@@ -15,9 +15,10 @@ buildOasisPackage rec {
   propagatedBuildInputs = [ tcslib ocaml-sat-solvers ];
 
   meta = {
-    homepage = "https://github.com/tcsprojects/pgsolver";
     description = "A collection of tools for generating, manipulating and - most of all - solving parity games";
+    homepage = "https://github.com/tcsprojects/pgsolver";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ mgttlinger ];
+    mainProgram = "pgsolver-bin";
   };
 }
diff --git a/pkgs/development/ocaml-modules/rebez/default.nix b/pkgs/development/ocaml-modules/rebez/default.nix
index b82c2ba748278..743f94454eeba 100644
--- a/pkgs/development/ocaml-modules/rebez/default.nix
+++ b/pkgs/development/ocaml-modules/rebez/default.nix
@@ -16,7 +16,8 @@ buildDunePackage rec {
   meta = with lib; {
     description = "Cubic bezier implementation in Reason / OCaml";
     homepage = "https://github.com/jchavarri/rebez/";
-    maintainers = with maintainers; [ superherointj ];
     license = licenses.mit;
+    maintainers = with maintainers; [ superherointj ];
+    mainProgram = "RebezApp.exe";
   };
 }
diff --git a/pkgs/development/ocaml-modules/stdcompat/default.nix b/pkgs/development/ocaml-modules/stdcompat/default.nix
index eae9b264ba1fa..3630be368e556 100644
--- a/pkgs/development/ocaml-modules/stdcompat/default.nix
+++ b/pkgs/development/ocaml-modules/stdcompat/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   # build fails otherwise
   enableParallelBuilding = false;
 
-  configureFlags = "--libdir=$(OCAMLFIND_DESTDIR)";
+  configureFlags = [ "--libdir=$(OCAMLFIND_DESTDIR)" ];
 
   meta = {
     homepage = "https://github.com/thierry-martinez/stdcompat";
diff --git a/pkgs/development/ocaml-modules/twt/default.nix b/pkgs/development/ocaml-modules/twt/default.nix
index 4e76f0c16d385..46822df31fc04 100644
--- a/pkgs/development/ocaml-modules/twt/default.nix
+++ b/pkgs/development/ocaml-modules/twt/default.nix
@@ -27,10 +27,11 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   meta = with lib; {
-    homepage = "http://people.csail.mit.edu/mikelin/ocaml+twt/";
     description = "“The Whitespace Thing” for OCaml";
+    homepage = "http://people.csail.mit.edu/mikelin/ocaml+twt/";
     license = licenses.mit;
     maintainers = [ maintainers.vbgl ];
-    platforms = ocaml.meta.platforms or [ ];
+    mainProgram = "ocaml+twt";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/python-modules/Babel/default.nix b/pkgs/development/python-modules/Babel/default.nix
deleted file mode 100644
index 3143a80076838..0000000000000
--- a/pkgs/development/python-modules/Babel/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, lib, buildPythonPackage, fetchPypi, pytz, pytestCheckHook, freezegun }:
-
-buildPythonPackage rec {
-  pname = "Babel";
-  version = "2.9.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "bc0c176f9f6a994582230df350aa6e05ba2ebe4b3ac317eab29d9be5d2768da0";
-  };
-
-  propagatedBuildInputs = [ pytz ];
-
-  checkInputs = [ pytestCheckHook freezegun ];
-
-  doCheck = !stdenv.isDarwin;
-
-  meta = with lib; {
-    homepage = "http://babel.edgewall.org";
-    description = "A collection of tools for internationalizing Python applications";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/Mako/default.nix b/pkgs/development/python-modules/Mako/default.nix
index d7b350b9f96bf..5eca80d98a519 100644
--- a/pkgs/development/python-modules/Mako/default.nix
+++ b/pkgs/development/python-modules/Mako/default.nix
@@ -8,7 +8,7 @@
 , markupsafe
 
 # extras: Babel
-, Babel
+, babel
 
 # tests
 , mock
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   passthru.extras-require = {
     babel = [
-      Babel
+      babel
     ];
   };
 
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index c95283acda517..b15f07bfcaeb9 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -1,6 +1,6 @@
 { lib
 , aiohttp
-, Babel
+, babel
 , blinker
 , buildPythonPackage
 , python-dateutil
@@ -51,7 +51,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    Babel
+    babel
     blinker
     python-dateutil
     docutils
diff --git a/pkgs/development/python-modules/Pygments/default.nix b/pkgs/development/python-modules/Pygments/default.nix
deleted file mode 100644
index af125e1f40efb..0000000000000
--- a/pkgs/development/python-modules/Pygments/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, docutils
-}:
-
-buildPythonPackage rec {
-  pname = "Pygments";
-  version = "2.11.2";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a";
-  };
-
-  propagatedBuildInputs = [ docutils ];
-
-  # Circular dependency with sphinx
-  doCheck = false;
-  pythonImportsCheck = [ "pygments" ];
-
-  meta = {
-    homepage = "https://pygments.org/";
-    description = "A generic syntax highlighter";
-    license = lib.licenses.bsd2;
-    maintainers = with lib.maintainers; [ ];
-  };
-}
diff --git a/pkgs/development/python-modules/agate/default.nix b/pkgs/development/python-modules/agate/default.nix
index 04266bc3d8832..29f580636480c 100644
--- a/pkgs/development/python-modules/agate/default.nix
+++ b/pkgs/development/python-modules/agate/default.nix
@@ -1,5 +1,5 @@
 { lib
-, Babel
+, babel
 , buildPythonPackage
 , cssselect
 , fetchFromGitHub
@@ -32,7 +32,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    Babel
+    babel
     isodate
     leather
     parsedatetime
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index 498caa2045daa..2a66a332c3989 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.2.3";
+  version = "9.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-R8AaQj/Rdz8SSN2L8v8ZzIxnPQqdg/SKUB6FV9uYFLs=";
+    hash = "sha256-YsH9QAKoM4WILabgLvEZMJXPfpkfn/h4tofNIcGJY+k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index 06389d50677b7..9d6d3f2d56d87 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "10.8.2";
+  version = "10.10.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zvilMBx9H2VDmu13IiAiCqXEGkbpAJpGnt4Ea7FlGVI=";
+    sha256 = "sha256-j1YYzyOLuH+COBDXJUpkUx8H2K8F5tC5LB8ysZKi6oI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index f8e3ac530f17c..bbfdcb43732fb 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -46,7 +46,7 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.2.3";
+  version = "9.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -55,7 +55,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-RcAiPzz2JUlNIGU7+6WCd5JskRYmlMee8wOcOclfb0Q=";
+    hash = "sha256-3iw1tk2r6Ee302AMjgsRi6EL5py+4Blf47EWrWyiqNk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
index d46c18f6d1773..8c40a51ff4382 100644
--- a/pkgs/development/python-modules/angrop/default.nix
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.2.3";
+  version = "9.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-bhdn3uomvegpvynR0ts4KdwFapX2xGfuwp4e57Xtcoo=";
+    hash = "sha256-EMW2RxImYoPSnkBG027g5o5K3WT40F/Dj+GzqS8/K6g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible-compat/default.nix b/pkgs/development/python-modules/ansible-compat/default.nix
index 88ce74ad4cd0e..5440359af7225 100644
--- a/pkgs/development/python-modules/ansible-compat/default.nix
+++ b/pkgs/development/python-modules/ansible-compat/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "ansible-compat";
-  version = "2.0.3";
+  version = "2.0.4";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-oRV+QFneQYefP2XV7WK/ND/lvUUoYQHi0pcf/lfjqKU=";
+    sha256 = "sha256-PV+yHB/waehKxfwX9sjSJhwqeymZhr6BDTOd/HfBKKk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible-later/default.nix b/pkgs/development/python-modules/ansible-later/default.nix
index 8ad96e78bcfbf..c35cfcb6e458c 100644
--- a/pkgs/development/python-modules/ansible-later/default.nix
+++ b/pkgs/development/python-modules/ansible-later/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "ansible-later";
-  version = "2.0.12";
+  version = "2.0.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "thegeeklab";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-0N/BER7tV8Hv1pvHaf/46BKnzZfHBGuEaPPex/CDQe0=";
+    hash = "sha256-9xVFvXCHjgF+7asO1ialGIofJwsRRRiydo/Ui2C+Wig=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ansible/core.nix b/pkgs/development/python-modules/ansible/core.nix
index 49ae39feba7b9..e1e198ce17916 100644
--- a/pkgs/development/python-modules/ansible/core.nix
+++ b/pkgs/development/python-modules/ansible/core.nix
@@ -24,11 +24,11 @@
 
 buildPythonPackage rec {
   pname = "ansible-core";
-  version = "2.12.5";
+  version = "2.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-HMyZRPEBMxra0e1A1axmqBSRMwUq402wJnp0qnO+67M=";
+    sha256 = "sha256-COD7SnGNlnplTnDNpXz5MgGGkyndHPW4pCZ8V8XEyNM=";
   };
 
   # ansible_connection is already wrapped, so don't pass it through
diff --git a/pkgs/development/python-modules/ansible/default.nix b/pkgs/development/python-modules/ansible/default.nix
index 2e44fa4e243c7..6ca283a6e40ee 100644
--- a/pkgs/development/python-modules/ansible/default.nix
+++ b/pkgs/development/python-modules/ansible/default.nix
@@ -20,7 +20,7 @@
 
 let
   pname = "ansible";
-  version = "5.7.1";
+  version = "5.8.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -30,7 +30,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-kKCaNFENGU1jVWiVoiWonkqLdIua4hW1XlF6N94GOmE=";
+    sha256 = "sha256-+gVkdiAfQGJfs22VxQQe9GOIC+GL5cc7mYtXtAGWeGM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix
index 948fae7893b85..c753458fb7e71 100644
--- a/pkgs/development/python-modules/apache-airflow/default.nix
+++ b/pkgs/development/python-modules/apache-airflow/default.nix
@@ -243,5 +243,7 @@ buildPythonPackage rec {
     homepage = "https://airflow.apache.org/";
     license = licenses.asl20;
     maintainers = with maintainers; [ bhipple costrouc ingenieroariel ];
+    # requires extremely outdated versions of multiple dependencies
+    broken = true;
   };
 }
diff --git a/pkgs/development/python-modules/apprise/default.nix b/pkgs/development/python-modules/apprise/default.nix
index 5bccffea2921d..cf532aedd242b 100644
--- a/pkgs/development/python-modules/apprise/default.nix
+++ b/pkgs/development/python-modules/apprise/default.nix
@@ -1,5 +1,5 @@
 { lib
-, Babel
+, babel
 , buildPythonPackage
 , click
 , cryptography
@@ -31,7 +31,7 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [
-    Babel
+    babel
     installShellFiles
   ];
 
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index 59a2f9ad9c9a6..da139209577ae 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.2.3";
+  version = "9.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-r0cZXyj47HmgFVyQ3POGexeQxBiQ1xx/ptsPMwCRjHY=";
+    hash = "sha256-d5SP9pnDWXEzjBXKeqnuKK6+lrFRWYwmiV4MjfqORwk=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/azure-core/default.nix b/pkgs/development/python-modules/azure-core/default.nix
index 260a40e9de806..bae168e26dd42 100644
--- a/pkgs/development/python-modules/azure-core/default.nix
+++ b/pkgs/development/python-modules/azure-core/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, buildPythonPackage, fetchPypi, isPy27
+{ lib, stdenv, buildPythonPackage, fetchpatch, fetchPypi, pythonOlder
 , aiodns
 , aiohttp
 , flask
@@ -15,16 +15,26 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.23.1";
+  version = "1.24.0";
   pname = "azure-core";
-  disabled = isPy27;
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-KKAd+68KaBLE4qgtFkLqMJVqlznyW8d8myO5H06mjw8=";
+    sha256 = "sha256-NFsbBB+q19AgWyDVaX8dDfNEMC56qoUBkFWA/4e9C+U=";
   };
 
+  patches = [
+    # FIXME: fixes tests with new versions of flask/werkzeug
+    # upstream PR: https://github.com/Azure/azure-sdk-for-python/pull/24450
+    (fetchpatch {
+      url = "https://github.com/Azure/azure-sdk-for-python/commit/fb20b0b985f614bb7bcd84f3f5f6f3105de25fd9.patch";
+      stripLen = 3;
+      sha256 = "sha256-Gt5T/UkQT1yml8bqYbeUpimfOPlmzpN1KKKUnbU9xJw=";
+    })
+  ];
+
   propagatedBuildInputs = [
     requests
     six
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index f2426586d6a0c..d5fe92f320b09 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "4.2.0";
+  version = "5.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    hash = "sha256-At0BP9mWJneG65FDZuQXTnikaNcEWe+GtTr9ZPri89M=";
+    hash = "sha256-BciA3sFyja5xo9yS3WVglC73y8gTfw8UejdEzbD4HYE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
index 55f4d9284923d..f574b32286c41 100644
--- a/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-servicelinker/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-servicelinker";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-lAjgwEa2TJDEUU8pwfwkU8EyA1bhLkcAv++I6WHb7Xs=";
+    sha256 = "sha256-QVw6Y9HachwBRwCbF0cSGLCAkSJtNnXBvsj5YX1TmJU=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-multiapi-storage/default.nix b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
index 9bafac41ef33e..84114684476ce 100644
--- a/pkgs/development/python-modules/azure-multiapi-storage/default.nix
+++ b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.8.0";
+  version = "0.9.0";
   pname = "azure-multiapi-storage";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ZRiqnxPRdSOqyRMwuvxqKiZcxMbhVEYJ09CIlepc/B4=";
+    sha256 = "sha256-7uq8uRZ3MXI1Gy+DmMkRVNV7uZPw6j8r9KfhS8d+tCY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/babel/default.nix b/pkgs/development/python-modules/babel/default.nix
new file mode 100644
index 0000000000000..14633062f36d6
--- /dev/null
+++ b/pkgs/development/python-modules/babel/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi, pytz, pytestCheckHook, freezegun }:
+
+buildPythonPackage rec {
+  pname = "babel";
+  version = "2.10.1";
+
+  src = fetchPypi {
+    pname = "Babel";
+    inherit version;
+    sha256 = "sha256-mK6soIYTPvs+HiqtA5aYdJDIQlkp3bz+BVAYT9xUzRM=";
+  };
+
+  propagatedBuildInputs = [ pytz ];
+
+  checkInputs = [ pytestCheckHook freezegun ];
+
+  doCheck = !stdenv.isDarwin;
+
+  meta = with lib; {
+    homepage = "https://babel.pocoo.org/";
+    description = "Collection of internationalizing tools";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/babelgladeextractor/default.nix b/pkgs/development/python-modules/babelgladeextractor/default.nix
index b1516d1abdb83..bd6baccbde433 100644
--- a/pkgs/development/python-modules/babelgladeextractor/default.nix
+++ b/pkgs/development/python-modules/babelgladeextractor/default.nix
@@ -2,7 +2,7 @@
 , isPy3k
 , buildPythonPackage
 , fetchPypi
-, Babel
+, babel
 }:
 
 buildPythonPackage rec {
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    Babel
+    babel
   ];
 
   # SyntaxError: Non-ASCII character '\xc3' in file /build/BabelGladeExtractor-0.6.3/babelglade/tests/test_translate.py on line 20, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
diff --git a/pkgs/development/python-modules/bc-python-hcl2/default.nix b/pkgs/development/python-modules/bc-python-hcl2/default.nix
index 8d5c2d7d4c265..56773e372b40d 100644
--- a/pkgs/development/python-modules/bc-python-hcl2/default.nix
+++ b/pkgs/development/python-modules/bc-python-hcl2/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "bc-python-hcl2";
-  version = "0.3.39";
+  version = "0.3.40";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JMQ2sLgAnMJ1/0nR8LgKbpPB43gVKtCtrZKr/T4p0O8=";
+    hash = "sha256-4we2Txk7kJ1SrCa82eQJ9OsqyTkFzocNi+GG7cV+OAc=";
   };
 
   # Nose is required during build process, so can not use `checkInputs`.
diff --git a/pkgs/development/python-modules/bond-api/default.nix b/pkgs/development/python-modules/bond-api/default.nix
index 555caa6033ca2..1a07de6dccef9 100644
--- a/pkgs/development/python-modules/bond-api/default.nix
+++ b/pkgs/development/python-modules/bond-api/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "bond-api";
-  version = "0.1.17";
+  version = "0.1.18";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "prystupa";
     repo = "bond-api";
     rev = "v${version}";
-    hash = "sha256-fuVYyDy3fG+XobFe2GCzMWRWPk8VDPLU4RHJzcF5MLg=";
+    hash = "sha256-+87/j94eHyW3EMMBK+aXaNTVoNxsixeLusyBsPWa9yM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bugsnag/default.nix b/pkgs/development/python-modules/bugsnag/default.nix
index ace2e2166d7ea..fa2880fb0553c 100644
--- a/pkgs/development/python-modules/bugsnag/default.nix
+++ b/pkgs/development/python-modules/bugsnag/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "bugsnag";
-  version = "4.2.0";
+  version = "4.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-NnTn4m9we40Ww2abP7mbz1CtdypZyN2GYBvj8zxhOpI=";
+    hash = "sha256-PT6XaKz3QFAEhCmS7jXKK7xxscNlpbhGpCKQIRuSt6U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index 2eff37314e83d..6111772122716 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -1,8 +1,9 @@
 { stdenv, lib, buildPythonPackage, fetchPypi, makeWrapper, isPy3k
-, python, twisted, jinja2, zope_interface, sqlalchemy, alembic, python-dateutil
-, txaio, autobahn, pyjwt, pyyaml, unidiff, treq, txrequests, pypugjs, boto3
-, moto, mock, lz4, setuptoolsTrial, isort, pylint, flake8, buildbot-worker
-, buildbot-pkg, buildbot-plugins, parameterized, git, openssh, glibcLocales
+, python, twisted, jinja2, msgpack, zope_interface, sqlalchemy, alembic
+, python-dateutil, txaio, autobahn, pyjwt, pyyaml, treq, txrequests, pypugjs
+, boto3, moto, mock, lz4, setuptoolsTrial, isort, pylint, flake8
+, buildbot-worker, buildbot-pkg, buildbot-plugins, parameterized, git, openssh
+, glibcLocales
 , nixosTests
 }:
 
@@ -42,6 +43,7 @@ let
       # core
       twisted
       jinja2
+      msgpack
       zope_interface
       sqlalchemy
       alembic
@@ -50,7 +52,6 @@ let
       autobahn
       pyjwt
       pyyaml
-      unidiff
     ]
       # tls
       ++ twisted.extras-require.tls;
diff --git a/pkgs/development/python-modules/cachecontrol/default.nix b/pkgs/development/python-modules/cachecontrol/default.nix
index d074183e79d74..bee126fbf1677 100644
--- a/pkgs/development/python-modules/cachecontrol/default.nix
+++ b/pkgs/development/python-modules/cachecontrol/default.nix
@@ -21,10 +21,11 @@ buildPythonPackage rec {
     owner = "ionrock";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mgvL0q10UbPHY1H3tJprke5p8qNl3HNYoeLAERZTcTs=";
+    hash = "sha256-mgvL0q10UbPHY1H3tJprke5p8qNl3HNYoeLAERZTcTs=";
   };
 
   propagatedBuildInputs = [
+    lockfile
     msgpack
     requests
   ];
@@ -32,7 +33,6 @@ buildPythonPackage rec {
   checkInputs = [
     cherrypy
     mock
-    lockfile
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/cachelib/default.nix b/pkgs/development/python-modules/cachelib/default.nix
index 9c0620c8740dd..5a5c001c135df 100644
--- a/pkgs/development/python-modules/cachelib/default.nix
+++ b/pkgs/development/python-modules/cachelib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "cachelib";
-  version = "0.6.0";
+  version = "0.7.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pallets";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-1msDiNYxaETJfVBTaMuNJbSxhOpyRdHkb5CQ+1+ZbbQ=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-/378xNkBZHoTJ9Qs8RTYi+QosLs7GBgMOkIDYOaSH1Y=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/calmjs-parse/default.nix b/pkgs/development/python-modules/calmjs-parse/default.nix
index 33cf052a44270..8420cbd03afdf 100644
--- a/pkgs/development/python-modules/calmjs-parse/default.nix
+++ b/pkgs/development/python-modules/calmjs-parse/default.nix
@@ -8,13 +8,15 @@
 
 buildPythonPackage rec {
   pname = "calmjs-parse";
-  version = "1.2.5";
+  version = "1.3.0";
+
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "calmjs";
     repo = "calmjs.parse";
     rev = version;
-    sha256 = "0ypfbas33k1706p6w1bf9gnrv38z8fa4qci1iaks80dp58g8sv4r";
+    hash = "sha256-QhHNp9g88RhGHqRRjg4nk7aXjAgGCOauOagWJoJ3fqc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/catboost/default.nix b/pkgs/development/python-modules/catboost/default.nix
index 8c5184240f624..6cda5a23aee95 100644
--- a/pkgs/development/python-modules/catboost/default.nix
+++ b/pkgs/development/python-modules/catboost/default.nix
@@ -52,5 +52,7 @@ buildPythonPackage rec {
     platforms = [ "x86_64-linux" ];
     homepage = "https://catboost.ai";
     maintainers = with maintainers; [ PlushBeaver ];
+    # _catboost.pyx.cpp:226822:19: error: use of undeclared identifier '_PyGen_Send'
+    broken = withCuda;
   };
 }
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index 436669d920924..5535f577bcff4 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -72,6 +72,7 @@ buildPythonPackage rec {
   ] ++ lib.optionals stdenv.isDarwin [
     "http_over_https_error"
     "bind_addr_unix"
+    "test_ssl_env"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index e37f1ee8dbd3d..49d82215e7cf1 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.2.3";
+  version = "9.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-O2nkGIQfjGmhrqBPoMI97DsCvOUZix0VcUHwmDyF40Q=";
+    hash = "sha256-nP2mqBmgpn7zFtMd9suH3kfEqKtzIjaZl6ALsvihVgE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index f626e62db0d3b..2c7b80b524da3 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.2.3";
+  version = "9.2.4";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-gyWeE4sF9Bmk2CNmXh90xMtXlaz/Agm7wX6sWr0Fyco=";
+    hash = "sha256-SlYayKfosSicMxMZszZpxJ3ewKScyLpv6s5ayoVE9Ko=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/click/default.nix b/pkgs/development/python-modules/click/default.nix
index a75f563862a37..81bcf03130e10 100644
--- a/pkgs/development/python-modules/click/default.nix
+++ b/pkgs/development/python-modules/click/default.nix
@@ -5,23 +5,21 @@
 , importlib-metadata
 , pytestCheckHook
 
-# large-rebuild downstream dependencies
+# large-rebuild downstream dependencies and applications
 , flask
 , black
-
-# applications
 , magic-wormhole
 , mitmproxy
 }:
 
 buildPythonPackage rec {
   pname = "click";
-  version = "8.1.2";
+  version = "8.1.3";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-R5cH/hTZ7JoHV2GLehAKCuTE4jb6xbf4DKaAKBQaGnI=";
+    sha256 = "sha256-doLcivswKXABZ0V16gDRgU2AjWo2r0Fagr1IHTe6e44=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
diff --git a/pkgs/development/python-modules/cvxpy/default.nix b/pkgs/development/python-modules/cvxpy/default.nix
index 73609966ba84a..033af1fb5d924 100644
--- a/pkgs/development/python-modules/cvxpy/default.nix
+++ b/pkgs/development/python-modules/cvxpy/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "cvxpy";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-QURm/ehJovqr/ZRE7ILKLnvxQsAdcjdSTPlzCt60IBw=";
+    sha256 = "sha256-bWdkJkPR3bLyr1m0Zrh9QsSi42eDGte0PDO1nu+ltQ4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
index c8a2eefed246d..9e32b3e4fea9f 100644
--- a/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
+++ b/pkgs/development/python-modules/cyclonedx-python-lib/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "cyclonedx-python-lib";
-  version = "2.3.0";
+  version = "2.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "CycloneDX";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-eZy+m6AkSlZM/i64FyFL+ZgeW86MOSM6sDYPT4ckaHE=";
+    hash = "sha256-IrMXHWeksEmON3LxJvQ3WSKwQTY0aRZ8XItWMr3p4gw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/deepdiff/default.nix b/pkgs/development/python-modules/deepdiff/default.nix
index 2601eedc2fa27..c0519332342ea 100644
--- a/pkgs/development/python-modules/deepdiff/default.nix
+++ b/pkgs/development/python-modules/deepdiff/default.nix
@@ -8,20 +8,21 @@
 , numpy
 , pytestCheckHook
 , pyyaml
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "deepdiff";
-  version = "5.7.0";
+  version = "5.8.2";
   format = "setuptools";
 
-  # pypi source does not contain all fixtures required for tests
+  disabled = pythonOlder "3.6";
+
   src = fetchFromGitHub {
     owner = "seperman";
     repo = "deepdiff";
-    # 5.7.0 release not tagged https://github.com/seperman/deepdiff/issues/300
-    rev = "f2ffdb83b2993f4f0bb7e854620f0acd0bf6339e";
-    hash = "sha256-0UBx7sH2iMrLVl5FtHNTwoecLHi8GbInn75G3FSg4gk=";
+    rev = "v${version}";
+    hash = "sha256-7eagu6lef5bc/4KU3y067LFOGtH6whda1ocBuRHS/kI=";
   };
 
   postPatch = ''
@@ -52,6 +53,6 @@ buildPythonPackage rec {
     description = "Deep Difference and Search of any Python object/data";
     homepage = "https://github.com/seperman/deepdiff";
     license = licenses.mit;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/development/python-modules/delorean/default.nix b/pkgs/development/python-modules/delorean/default.nix
index 3435b461d09b6..847a5c6e5ad79 100644
--- a/pkgs/development/python-modules/delorean/default.nix
+++ b/pkgs/development/python-modules/delorean/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, Babel
+, babel
 , humanize
 , python-dateutil
 , tzlocal
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     sha256 = "0d31ay7yq2w7xz7m3ssk5phjbm64b2k8hmgcif22719k29p7hrzy";
   };
 
-  propagatedBuildInputs = [ Babel humanize python-dateutil tzlocal ];
+  propagatedBuildInputs = [ babel humanize python-dateutil tzlocal ];
 
   pythonImportsCheck = [ "delorean" ];
 
diff --git a/pkgs/development/python-modules/django-anymail/default.nix b/pkgs/development/python-modules/django-anymail/default.nix
index 86134f9d17899..83c89b53c97d8 100644
--- a/pkgs/development/python-modules/django-anymail/default.nix
+++ b/pkgs/development/python-modules/django-anymail/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "django-anymail";
-  version = "8.5";
+  version = "8.6";
 
   src = fetchFromGitHub {
     owner = "anymail";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "1p2c7hf9baxr8khk8h7y8d38imw4zm920dgd9nbda18vlh7gpbcf";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-hLNILUV7qzqHfh7l3SJAoFveUIRSCHTjEQ3ZC3PhZUY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix b/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix
new file mode 100644
index 0000000000000..c6b56651f927d
--- /dev/null
+++ b/pkgs/development/python-modules/djangorestframework-dataclasses/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, djangorestframework
+}:
+
+buildPythonPackage rec {
+  pname = "djangorestframework-dataclasses";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "oxan";
+    repo = "djangorestframework-dataclasses";
+    rev = "v${version}";
+    sha256 = "sha256-wXgA/4Dik6yG0nKl9GbrHgb2lhrPsgS23+cEyaD9MRY=";
+  };
+
+  postPatch = ''
+    patchShebangs manage.py
+  '';
+
+  propagatedBuildInputs = [
+    djangorestframework
+  ];
+
+  checkPhase = ''
+   ./manage.py test
+  '';
+
+  pythonImportsCheck = [ "rest_framework_dataclasses" ];
+
+  meta = with lib; {
+    description = " Dataclasses serializer for Django REST framework";
+    homepage = "https://github.com/oxan/djangorestframework-dataclasses";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/djangorestframework/default.nix b/pkgs/development/python-modules/djangorestframework/default.nix
index 131be8781b363..f8de884a24f0d 100644
--- a/pkgs/development/python-modules/djangorestframework/default.nix
+++ b/pkgs/development/python-modules/djangorestframework/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, django, isPy27 }:
+{ lib, buildPythonPackage, fetchFromGitHub, django, pytz, isPy27 }:
 
 buildPythonPackage rec {
   version = "3.12.4";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   # Test settings are missing
   doCheck = false;
 
-  propagatedBuildInputs = [ django ];
+  propagatedBuildInputs = [ django pytz ];
 
   meta = with lib; {
     description = "Web APIs for Django, made easy";
diff --git a/pkgs/development/python-modules/doc8/default.nix b/pkgs/development/python-modules/doc8/default.nix
index c02100e379ec5..97066662397b4 100644
--- a/pkgs/development/python-modules/doc8/default.nix
+++ b/pkgs/development/python-modules/doc8/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "doc8";
-  version = "0.11.1";
+  version = "0.11.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bby1Ry79Mydj/7KGK0/e7EDIpv3Gu2fmhxOtdJylgIw=";
+    sha256 = "sha256-w1ojH4jxXCBGWRVO09SZ+k1ALX5j1By6e1TPXmRhI6s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/dropbox/default.nix b/pkgs/development/python-modules/dropbox/default.nix
index 4184ddb125024..e321c110a6bd4 100644
--- a/pkgs/development/python-modules/dropbox/default.nix
+++ b/pkgs/development/python-modules/dropbox/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dropbox";
-  version = "11.30.0";
+  version = "11.31.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,8 +22,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "dropbox";
     repo = "dropbox-sdk-python";
-    rev = "v${version}";
-    hash = "sha256-w07r95MBAClf0F3SICiZsHLdslzf+JuxC+BVdTACCog=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-mbBVivrpXYNuVbXeHRyy07LxPbtYvaL3JleK7QXOxi0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dulwich/default.nix b/pkgs/development/python-modules/dulwich/default.nix
index a255d3c4f9b9d..ea3511e843a33 100644
--- a/pkgs/development/python-modules/dulwich/default.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -12,11 +12,12 @@
 , mock
 , pkgs
 , urllib3
+, paramiko
 , pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "0.20.35";
+  version = "0.20.40";
   pname = "dulwich";
   format = "setuptools";
 
@@ -24,7 +25,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lT9jAanfigkfqI1V7tOUqIv5mIzei+NBd1NUkQkYwZY=";
+    hash = "sha256-vtcO/gt91RpHvOqbmEqwamdddDi3izLaHLr891D7utc=";
   };
 
   LC_ALL = "en_US.UTF-8";
@@ -43,6 +44,7 @@ buildPythonPackage rec {
     gpgme
     pkgs.gnupg
     mock
+    paramiko
   ];
 
   doCheck = !stdenv.isDarwin;
diff --git a/pkgs/development/python-modules/ecs-logging/default.nix b/pkgs/development/python-modules/ecs-logging/default.nix
index f82149ac86769..01298469f8dd1 100644
--- a/pkgs/development/python-modules/ecs-logging/default.nix
+++ b/pkgs/development/python-modules/ecs-logging/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "ecs-logging";
-  version = "1.1.0";
+  version = "2.0.0";
   format = "flit";
 
   disabled = pythonOlder "3.8";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "elastic";
     repo = "ecs-logging-python";
-    rev = version;
-    sha256 = "sha256-UcQh/+K2d4tiMZaz4IAZ2w/B88vEkHoq2LCPMNZ95Mo=";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-2BfZ96D24sfjFD6l+gjp6xXbSJ0kjQD/FhHLI3bpVGM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/elementpath/default.nix b/pkgs/development/python-modules/elementpath/default.nix
index e3104d8d882e5..7f855242ebbf9 100644
--- a/pkgs/development/python-modules/elementpath/default.nix
+++ b/pkgs/development/python-modules/elementpath/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "elementpath";
-  version = "2.5.1";
+  version = "2.5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "sissaschool";
     repo = "elementpath";
     rev = "refs/tags/v${version}";
-    hash = "sha256-tejsQ6m9XyMGDIEDzWYwSav5Iqa9S/DIYShOpoSlTWo=";
+    hash = "sha256-JmNG6SXig24X34nQXrpMN9ir9+l8o23ddzw2uyR3qb0=";
   };
 
   # avoid circular dependency with xmlschema which directly depends on this
diff --git a/pkgs/development/python-modules/fastavro/default.nix b/pkgs/development/python-modules/fastavro/default.nix
index 419cb74c2cf7e..e4d1bca573098 100644
--- a/pkgs/development/python-modules/fastavro/default.nix
+++ b/pkgs/development/python-modules/fastavro/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "fastavro";
-  version = "1.4.11";
+  version = "1.4.12";
 
   disabled = pythonOlder "3.6";
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-PK8+NFJurJ0nD5coEFj8lXWg4VMcpX0954qDb1GW6Gk=";
+    sha256 = "sha256-t3SM7pTsl3JLWeJSESzXGONyjufwCHMaqK95JI3isYY=";
   };
 
   preBuild = ''
diff --git a/pkgs/development/python-modules/fastcore/default.nix b/pkgs/development/python-modules/fastcore/default.nix
index e86013605e7b1..a9781b3aea150 100644
--- a/pkgs/development/python-modules/fastcore/default.nix
+++ b/pkgs/development/python-modules/fastcore/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "fastcore";
-  version = "1.4.2";
+  version = "1.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "fastai";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-0q+qFrfMsXkwgu08igt2kHZ9c3/aqz/inCpJXkPZsdg=";
+    sha256 = "sha256-3l5bELb5f/cvh4gF2kJZEX6kAK9achTerIIplMuesTk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flask-babel/default.nix b/pkgs/development/python-modules/flask-babel/default.nix
index 602564d162689..a538327650b25 100644
--- a/pkgs/development/python-modules/flask-babel/default.nix
+++ b/pkgs/development/python-modules/flask-babel/default.nix
@@ -3,7 +3,7 @@
 , python
 , fetchPypi
 , flask
-, Babel
+, babel
 , jinja2
 , pytz
 , speaklater
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     flask
-    Babel
+    babel
     jinja2
     pytz
     speaklater
diff --git a/pkgs/development/python-modules/flask-babelex/default.nix b/pkgs/development/python-modules/flask-babelex/default.nix
index cdcb400983b13..4a7294540e121 100644
--- a/pkgs/development/python-modules/flask-babelex/default.nix
+++ b/pkgs/development/python-modules/flask-babelex/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , flask
-, Babel
+, babel
 , speaklater
 , jinja2
 , pytest
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     flask
-    Babel
+    babel
     speaklater
     jinja2
   ];
diff --git a/pkgs/development/python-modules/flask-security-too/default.nix b/pkgs/development/python-modules/flask-security-too/default.nix
index 70a6b6e1d6b94..789060ed2b5e4 100644
--- a/pkgs/development/python-modules/flask-security-too/default.nix
+++ b/pkgs/development/python-modules/flask-security-too/default.nix
@@ -3,7 +3,7 @@
 , fetchPypi
 
 # extras: babel
-, Babel
+, babel
 , flask-babel
 
 # extras: common
@@ -65,7 +65,7 @@ buildPythonPackage rec {
 
   passthru.extras-require = {
     babel = [
-      Babel
+      babel
       flask-babel
     ];
     common = [
diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix
index 997a28de1e9c0..e4ded57576e57 100644
--- a/pkgs/development/python-modules/flask/default.nix
+++ b/pkgs/development/python-modules/flask/default.nix
@@ -13,12 +13,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.1.1";
+  version = "2.1.2";
   pname = "Flask";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qMm9PlWOyZZG0Xepc5xB3x3tBilIC0yNKXVBLzyVGcg=";
+    sha256 = "sha256-MV3tLd+KYoFWftsnOTAQ/jQGGIuvv+ZaMznVeH2J5Hc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flaskbabel/default.nix b/pkgs/development/python-modules/flaskbabel/default.nix
index d15950bba9a4a..a0e42e60c2e08 100644
--- a/pkgs/development/python-modules/flaskbabel/default.nix
+++ b/pkgs/development/python-modules/flaskbabel/default.nix
@@ -4,7 +4,7 @@
 , flask
 , jinja2
 , speaklater
-, Babel
+, babel
 , pytz
 }:
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     sha256 = "f9faf45cdb2e1a32ea2ec14403587d4295108f35017a7821a2b1acb8cfd9257d";
   };
 
-  propagatedBuildInputs = [ flask jinja2 speaklater Babel pytz ];
+  propagatedBuildInputs = [ flask jinja2 speaklater babel pytz ];
 
   meta = with lib; {
     description = "Adds i18n/l10n support to Flask applications";
diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix
index fb84371e20357..7ff1577488914 100644
--- a/pkgs/development/python-modules/fsspec/default.nix
+++ b/pkgs/development/python-modules/fsspec/default.nix
@@ -7,6 +7,8 @@
 , numpy
 , aiohttp
 , pytest-vcr
+, pytest-mock
+, pytest-asyncio
 , requests
 , paramiko
 , smbprotocol
@@ -14,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "2022.01.0";
+  version = "2022.3.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "intake";
     repo = "filesystem_spec";
     rev = version;
-    sha256 = "sha256-iPe2q9hY3ZRIKQGpxrHda3t9G0AtbtohVcWdnAzlzCo=";
+    sha256 = "sha256-jTF8R0kaHMsCYg+7YFi21Homn63K+ulp9NDZC/jkIXM=";
   };
 
   propagatedBuildInputs = [
@@ -34,6 +36,8 @@ buildPythonPackage rec {
   checkInputs = [
     numpy
     pytest-vcr
+    pytest-mock
+    pytest-asyncio
     pytestCheckHook
   ];
 
@@ -59,6 +63,7 @@ buildPythonPackage rec {
   meta = with lib; {
     homepage = "https://github.com/intake/filesystem_spec";
     description = "A specification that Python filesystems should adhere to";
+    changelog = "https://github.com/fsspec/filesystem_spec/raw/${version}/docs/source/changelog.rst";
     license = licenses.bsd3;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/func-timeout/default.nix b/pkgs/development/python-modules/func-timeout/default.nix
new file mode 100644
index 0000000000000..f20f5dde8b4b7
--- /dev/null
+++ b/pkgs/development/python-modules/func-timeout/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "func-timeout";
+  version = "4.3.5";
+
+  src = fetchPypi {
+    pname = "func_timeout";
+    inherit version;
+    sha256 = "74cd3c428ec94f4edfba81f9b2f14904846d5ffccc27c92433b8b5939b5575dd";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "func_timeout" ];
+
+  meta = with lib; {
+    description = "Allows you to specify timeouts when calling any existing function. Also provides support for stoppable-threads";
+    homepage = "https://github.com/kata198/func_timeout";
+    license = licenses.lgpl3Only;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/gcal-sync/default.nix b/pkgs/development/python-modules/gcal-sync/default.nix
index 101a3ef53d6d9..202e466599dcc 100644
--- a/pkgs/development/python-modules/gcal-sync/default.nix
+++ b/pkgs/development/python-modules/gcal-sync/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "gcal-sync";
-  version = "0.7.1";
+  version = "0.8.1";
 
   disabled = pythonOlder "3.9";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "gcal_sync";
     rev = version;
-    hash = "sha256-NOB74P+5i63FEeHJsPXRdRgY6iyIUEn7BogbVKm8P5M=";
+    hash = "sha256-JQFfTgnrNvCwKCQ4lD1gE3ZI8WhCjaJ9zDejssZ7FPs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gcsfs/default.nix b/pkgs/development/python-modules/gcsfs/default.nix
index 518226f34dd2d..82791db5bcc46 100644
--- a/pkgs/development/python-modules/gcsfs/default.nix
+++ b/pkgs/development/python-modules/gcsfs/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "gcsfs";
-  version = "2022.01.0";
+  version = "2022.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "fsspec";
     repo = pname;
     rev = version;
-    hash = "sha256-wNeK1GdjK9GKaaECcFeBLjFf/h3MbLI5e4MX0UNoTqE=";
+    hash = "sha256-+Bchwsa8Jj7WBWbzyH+GQuqZki4EltMryumKt4Pm1es=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-datastore/default.nix b/pkgs/development/python-modules/google-cloud-datastore/default.nix
index d2afea058d0c7..1212f21e9baf1 100644
--- a/pkgs/development/python-modules/google-cloud-datastore/default.nix
+++ b/pkgs/development/python-modules/google-cloud-datastore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-datastore";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1fpWovsg60uyAGps9QKXTdqV4WqZOOyeDFxX8YfgAMc=";
+    sha256 = "sha256-6DHp8kz+CiZkzXDxPfT7KB4Yh11CwcEj3MTn5yd404Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-dlp/default.nix b/pkgs/development/python-modules/google-cloud-dlp/default.nix
index 1961789e3b586..5dfc976865308 100644
--- a/pkgs/development/python-modules/google-cloud-dlp/default.nix
+++ b/pkgs/development/python-modules/google-cloud-dlp/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-dlp";
-  version = "3.6.2";
+  version = "3.7.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-MMTeoyC30MW9NdrXLAqelIeeIdsdNi7u5zwVhLeeTyk=";
+    hash = "sha256-aUabWEz+ou12Lgys7PZnldjHnifPWPPqO8iJqkDgx9U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-speech/default.nix b/pkgs/development/python-modules/google-cloud-speech/default.nix
index 72e9f672047a2..cd797240cc768 100644
--- a/pkgs/development/python-modules/google-cloud-speech/default.nix
+++ b/pkgs/development/python-modules/google-cloud-speech/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-speech";
-  version = "2.13.1";
+  version = "2.14.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-JxhIC4OMsXjdJYNDomEhmHPUCzveFS0oeDWsX/wd5zA=";
+    hash = "sha256-D8t8+rscImUvpHCEFGTzLU5FpAMZ62iHhRfLzUXqGV8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphtage/default.nix b/pkgs/development/python-modules/graphtage/default.nix
index 500d157427d1c..a1bec8f3a1f40 100644
--- a/pkgs/development/python-modules/graphtage/default.nix
+++ b/pkgs/development/python-modules/graphtage/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "graphtage";
-  version = "0.2.5";
+  version = "0.2.6";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "trailofbits";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-cFOTbPv7CnRdet7bx5LVq5xp9LG4yNm0oxlW5aSEeZs=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-ZazqtrrCsoeJK7acj7Unpl+ZI2JL/khMN2aOSHdCHl0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gruut/default.nix b/pkgs/development/python-modules/gruut/default.nix
index 5078c6fdb3901..ccaf7b6f03898 100644
--- a/pkgs/development/python-modules/gruut/default.nix
+++ b/pkgs/development/python-modules/gruut/default.nix
@@ -3,7 +3,7 @@
 , callPackage
 , pythonOlder
 , fetchFromGitHub
-, Babel
+, babel
 , gruut-ipa
 , dateparser
 , jsonlines
@@ -54,7 +54,7 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    Babel
+    babel
     gruut-ipa
     jsonlines
     num2words
diff --git a/pkgs/development/python-modules/habanero/default.nix b/pkgs/development/python-modules/habanero/default.nix
index 0352ec41139df..0c8c724426ad2 100644
--- a/pkgs/development/python-modules/habanero/default.nix
+++ b/pkgs/development/python-modules/habanero/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "habanero";
-  version = "1.2.0";
+  version = "1.2.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "sckott";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-jxaO8nCR5jhXCPjhjVLKaGeQp9JF3ECQ1+j3TOJKawg=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-i6tgMEiaDcaBR8XfGvEMXQfTaDp1RJRosj/EfF1dQU4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 27c1a673eee96..5b205523f25c0 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "1.3.1";
+  version = "1.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-RgjsaGtji5vSQcv+npOYcXJNYUhx9Snz56BXnfoc2QY=";
+    sha256 = "sha256-1JYakfs+lLCfB2Ann1QfNw+MBrB9PiixOUqdA7UgbWE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hatchling/default.nix b/pkgs/development/python-modules/hatchling/default.nix
index 1a95d20cff707..6385b32a48cfe 100644
--- a/pkgs/development/python-modules/hatchling/default.nix
+++ b/pkgs/development/python-modules/hatchling/default.nix
@@ -21,7 +21,7 @@
 
 let
   pname = "hatchling";
-  version = "0.24.0";
+  version = "0.25.0";
 in
 buildPythonPackage {
   inherit pname version;
@@ -29,7 +29,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-zmdl9bW688tX0vgBlsUOIB43KMrNlTU/XJtPA9/fTrk=";
+    hash = "sha256-k/bjZvGaOjZshVr6w3Jb7XaC1dAOlIaraFQKCth2ZII=";
   };
 
   # listed in backend/src/hatchling/ouroboros.py
diff --git a/pkgs/development/python-modules/herepy/default.nix b/pkgs/development/python-modules/herepy/default.nix
index 71aad2650f369..045910d8a1a8e 100644
--- a/pkgs/development/python-modules/herepy/default.nix
+++ b/pkgs/development/python-modules/herepy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "herepy";
-  version = "3.5.7";
+  version = "3.5.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "abdullahselek";
     repo = "HerePy";
-    rev = version;
-    hash = "sha256-iPFFEFGH3csqzDtBtLkVkUezObwiMHNbiD/mTgIrdpo=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-BwuH3GxEXiIFFM0na8Jhgp7J5TPW41/u89LWf+EprG4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/humanize/default.nix b/pkgs/development/python-modules/humanize/default.nix
index fa13cdab0c23a..299bd9685940c 100644
--- a/pkgs/development/python-modules/humanize/default.nix
+++ b/pkgs/development/python-modules/humanize/default.nix
@@ -1,25 +1,26 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, freezegun
+, importlib-metadata
+, pytestCheckHook
 , pythonOlder
-, setuptools-scm
 , setuptools
-, pytestCheckHook
-, freezegun
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
-  version = "4.0.0";
+  version = "4.1.0";
   pname = "humanize";
   format = "pyproject";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
-    owner = "jmoiron";
+    owner = "python-humanize";
     repo = pname;
     rev = version;
-    sha256 = "sha256-v4OdZmUI2LCick4qCSGOHJ7jtWybwKTeTeIcly+QQQQ=";
+    hash = "sha256-5xL3gfEohDjnF085Pgx/PBXWWM76X4FU2KR+8OGshMw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -30,6 +31,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     setuptools
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
   ];
 
   checkInputs = [
@@ -37,11 +40,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "humanize"
+  ];
+
   meta = with lib; {
     description = "Python humanize utilities";
-    homepage = "https://github.com/jmoiron/humanize";
+    homepage = "https://github.com/python-humanize/humanize";
     license = licenses.mit;
     maintainers = with maintainers; [ rmcgibbo ];
   };
-
 }
diff --git a/pkgs/development/python-modules/ihatemoney/default.nix b/pkgs/development/python-modules/ihatemoney/default.nix
index 5092175b50cf1..459ebe5ad51f5 100644
--- a/pkgs/development/python-modules/ihatemoney/default.nix
+++ b/pkgs/development/python-modules/ihatemoney/default.nix
@@ -5,7 +5,7 @@
 , fetchPypi
 , alembic
 , aniso8601
-, Babel
+, babel
 , blinker
 , cachetools
 , click
@@ -54,7 +54,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aniso8601
-    Babel
+    babel
     blinker
     cachetools
     click
diff --git a/pkgs/development/python-modules/ijson/default.nix b/pkgs/development/python-modules/ijson/default.nix
index 3f65b9291ae65..3211aed644e08 100644
--- a/pkgs/development/python-modules/ijson/default.nix
+++ b/pkgs/development/python-modules/ijson/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchPypi, yajl, cffi, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "ijson";
@@ -9,7 +9,11 @@ buildPythonPackage rec {
     sha256 = "1d1003ae3c6115ec9b587d29dd136860a81a23c7626b682e2b5b12c9fd30e4ea";
   };
 
-  doCheck = false; # something about yajl
+  buildInputs = [ yajl ];
+  propagatedBuildInputs = [ cffi ];
+  checkInputs = [ pytestCheckHook ];
+
+  doCheck = true;
 
   meta = with lib; {
     description = "Iterative JSON parser with a standard Python iterator interface";
diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix
index c50563f550077..1dedac88b8ee0 100644
--- a/pkgs/development/python-modules/internetarchive/default.nix
+++ b/pkgs/development/python-modules/internetarchive/default.nix
@@ -56,5 +56,6 @@ buildPythonPackage rec {
     changelog = "https://github.com/jjjake/internetarchive/raw/v${version}/HISTORY.rst";
     license = licenses.agpl3Plus;
     maintainers = [ maintainers.marsam ];
+    mainProgram = "ia";
   };
 }
diff --git a/pkgs/development/python-modules/ipympl/default.nix b/pkgs/development/python-modules/ipympl/default.nix
index 226fea5b621dc..d17a4a85c3bc5 100644
--- a/pkgs/development/python-modules/ipympl/default.nix
+++ b/pkgs/development/python-modules/ipympl/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "ipympl";
-  version = "0.9.0";
+  version = "0.9.1";
   format = "wheel";
 
   src = fetchPypi {
     inherit pname version format;
-    sha256 = "sha256-HpO3T/zRbimxd1+nUkbSmclj7nPsMYuSUK0VJItZQs4=";
+    sha256 = "sha256-NQW0ctQSF4/RFeJVdk0efnYy1sgunebWKyVDijU3RoA=";
   };
 
 
diff --git a/pkgs/development/python-modules/jinja2/default.nix b/pkgs/development/python-modules/jinja2/default.nix
index 29b08df8e0fea..8f9113c98de20 100644
--- a/pkgs/development/python-modules/jinja2/default.nix
+++ b/pkgs/development/python-modules/jinja2/default.nix
@@ -3,24 +3,24 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, Babel
+, babel
 , markupsafe
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "Jinja2";
-  version = "3.1.1";
+  version = "3.1.2";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ZAvtS7UBy9FxlLPKzh3CEm9bYZzwaKcmuYGSoP3nSuk=";
+    sha256 = "sha256-MTUacCpAip51laj8YVD8P0O7a/fjGXcMvA2535Q36FI=";
   };
 
   propagatedBuildInputs = [
-    Babel
+    babel
     markupsafe
   ];
 
diff --git a/pkgs/development/python-modules/jsonschema/default.nix b/pkgs/development/python-modules/jsonschema/default.nix
index dd2a47f1bcb63..202e047dd8eec 100644
--- a/pkgs/development/python-modules/jsonschema/default.nix
+++ b/pkgs/development/python-modules/jsonschema/default.nix
@@ -4,9 +4,7 @@
 , fetchPypi
 , importlib-metadata
 , importlib-resources
-, pyperf
 , pyrsistent
-, pytestCheckHook
 , pythonOlder
 , setuptools-scm
 , twisted
@@ -15,16 +13,20 @@
 
 buildPythonPackage rec {
   pname = "jsonschema";
-  version = "4.4.0";
+  version = "4.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83";
+    sha256 = "sha256-fG2IJhk0DDNHob9zFeFH5tPa5DkDOuY4PWrLkIwQHfw=";
   };
 
+  postPatch = ''
+    patchShebangs json/bin/jsonschema_suite
+  '';
+
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
@@ -42,18 +44,21 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    pyperf
-    pytestCheckHook
     twisted
   ];
 
+  checkPhase = ''
+    export JSON_SCHEMA_TEST_SUITE=json
+    trial jsonschema
+  '';
+
   pythonImportsCheck = [
     "jsonschema"
   ];
 
   meta = with lib; {
     description = "An implementation of JSON Schema validation for Python";
-    homepage = "https://github.com/Julian/jsonschema";
+    homepage = "https://github.com/python-jsonschema/jsonschema";
     license = licenses.mit;
     maintainers = with maintainers; [ domenkozar ];
   };
diff --git a/pkgs/development/python-modules/jupyterlab_server/default.nix b/pkgs/development/python-modules/jupyterlab_server/default.nix
index e612cfaeab043..3fde727d148c0 100644
--- a/pkgs/development/python-modules/jupyterlab_server/default.nix
+++ b/pkgs/development/python-modules/jupyterlab_server/default.nix
@@ -6,7 +6,7 @@
 , requests
 , pytestCheckHook
 , pyjson5
-, Babel
+, babel
 , jupyter_server
 , openapi-core
 , pytest-tornasync
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     rm -r tests/translations/
   '';
 
-  propagatedBuildInputs = [ requests jsonschema pyjson5 Babel jupyter_server ];
+  propagatedBuildInputs = [ requests jsonschema pyjson5 babel jupyter_server ];
 
   checkInputs = [
     openapi-core
diff --git a/pkgs/development/python-modules/kajiki/default.nix b/pkgs/development/python-modules/kajiki/default.nix
index 6dd55a4876f18..76289816a2a82 100644
--- a/pkgs/development/python-modules/kajiki/default.nix
+++ b/pkgs/development/python-modules/kajiki/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, Babel
+, babel
 , pytz
 , nine
 , pytestCheckHook
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     sha256 = "f0d6dfa27eb2b6c0d2a28ae21d69dceb5363cc0432f4045bcc98aac42a662ccb";
   };
 
-  propagatedBuildInputs = [ Babel pytz nine ];
+  propagatedBuildInputs = [ babel pytz nine ];
   checkInputs = [ pytestCheckHook ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index 600304f48a127..4688b7394cc33 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -1,5 +1,5 @@
 { lib
-, Babel
+, babel
 , buildPythonPackage
 , click
 , exifread
@@ -40,7 +40,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    Babel
+    babel
     click
     exifread
     filetype
diff --git a/pkgs/development/python-modules/lxmf/default.nix b/pkgs/development/python-modules/lxmf/default.nix
index c6044844a62f6..8ae981cc1f1a8 100644
--- a/pkgs/development/python-modules/lxmf/default.nix
+++ b/pkgs/development/python-modules/lxmf/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "lxmf";
-  version = "0.1.5";
+  version = "0.1.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "lxmf";
     rev = "refs/tags/${version}";
-    hash = "sha256-9JG/EnL7vW4P7QiT6Xa0GLfmu1JeM0dlFSp3VRE47NI=";
+    hash = "sha256-n7ZEXz+jFokjqQJf8feDE6wuN2kI3xB0z+guUhGse3o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/m2r/default.nix b/pkgs/development/python-modules/m2r/default.nix
index 35331c14b08a7..fd1483826177b 100644
--- a/pkgs/development/python-modules/m2r/default.nix
+++ b/pkgs/development/python-modules/m2r/default.nix
@@ -1,5 +1,11 @@
-{ lib, buildPythonPackage, fetchPypi,
-  mistune, docutils } :
+{ lib
+, buildPythonPackage
+, fetchPypi
+, docutils
+, mistune
+, pygments
+}:
+
 buildPythonPackage rec {
   pname = "m2r";
   version = "0.2.1";
@@ -9,16 +15,19 @@ buildPythonPackage rec {
     sha256 = "bf90bad66cda1164b17e5ba4a037806d2443f2a4d5ddc9f6a5554a0322aaed99";
   };
 
+  postPatch = ''
+    substituteInPlace tests/test_cli.py \
+      --replace "optional" "positional"
+  '';
+
   propagatedBuildInputs = [ mistune docutils ];
 
-  # Some tests interfeere with each other (test.md and test.rst are
-  # deleted by some tests and not properly regenerated)
-  doCheck = false;
+  checkInputs = [ pygments ];
 
   meta = with lib; {
     homepage = "https://github.com/miyakogi/m2r";
-    description = "converts a markdown file including reST markups to a valid reST format";
+    description = "Markdown to reStructuredText converter";
     license = licenses.mit;
-    maintainers = [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index b62d4a67e755d..ca5b0d3184e02 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "4.1.16";
+  version = "4.1.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-A+lh+BggMSJ/PIcYMfX3u/YlKVqhG5IxbrHPb1U6Ll4=";
+    hash = "sha256-NfgLI490/9YoHIXTVD890RTe+qP9rrwAFv8Xkc1IY5s=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/manuel/default.nix b/pkgs/development/python-modules/manuel/default.nix
index 2f14ed863c3eb..27ec85a1f4d12 100644
--- a/pkgs/development/python-modules/manuel/default.nix
+++ b/pkgs/development/python-modules/manuel/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "manuel";
-  version = "1.10.1";
+  version = "1.11.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1bdzay7j70fly5fy6wbdi8fbrxjrrlxnxnw226rwry1c8a351rpy";
+    sha256 = "sha256-nJt3WMQ66oa3VlW5InJCzOea96Wf7WwxSbBp9WIfzqc=";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/markdown/default.nix b/pkgs/development/python-modules/markdown/default.nix
index 2c91e46d13d1b..7207edb5815c3 100644
--- a/pkgs/development/python-modules/markdown/default.nix
+++ b/pkgs/development/python-modules/markdown/default.nix
@@ -9,14 +9,16 @@
 
 buildPythonPackage rec {
   pname = "markdown";
-  version = "3.3.6";
+  version = "3.3.7";
 
   disabled = pythonOlder "3.6";
 
+  format = "setuptools";
+
   src = fetchPypi {
     pname = "Markdown";
     inherit version;
-    sha256 = "sha256-dt+K4yKU7Dnc+JNAOCiC36Epdfh/RcPtHs2x6M78cAY=";
+    sha256 = "cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
@@ -29,6 +31,8 @@ buildPythonPackage rec {
     ${python.interpreter} -m unittest discover
   '';
 
+  pythonImportsCheck = [ "markdown" ];
+
   meta = with lib; {
     description = "A Python implementation of John Gruber's Markdown with Extension support";
     homepage = "https://github.com/Python-Markdown/markdown";
diff --git a/pkgs/development/python-modules/marshmallow-oneofschema/default.nix b/pkgs/development/python-modules/marshmallow-oneofschema/default.nix
index a4b15ce9a5440..8fc946305bc8b 100644
--- a/pkgs/development/python-modules/marshmallow-oneofschema/default.nix
+++ b/pkgs/development/python-modules/marshmallow-oneofschema/default.nix
@@ -1,22 +1,43 @@
-{ lib, buildPythonPackage, fetchPypi, marshmallow, setuptools }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, marshmallow
+, pytestCheckHook
+, pythonOlder
+, setuptools
+}:
 
 buildPythonPackage rec {
   pname = "marshmallow-oneofschema";
   version = "3.0.1";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "62cd2099b29188c92493c2940ee79d1bf2f2619a71721664e5a98ec2faa58237";
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "marshmallow-code";
+    repo = pname;
+    rev = version;
+    hash = "sha256-x0v8WkfjGkP2668QIQiewQViYFDIS2zBWMULcDThWas=";
   };
 
-  propagatedBuildInputs = [ marshmallow setuptools ];
+  propagatedBuildInputs = [
+    marshmallow
+    setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "marshmallow_oneofschema" ];
+  pythonImportsCheck = [
+    "marshmallow_oneofschema"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/marshmallow-code/marshmallow-oneofschema";
     description = "Marshmallow library extension that allows schema (de)multiplexing";
+    homepage = "https://github.com/marshmallow-code/marshmallow-oneofschema";
     license = licenses.mit;
-    maintainers = [ maintainers.ivan-tkatchev ];
+    maintainers = with maintainers; [ ivan-tkatchev ];
   };
 }
diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix
index a4f60d8202a4c..50e7e71cc9e30 100644
--- a/pkgs/development/python-modules/marshmallow/default.nix
+++ b/pkgs/development/python-modules/marshmallow/default.nix
@@ -1,15 +1,17 @@
 { lib
 , buildPythonPackage
-, pythonOlder
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 , pytz
 , simplejson
+, packaging
 }:
 
 buildPythonPackage rec {
   pname = "marshmallow";
-  version = "3.13.0";
+  version = "3.15.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -17,9 +19,13 @@ buildPythonPackage rec {
     owner = "marshmallow-code";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tP/RKo2Hzxz2bT7ybRs9wGzq7TpsmzmOPi3BGuSLDA0=";
+    hash = "sha256-ZqMrMNfP/RKW2jQDNPgfhyeqmSc40pZbnrcXHbw2emc=";
   };
 
+  propagatedBuildInputs = [
+    packaging
+  ];
+
   checkInputs = [
     pytestCheckHook
     pytz
@@ -31,10 +37,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = ''
-      A lightweight library for converting complex objects to and from
-      simple Python datatypes.
-    '';
+    description = "Library for converting complex objects to and from simple Python datatypes";
     homepage = "https://github.com/marshmallow-code/marshmallow";
     license = licenses.mit;
     maintainers = with maintainers; [ cript0nauta ];
diff --git a/pkgs/development/python-modules/mkdocs-material/default.nix b/pkgs/development/python-modules/mkdocs-material/default.nix
index a0df100089261..feed177a9af2d 100644
--- a/pkgs/development/python-modules/mkdocs-material/default.nix
+++ b/pkgs/development/python-modules/mkdocs-material/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonApplication rec {
   pname = "mkdocs-material";
-  version = "8.2.11";
+  version = "8.2.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonApplication rec {
     owner = "squidfunk";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-YAXdIA36QWwdQxTux6Sy/F0j8lprSO+5/VezFcsGQYg=";
+    hash = "sha256-6x3ENFPGmtRDMV6YRGlTLCYusmX49LrGBDwicg8sDB0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mkdocs/default.nix b/pkgs/development/python-modules/mkdocs/default.nix
index 13604bc975a3e..2345ca93f94f0 100644
--- a/pkgs/development/python-modules/mkdocs/default.nix
+++ b/pkgs/development/python-modules/mkdocs/default.nix
@@ -16,7 +16,7 @@
 , pyyaml-env-tag
 , watchdog
   # testing deps
-, Babel
+, babel
 , mock
 , pytestCheckHook
 }:
@@ -47,7 +47,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    Babel
+    babel
     mock
   ];
 
diff --git a/pkgs/development/python-modules/mox/default.nix b/pkgs/development/python-modules/mox/default.nix
index 380dbe594a5a9..bd7fc589a7aa4 100644
--- a/pkgs/development/python-modules/mox/default.nix
+++ b/pkgs/development/python-modules/mox/default.nix
@@ -1,24 +1,41 @@
 { lib
 , buildPythonPackage
-, fetchurl
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+, six
 }:
 
 buildPythonPackage rec {
   pname = "mox";
-  version = "0.5.3";
+  version = "0.7.8";
+  format = "setuptools";
 
-  src = fetchurl {
-    url = "http://pymox.googlecode.com/files/${pname}-${version}.tar.gz";
-    sha256 = "4d18a4577d14da13d032be21cbdfceed302171c275b72adaa4c5997d589a5030";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "ivancrneto";
+    repo = "pymox";
+    rev = "v${version}";
+    hash = "sha256-gODE9IGDk3WtO8iPOlp98fGp6Ih2laA3YlOHmq62m8Y=";
   };
 
-  # error: invalid command 'test'
-  doCheck = false;
+  propagatedBuildInputs = [
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "mox"
+  ];
 
   meta = with lib; {
-    homepage = "https://pymox.readthedocs.io/";
-    description = "A mock object framework for Python";
+    description = "Mock object framework";
+    homepage = "https://github.com/ivancrneto/pymox";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/mt-940/default.nix b/pkgs/development/python-modules/mt-940/default.nix
index e169929294426..3b63b02986a2c 100644
--- a/pkgs/development/python-modules/mt-940/default.nix
+++ b/pkgs/development/python-modules/mt-940/default.nix
@@ -3,12 +3,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.23.0";
+  version = "4.26.0";
   pname = "mt-940";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9274bc8298b2d4b69cb3936bdcda315b50e45975789f519a237bdec58346b8d7";
+    sha256 = "sha256-HL56TXZNkjVnap0XIhBT/xDA2N80NLCLpvuXkxXu6zE=";
   };
 
   propagatedBuildInputs = lib.optional (!isPy3k) enum34;
diff --git a/pkgs/development/python-modules/napalm/default.nix b/pkgs/development/python-modules/napalm/default.nix
index ef59a33a956a3..09d38875db8e8 100644
--- a/pkgs/development/python-modules/napalm/default.nix
+++ b/pkgs/development/python-modules/napalm/default.nix
@@ -1,23 +1,42 @@
-{ lib, buildPythonPackage, fetchFromGitHub, callPackage, setuptools, cffi
+{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch, setuptools, cffi
 , paramiko, requests, future, textfsm, jinja2, netaddr, pyyaml, pyeapi, netmiko
 , junos-eznc, ciscoconfparse, scp, lxml, ncclient, pytestCheckHook, ddt, mock
-, pythonOlder, pythonAtLeast }:
+, pythonOlder }:
 
 buildPythonPackage rec {
   pname = "napalm";
-  version = "3.3.1";
+  version = "3.4.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6" || pythonAtLeast "3.9";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "napalm-automation";
     repo = "napalm";
     rev = version;
-    sha256 = "15h1h1a3avv48i14x96b8v7zkhmwg7dnzxycxr18f9530j237rq6";
+    sha256 = "sha256-TNWRJtc6+VS6wgJGGvCPDoFQmOKQAyXdjFQo9bPJ2F8=";
   };
 
+  patches = [
+    # netmiko 4.0.0 support
+    (fetchpatch{
+      url = "https://github.com/napalm-automation/napalm/commit/4b8cc85db3236099a04f742cf71773e74d9dd70e.patch";
+      excludes = [ "requirements.txt" ];
+      sha256 = "sha256-DBKp+wiKd+/j2xAqaQL3UCcGQd6wnWcNTsNXBBt9c98=";
+    })
+    (fetchpatch{
+      url = "https://github.com/napalm-automation/napalm/commit/4a8b5b1823335dd79aa5269c038a1f08ecd35cdd.patch";
+      sha256 = "sha256-uiou/rzmnFf4wAvXwmUsGJx99GeHWKJB2JrMM1kLakM=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "netmiko>=3.3.0,<4.0.0" "netmiko"
+  '';
+
   buildInputs = [ setuptools ];
+
   propagatedBuildInputs = [
     cffi
     paramiko
diff --git a/pkgs/development/python-modules/napalm/hp-procurve.nix b/pkgs/development/python-modules/napalm/hp-procurve.nix
index 774fdd2299ccd..f6ebfa980e6ea 100644
--- a/pkgs/development/python-modules/napalm/hp-procurve.nix
+++ b/pkgs/development/python-modules/napalm/hp-procurve.nix
@@ -30,12 +30,14 @@ buildPythonPackage rec {
     "test_method_signatures"
     # AttributeError: 'PatchedProcurveDriver' object has no attribute 'platform'
     "test_get_config_filtered"
+    # AssertionError
+    "test_get_interfaces"
   ];
 
   meta = with lib; {
     description = "HP ProCurve Driver for NAPALM automation frontend";
-    homepage =
-      "https://github.com/napalm-automation-community/napalm-hp-procurve";
+    homepage = "https://github.com/napalm-automation-community/napalm-hp-procurve";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/nats-py/default.nix b/pkgs/development/python-modules/nats-py/default.nix
index 3cc92514bd6ea..195fb37d33390 100644
--- a/pkgs/development/python-modules/nats-py/default.nix
+++ b/pkgs/development/python-modules/nats-py/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "nats-py";
-  version = "2.1.0";
+  version = "2.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "nats-io";
     repo = "nats.py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-OwxTcjHB1YLijEtTA+QFjEmihqXsiitIcCtdl/3uipI=";
+    hash = "sha256-i197ZePxngAhGh7xzaJoo7m8el+7t7yJrvhO2CTmajU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/netmiko/default.nix b/pkgs/development/python-modules/netmiko/default.nix
index 3081b5a6b7cdc..482c298a90e35 100644
--- a/pkgs/development/python-modules/netmiko/default.nix
+++ b/pkgs/development/python-modules/netmiko/default.nix
@@ -3,16 +3,15 @@
 
 buildPythonPackage rec {
   pname = "netmiko";
-  version = "4.0.0";
+  version = "4.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fVhBkiO1JpqMIFl32xlwSjeCd7aObocXPAr069fKdmc=";
+    sha256 = "sha256-VwUZdHr82WsEprB7rk5d62AwaCxzngftDgjeBZW4OWQ=";
   };
 
   buildInputs = [ setuptools ];
-  propagatedBuildInputs =
-    [ paramiko scp tenacity textfsm ntc-templates pyserial ];
+  propagatedBuildInputs = [ paramiko scp tenacity pyyaml textfsm ntc-templates pyserial ];
 
   # tests require closed-source pyats and genie packages
   doCheck = false;
diff --git a/pkgs/development/python-modules/nomadnet/default.nix b/pkgs/development/python-modules/nomadnet/default.nix
index 4505c33a696bd..ef7083980af5f 100644
--- a/pkgs/development/python-modules/nomadnet/default.nix
+++ b/pkgs/development/python-modules/nomadnet/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "nomadnet";
-  version = "0.1.7";
+  version = "0.1.8";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "markqvist";
     repo = "NomadNet";
     rev = version;
-    hash = "sha256-WJpcV6+cnK1525lbYvkWqrGasioph72nuoNV4oWxVK0=";
+    hash = "sha256-gqUCE35RPt7k0RAoZGJS1srB5K4v6gJkbTKQs8Lajm8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/numpy-stl/default.nix b/pkgs/development/python-modules/numpy-stl/default.nix
index 312170ee36c2a..f1af4662a9d85 100644
--- a/pkgs/development/python-modules/numpy-stl/default.nix
+++ b/pkgs/development/python-modules/numpy-stl/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "numpy-stl";
-  version = "2.16.3";
+  version = "2.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "95890627001efb2cb8d17418730cdc1bdd64b8dbb9862b01a8e0359d79fe863e";
+    sha256 = "sha256-G42ak4w4OAbE2RTe3STN03A43/rZqJBbB8rBm0TlOWU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix
index 6700b88479db8..405748599ab43 100644
--- a/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "13.4.3";
+  version = "13.4.4";
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-kriT3NV9Lj44WjOeK6+pILjfRMt9QMcKU57si394xxI=";
+    hash = "sha256-uFKnohUxh17h6u0vwVB7EaTEh5NRowP8a6za63Ehodk=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 5188ce6379592..38173eb4fe009 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -59,16 +59,6 @@ buildPythonPackage rec {
   # https://github.com/NixOS/nixpkgs/issues/39687
   hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
 
-  # For OSX, we need to add a dependency on libcxx, which provides
-  # `complex.h` and other libraries that pandas depends on to build.
-  postPatch = lib.optionalString stdenv.isDarwin ''
-    cpp_sdk="${lib.getDev libcxx}/include/c++/v1";
-    echo "Adding $cpp_sdk to the setup.py common_include variable"
-    substituteInPlace setup.py \
-      --replace "['pandas/src/klib', 'pandas/src']" \
-                "['pandas/src/klib', 'pandas/src', '$cpp_sdk']"
-  '';
-
   doCheck = !stdenv.isAarch32 && !stdenv.isAarch64; # upstream doesn't test this architecture
 
   # don't max out build cores, it breaks tests
diff --git a/pkgs/development/python-modules/peaqevcore/default.nix b/pkgs/development/python-modules/peaqevcore/default.nix
index 4b11263017dd4..e8d18f752fe4f 100644
--- a/pkgs/development/python-modules/peaqevcore/default.nix
+++ b/pkgs/development/python-modules/peaqevcore/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "peaqevcore";
-  version = "0.0.23";
+  version = "0.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-z59TJ+P7WNMcTyevi4etWUFUnBJXAVhDOnO4GXjjuR0=";
+    hash = "sha256-jGKB2LYp2RGy+E76ZvRdOzPdT+7fL4ZTEilHDiXbAMw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 214f5f8bf408e..6fba5f820d969 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.88";
+  version = "2.1.89";
   format = "flit";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-lDUmudfs3Py4ytHsEvgnTiMvVQkom9X+uCeZHhTshjc=";
+    hash = "sha256-7/rJe/A6CbkminjFuL+8eIdj0kYzNMKynWX0umAMRAA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pg8000/default.nix b/pkgs/development/python-modules/pg8000/default.nix
index c871a7bccb850..b3ac256e0bb53 100644
--- a/pkgs/development/python-modules/pg8000/default.nix
+++ b/pkgs/development/python-modules/pg8000/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "pg8000";
-  version = "1.26.1";
+  version = "1.28.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-zNK2/hkK3ddMCTpivgcwuemfPqA6oO96uV7Rt/9p0lc=";
+    sha256 = "sha256-Q1E949TjeOc6xEKpOQa6qdNWJFqmeqf2FgXFbjmn9ZE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/phik/default.nix b/pkgs/development/python-modules/phik/default.nix
index 2919fb5c733a5..2e0dc2b8b2676 100644
--- a/pkgs/development/python-modules/phik/default.nix
+++ b/pkgs/development/python-modules/phik/default.nix
@@ -15,12 +15,14 @@
 , ninja
 , numba
 , pybind11
+, scikit-build
 }:
 
 buildPythonPackage rec {
   pname = "phik";
   version = "0.12.2";
   disabled = !isPy3k;
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
@@ -50,10 +52,13 @@ buildPythonPackage rec {
   nativeBuildInputs = [
     cmake
     ninja
+    scikit-build
   ];
 
+  pythonImportCheck = [ "phik" ];
+
   postInstall = ''
-  rm -r $out/bin
+    rm -r $out/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index 0b72031a4bc7c..b86dabee9f2a0 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "5.1.2";
+  version = "5.1.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -40,7 +40,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-VR2/+XCQb62FdkGZBxP2XTqatdFYZO1ngb8gvoJEvzs=";
+    hash = "sha256-jkAwc1bQ1jRDf/qY+xAjiLXXO98qKjyX+J7Lu4tYWoI=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pip-api/default.nix b/pkgs/development/python-modules/pip-api/default.nix
new file mode 100644
index 0000000000000..5e4412dcf8577
--- /dev/null
+++ b/pkgs/development/python-modules/pip-api/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pip
+, pretend
+, pytestCheckHook
+, pythonOlder
+, virtualenv
+}:
+
+buildPythonPackage rec {
+  pname = "pip-api";
+  version = "0.0.29";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-9wFYTrHD4BAhyEb4nWKauTc7ZiTwYmdXd0rVT8TClXE=";
+  };
+
+  propagatedBuildInputs = [
+    pip
+  ];
+
+  checkInputs = [
+    pretend
+    pytestCheckHook
+    virtualenv
+  ];
+
+  pythonImportsCheck = [
+    "pip_api"
+  ];
+
+  disabledTests = [
+    "test_hash"
+    "test_hash_default_algorithm_is_256"
+    "test_installed_distributions"
+    "test_invoke_install"
+    "test_invoke_uninstall"
+    "test_isolation"
+  ];
+
+  meta = with lib; {
+    description = "Importable pip API";
+    homepage = "https://github.com/di/pip-api";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pkgconfig/default.nix b/pkgs/development/python-modules/pkgconfig/default.nix
index 105beaccb9b0a..6721390d7abb8 100644
--- a/pkgs/development/python-modules/pkgconfig/default.nix
+++ b/pkgs/development/python-modules/pkgconfig/default.nix
@@ -26,12 +26,9 @@ buildPythonPackage rec {
     sha256 = "sha256-uuLUGRNLCR3NS9g6OPCI+qG7tPWsLhI3OE5WmSI3vm8=";
   };
 
-  patches = [ ./executable.patch ];
-
   postPatch = ''
-    rm pkgconfig/pkgconfig.py.orig
     substituteInPlace pkgconfig/pkgconfig.py \
-      --replace 'PKG_CONFIG_EXE = "pkg-config"' 'PKG_CONFIG_EXE = "${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config"'
+      --replace "pkg_config_exe = os.environ.get('PKG_CONFIG', None) or 'pkg-config'" "pkg_config_exe = '${pkg-config}/bin/${pkg-config.targetPrefix}pkg-config'"
 
     # those pc files are missing and pkg-config validates that they exist
     substituteInPlace data/fake-openssl.pc \
@@ -40,8 +37,6 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ poetry-core ];
 
-  propagatedNativeBuildInputs = [ pkg-config ];
-
   checkInputs = [ pytestCheckHook ];
 
   pythonImportsCheck = [ "pkgconfig" ];
diff --git a/pkgs/development/python-modules/pkgconfig/executable.patch b/pkgs/development/python-modules/pkgconfig/executable.patch
deleted file mode 100644
index 79fca7a44f1b4..0000000000000
--- a/pkgs/development/python-modules/pkgconfig/executable.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-commit d8e0bac0c0d831510683939ec7a7b5bd72192423
-Author: Frederik Rietdijk <fridh@fridh.nl>
-Date:   Sat Jan 5 11:38:28 2019 +0100
-
-    Have a top-level attribute for the executable
-
-diff --git a/pkgconfig/pkgconfig.py b/pkgconfig/pkgconfig.py
-index 3deb97f..e7c5561 100644
---- a/pkgconfig/pkgconfig.py
-+++ b/pkgconfig/pkgconfig.py
-@@ -30,6 +30,9 @@ from functools import wraps
- from subprocess import call, PIPE, Popen
- 
- 
-+PKG_CONFIG_EXE = "pkg-config"
-+
-+
- def _compare_versions(v1, v2):
-     """
-     Compare two version strings and return -1, 0 or 1 depending on the equality
-@@ -65,7 +68,7 @@ def _convert_error(func):
- 
- @_convert_error
- def _query(package, *options):
--    pkg_config_exe = os.environ.get('PKG_CONFIG', None) or 'pkg-config'
-+    pkg_config_exe = os.environ.get('PKG_CONFIG', None) or PKG_CONFIG_EXE
-     cmd = '{0} {1} {2}'.format(pkg_config_exe, ' '.join(options), package)
-     proc = Popen(shlex.split(cmd), stdout=PIPE, stderr=PIPE)
-     out, err = proc.communicate()
-@@ -84,7 +87,7 @@ def exists(package):
- 
-     If ``pkg-config`` not on path, raises ``EnvironmentError``.
-     """
--    pkg_config_exe = os.environ.get('PKG_CONFIG', None) or 'pkg-config'
-+    pkg_config_exe = os.environ.get('PKG_CONFIG', None) or PKG_CONFIG_EXE
-     cmd = '{0} --exists {1}'.format(pkg_config_exe, package).split()
-     return call(cmd) == 0
- 
diff --git a/pkgs/development/python-modules/plaid-python/default.nix b/pkgs/development/python-modules/plaid-python/default.nix
index efcdf3fd3a326..3b68fef41727c 100644
--- a/pkgs/development/python-modules/plaid-python/default.nix
+++ b/pkgs/development/python-modules/plaid-python/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "plaid-python";
-  version = "9.3.0";
+  version = "9.4.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7H6fpJl192L8MEWrQW89Fa/BTZ2GZXjDRcy0yc17hDI=";
+    hash = "sha256-Md4vzAirCm5fjcTAeiLIQwH0MAP47r2AT8O5yigGqv8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/platformdirs/default.nix b/pkgs/development/python-modules/platformdirs/default.nix
index 584d9361fb767..e04b40bc1e44e 100644
--- a/pkgs/development/python-modules/platformdirs/default.nix
+++ b/pkgs/development/python-modules/platformdirs/default.nix
@@ -2,17 +2,17 @@
 , appdirs
 , buildPythonPackage
 , fetchFromGitHub
-, platformdirs
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
-, setuptools-scm
+, hatchling
+, hatch-vcs
 }:
 
 buildPythonPackage rec {
   pname = "platformdirs";
-  version = "2.5.1";
-  format = "setuptools";
+  version = "2.5.2";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -20,13 +20,14 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-z6WIwTWLlc/chNRxt3dqqa/IxYj1BBTcQ6OcfliHrvA=";
+    sha256 = "sha256-c7gGgqOUVYA6wYU4+nQsYYw4Gn+DpMoIq2nP8nEdPcg=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
 
   nativeBuildInputs = [
-    setuptools-scm
+    hatchling
+    hatch-vcs
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index 7bbfbdb27d3b2..ef88131bea6a3 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.18.3";
+  version = "0.18.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "python-plugwise";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-aNlPOgUChLFkPPZtb3o4A49uoSBjxKaq3WtuupHlmi8=";
+    sha256 = "sha256-a4mbkwjdLOnoxe4Cj43IXGALqbTKqinoJAiPWfc79/8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
index bdc484fd1bb3c..ff730f834d727 100644
--- a/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
+++ b/pkgs/development/python-modules/poetry-dynamic-versioning/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "poetry-dynamic-versioning";
-  version = "0.16.0";
+  version = "0.17.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mtkennerly";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-dLtZSm10OYWLRK4eRo83RczW0zBVAUF0HQXLQbeDJCk=";
+    hash = "sha256-u4rqkwy5C1+OrHJUsc/9Sy3YyxWlsTv8cbB1bBKh2K4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pretend/default.nix b/pkgs/development/python-modules/pretend/default.nix
index 87e0e6613b1dd..0134b0dc36a4b 100644
--- a/pkgs/development/python-modules/pretend/default.nix
+++ b/pkgs/development/python-modules/pretend/default.nix
@@ -1,19 +1,36 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "pretend";
   version = "1.0.9";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "c90eb810cde8ebb06dafcb8796f9a95228ce796531bc806e794c2f4649aa1b10";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "alex";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-OqMfeIMFNBBLq6ejR3uOCIHZ9aA4zew7iefVlAsy1JQ=";
   };
 
-  # No tests in archive
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pretend"
+  ];
 
   meta = with lib; {
+    description = "Module for stubbing";
     homepage = "https://github.com/alex/pretend";
     license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pycfmodel/default.nix b/pkgs/development/python-modules/pycfmodel/default.nix
index 9aa41214bfcf0..87f3798410a89 100644
--- a/pkgs/development/python-modules/pycfmodel/default.nix
+++ b/pkgs/development/python-modules/pycfmodel/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pycfmodel";
-  version = "0.19.1";
+  version = "0.20.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Skyscanner";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-k059AfI3dTPMLAOColmTG4kz0z2bLO1oi8Bg0QeLork=";
+    hash = "sha256-c6RbglmG/A1fVOLmJLRsyMy9EgEIzpXnIe9Co/OLMSg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pydy/default.nix b/pkgs/development/python-modules/pydy/default.nix
index 9bfa5aa3d7c30..b342a2a99e03b 100644
--- a/pkgs/development/python-modules/pydy/default.nix
+++ b/pkgs/development/python-modules/pydy/default.nix
@@ -6,31 +6,38 @@
 , numpy
 , scipy
 , sympy
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pydy";
   version = "0.6.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "sha256-e/Ssfd5llioA7ccLULlRdHR113IbR4AJ4/HmzQuU7vI=";
   };
 
-  checkInputs = [
-    nose
-    cython
-  ];
-
   propagatedBuildInputs = [
     numpy
     scipy
     sympy
   ];
 
-  checkPhase = ''
-    nosetests
-  '';
+  checkInputs = [
+    nose
+    cython
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Tests not fixed yet. Check https://github.com/pydy/pydy/issues/465
+    "test_generate_cse"
+    "test_generate_code_blocks"
+    "test_doprint"
+    "test_OctaveMatrixGenerator"
+  ];
 
   meta = with lib; {
     description = "Python tool kit for multi-body dynamics";
diff --git a/pkgs/development/python-modules/pyfzf/default.nix b/pkgs/development/python-modules/pyfzf/default.nix
new file mode 100644
index 0000000000000..3578f863fa483
--- /dev/null
+++ b/pkgs/development/python-modules/pyfzf/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fzf
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyfzf";
+  version = "0.3.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "nk412";
+    repo = pname;
+    rev = version;
+    hash = "sha256-w+ZjQGFd/lR2TiTHc2uQSJXORmzJJZXsr9BO4PIw/Co=";
+  };
+
+  propagatedBuildInputs = [
+    fzf
+  ];
+
+  pythonImportsCheck = [
+    "pyfzf"
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Wrapper for fzf";
+    homepage = "https://github.com/nk412/pyfzf";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pygments/default.nix b/pkgs/development/python-modules/pygments/default.nix
new file mode 100644
index 0000000000000..c8759a2fe0569
--- /dev/null
+++ b/pkgs/development/python-modules/pygments/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, docutils
+, lxml
+, pytestCheckHook
+, wcag-contrast-ratio
+}:
+
+let pygments = buildPythonPackage
+  rec {
+    pname = "pygments";
+    version = "2.12.0";
+
+    src = fetchPypi {
+      pname = "Pygments";
+      inherit version;
+      sha256 = "sha256-XrEWEY+WEv8e6JrJZDe7a0no8E2KE7UUuib2ICCOJus=";
+    };
+
+    propagatedBuildInputs = [
+      docutils
+    ];
+
+    # circular dependencies if enabled by default
+    doCheck = false;
+    checkInputs = [
+      lxml
+      pytestCheckHook
+      wcag-contrast-ratio
+    ];
+
+    disabledTestPaths = [
+      # 5 lines diff, including one nix store path in 20000+ lines
+      "tests/examplefiles/bash/ltmain.sh"
+    ];
+
+    pythonImportsCheck = [ "pygments" ];
+
+    passthru.tests = {
+      check = pygments.overridePythonAttrs (_: { doCheck = true; });
+    };
+
+    meta = with lib; {
+      homepage = "https://pygments.org/";
+      description = "A generic syntax highlighter";
+      license = licenses.bsd2;
+      maintainers = with maintainers; [ SuperSandro2000 ];
+    };
+  };
+in pygments
diff --git a/pkgs/development/python-modules/pygobject/3.nix b/pkgs/development/python-modules/pygobject/3.nix
index dec84b4eccff3..447d49a9442e6 100644
--- a/pkgs/development/python-modules/pygobject/3.nix
+++ b/pkgs/development/python-modules/pygobject/3.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pygobject";
-  version = "3.42.0";
+  version = "3.42.1";
 
   outputs = [ "out" "dev" ];
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "mxJhbjLPx5L53IQdnEcqQaNbhbpn06brQn4wem/kNns=";
+    sha256 = "HzS192JN415E61p+tCg1MoW9AwBNVRMaX39/qbkPPMk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pylsp-mypy/default.nix b/pkgs/development/python-modules/pylsp-mypy/default.nix
index c855127079773..5358b18402f2b 100644
--- a/pkgs/development/python-modules/pylsp-mypy/default.nix
+++ b/pkgs/development/python-modules/pylsp-mypy/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pylsp-mypy";
-  version = "0.5.7";
+  version = "0.5.8";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Richardk2n";
     repo = "pylsp-mypy";
-    rev = version;
-    sha256 = "0am16z9kmj57r5pi32jhzlbdngzmvzzaiqjm7cba1izh7w5m6dvc";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-Yu1e/8gYFYEZ/IoFo8WnyRNYkCZ9i7NgjEjYBbagWMA=";
   };
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/pymdown-extensions/default.nix b/pkgs/development/python-modules/pymdown-extensions/default.nix
index 94a73fd82112f..068c3196952d4 100644
--- a/pkgs/development/python-modules/pymdown-extensions/default.nix
+++ b/pkgs/development/python-modules/pymdown-extensions/default.nix
@@ -1,7 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
+, hatchling
 , pytestCheckHook
 , markdown
 , pyyaml
@@ -38,26 +38,17 @@ let
 in
 buildPythonPackage rec {
   pname = "pymdown-extensions";
-  version = "9.1";
+  version = "9.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "facelessuser";
     repo = "pymdown-extensions";
     rev = version;
-    sha256 = "sha256-II8Po8144h3wPFrzMbOB/qiCm2HseYrcZkyIZFGT+ek=";
+    sha256 = "sha256-9oYLDerz6ZcE4QyLO4mFPuHws8oZoXX8LcSV209MFec=";
   };
 
-  patches = [
-    # this patch is needed to allow tests to pass for later versions of the
-    # markdown dependency
-    #
-    # it can be removed after the next pymdown-extensions release
-    (fetchpatch {
-      url = "https://github.com/facelessuser/pymdown-extensions/commit/8ee5b5caec8f9373e025f50064585fb9d9b71f86.patch";
-      sha256 = "sha256-jTHNcsV0zL0EkSTSj8zCGXXtpUaLnNPldmL+krZj3Gk=";
-    })
-  ];
+  nativeBuildInputs = [ hatchling ];
 
   propagatedBuildInputs = [ markdown pygments ];
 
diff --git a/pkgs/development/python-modules/pynetgear/default.nix b/pkgs/development/python-modules/pynetgear/default.nix
index 454c684076b5e..464417740c365 100644
--- a/pkgs/development/python-modules/pynetgear/default.nix
+++ b/pkgs/development/python-modules/pynetgear/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pynetgear";
-  version = "0.10.0";
+  version = "0.10.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "MatMaul";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-l+hfE1YdSoMWLonSWKX0809M0OCYxpcvPd4gV9mS4DI=";
+    sha256 = "sha256-XGD1kA64rUC6WvG7VGX+f3g7fBvWqfA4ujiWAQzKeEA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyparsing/default.nix b/pkgs/development/python-modules/pyparsing/default.nix
index fb5abc5c3522b..3d10fca06c059 100644
--- a/pkgs/development/python-modules/pyparsing/default.nix
+++ b/pkgs/development/python-modules/pyparsing/default.nix
@@ -1,9 +1,7 @@
 { buildPythonPackage
 , fetchFromGitHub
 , lib
-
-# since this is a dependency of pytest, we need to avoid
-# circular dependencies
+, flit-core
 , jinja2
 , pytestCheckHook
 , railroad-diagrams
@@ -12,16 +10,21 @@
 let
   pyparsing = buildPythonPackage rec {
     pname = "pyparsing";
-    version = "3.0.7";
+    version = "3.0.9";
+    format = "pyproject";
 
     src = fetchFromGitHub {
       owner = "pyparsing";
       repo = pname;
       rev = "pyparsing_${version}";
-      sha256 = "sha256-RyvTTbFshAZgyZPgzqcq31E504RlnMZuf16jJYGqDDI=";
+      sha256 = "sha256-aCRyJQyLf8qQ6NO41q+HC856TjIHzIt0vyVBLV+3teE=";
     };
 
-    # circular dependencies if enabled by default
+    nativeBuildInputs = [
+      flit-core
+    ];
+
+    # circular dependencies with pytest if enabled by default
     doCheck = false;
     checkInputs = [
       jinja2
@@ -43,4 +46,4 @@ let
     };
   };
 in
-  pyparsing
+pyparsing
diff --git a/pkgs/development/python-modules/pyrfxtrx/default.nix b/pkgs/development/python-modules/pyrfxtrx/default.nix
index 30dd52e3eeaf8..663440965fd3b 100644
--- a/pkgs/development/python-modules/pyrfxtrx/default.nix
+++ b/pkgs/development/python-modules/pyrfxtrx/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pyrfxtrx";
-  version = "0.28.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pyRFXtrx";
     rev = version;
-    hash = "sha256-Ty+yIA8amKyV3z++7n1m/YRH0gEoVIVTdX8xiZYp/eM=";
+    hash = "sha256-0tdT7UIT9F2z9+ufnzaACVxRybWxFjZObYQCd3hcXTk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix
index 37e6467c4a793..ae79f36a06cf3 100644
--- a/pkgs/development/python-modules/pyrogram/default.nix
+++ b/pkgs/development/python-modules/pyrogram/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "2.0.23";
+  version = "2.0.24";
 
   disabled = pythonOlder "3.7";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "pyrogram";
     repo = "pyrogram";
     rev = "v${version}";
-    hash = "sha256-+qJfqC6jLfrPwXl6zR7b21jY/s9leWeBxVgMa1IDRg4=";
+    hash = "sha256-YcVVXaPM+X+9prjgRYYSs8dkho3YKvtn/0FNJVnsrGM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyshark/default.nix b/pkgs/development/python-modules/pyshark/default.nix
index 1bb91953983f2..ded9bcbbc4eda 100644
--- a/pkgs/development/python-modules/pyshark/default.nix
+++ b/pkgs/development/python-modules/pyshark/default.nix
@@ -1,38 +1,53 @@
-{ lib, buildPythonPackage, fetchFromGitHub, py, lxml, pytestCheckHook, wireshark-cli }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, lxml
+, packaging
+, py
+, pytestCheckHook
+, pythonOlder
+, wireshark-cli
+}:
 
 buildPythonPackage rec {
   pname = "pyshark";
-  version = "0.4.3";
+  version = "0.4.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "KimiNewt";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-cveiFkkSplfQPgUEVWyV40KKHCtKJZsfvdV8JmEUmE4=";
+    # 0.4.5 was the last release which was tagged
+    # https://github.com/KimiNewt/pyshark/issues/541
+    rev = "8f8f13aba6ae716aa0a48175255063fe542fdc3b";
+    hash = "sha256-v9CC9hgTABAiJ0qiFZ/9/zMmHzJXKq3neGtTq/ucnT4=";
   };
 
+  sourceRoot = "${src.name}/src";
+
   propagatedBuildInputs = [
     py
     lxml
+    packaging
   ];
 
-  preConfigure = ''
-    cd src
-  '';
-
-  preCheck = ''
-    cd ..
-  '';
-
   checkInputs = [
     pytestCheckHook
     wireshark-cli
   ];
 
-  pythonImportsCheck = [ "pyshark" ];
+  pythonImportsCheck = [
+    "pyshark"
+  ];
+
+  pytestFlagsArray = [
+    "../tests/"
+  ];
 
   meta = with lib; {
-    description = "Python wrapper for tshark, allowing python packet parsing using wireshark dissectors";
+    description = "Python wrapper for tshark, allowing Python packet parsing using Wireshark dissectors";
     homepage = "https://github.com/KimiNewt/pyshark/";
     license = licenses.mit;
     maintainers = with maintainers; [ petabyteboy ];
diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix
index 2a3c7166f0cd3..54365e5900d66 100644
--- a/pkgs/development/python-modules/pyskyqremote/default.nix
+++ b/pkgs/development/python-modules/pyskyqremote/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyskyqremote";
-  version = "0.3.7";
+  version = "0.3.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "RogerSelwyn";
     repo = "skyq_remote";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-VdoAtY+uZ4M6UNjYplqxx8S11eyKzqypW7IYCXOO2kQ=";
+    sha256 = "sha256-KEeTakVXt8a+SYbSGHOHAJwOa+T99qAIxAbvyMvb54A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-heatclient/default.nix b/pkgs/development/python-modules/python-heatclient/default.nix
index d78682a8c66cf..dc1694b83e8e8 100644
--- a/pkgs/development/python-modules/python-heatclient/default.nix
+++ b/pkgs/development/python-modules/python-heatclient/default.nix
@@ -2,7 +2,7 @@
 , buildPythonApplication
 , fetchPypi
 , pbr
-, Babel
+, babel
 , cliff
 , iso8601
 , osc-lib
@@ -31,7 +31,7 @@ buildPythonApplication rec {
 
   propagatedBuildInputs = [
     pbr
-    Babel
+    babel
     cliff
     iso8601
     osc-lib
diff --git a/pkgs/development/python-modules/python-manilaclient/default.nix b/pkgs/development/python-modules/python-manilaclient/default.nix
index 09dc46ba9552c..765279718348b 100644
--- a/pkgs/development/python-modules/python-manilaclient/default.nix
+++ b/pkgs/development/python-modules/python-manilaclient/default.nix
@@ -13,7 +13,7 @@
 , simplejson
 , sphinx
 , sphinxcontrib-programoutput
-, Babel
+, babel
 , osc-lib
 , python-keystoneclient
 , debtcollector
@@ -45,7 +45,7 @@ buildPythonApplication rec {
     prettytable
     requests
     simplejson
-    Babel
+    babel
     osc-lib
     python-keystoneclient
     debtcollector
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index 682bc0d80ac71..095de81b26190 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.2.3";
+  version = "9.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-uGZlWDTDczBiNCd4D4y6Umz44G8Zn3Zr8/R7Kn+4aS8=";
+    hash = "sha256-r+dmf5qIjiN5vmdzBmPORnPWPrjLKGks+OAdZXdAbOc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pywlroots/default.nix b/pkgs/development/python-modules/pywlroots/default.nix
index fdae8fdc10441..410e52372652e 100644
--- a/pkgs/development/python-modules/pywlroots/default.nix
+++ b/pkgs/development/python-modules/pywlroots/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "pywlroots";
-  version = "0.15.13";
+  version = "0.15.14";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "teZ8udox+4NefgA73gD5d6hPur/zjCapoMYPW36ax0s=";
+    sha256 = "z0PVjVzmAb5cgBdXWMxOdsy0VMMkmewHZaPNBYivXSA=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/rich/default.nix b/pkgs/development/python-modules/rich/default.nix
index 4def2f46317f6..765ef5ba7d5a0 100644
--- a/pkgs/development/python-modules/rich/default.nix
+++ b/pkgs/development/python-modules/rich/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "rich";
-  version = "12.3.0";
+  version = "12.4.1";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Textualize";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/BPJcFjUldbTa/M3i9jGGU7apbrTcWbF+yrrFuLXcHY=";
+    sha256 = "sha256-6fr5mtZwXdZihoHEjF1jJxOLH3ajPX1tF2N/ZCV9g50=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/rns/default.nix b/pkgs/development/python-modules/rns/default.nix
index fde916994a41e..26126e92b97e9 100644
--- a/pkgs/development/python-modules/rns/default.nix
+++ b/pkgs/development/python-modules/rns/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "rns";
-  version = "0.3.5";
+  version = "0.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,8 +17,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "markqvist";
     repo = "Reticulum";
-    rev = version;
-    hash = "sha256-LzrI5pJ3mLaxikqS1eWFvdgneoCnsRTYWbshVX7U8lg=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-awVUE5sViaGBne82oAxGeabZSnLn/dzBQTwP7xRdYKE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-build/default.nix b/pkgs/development/python-modules/scikit-build/default.nix
index 17b2ac3556702..4a466fcef06de 100644
--- a/pkgs/development/python-modules/scikit-build/default.nix
+++ b/pkgs/development/python-modules/scikit-build/default.nix
@@ -1,7 +1,6 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, fetchpatch
 , distro
 , packaging
 , python
@@ -24,21 +23,14 @@
 
 buildPythonPackage rec {
   pname = "scikit-build";
-  version = "0.14.1";
+  version = "0.15.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Fwc9g3tWVRvt6Pa++utOuj2UM15ZAjmELjZg8HY6CRo=";
+    sha256 = "sha256-5yPNDzSJoEI3C56piLu5z9dyXoslsgyhx5gYIfz2X7k=";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/scikit-build/scikit-build/commit/59cf7a5b09a71d418947db3c9d487471c4573a24.patch";
-      sha256 = "sha256-oQllX3qzwWwllczXUMObrwndCfvMdS5FulEhbBORAks=";
-    })
-  ];
-
   propagatedBuildInputs = [
     distro
     packaging
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index 7e80ad35c5c5b..b3122653a8403 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.16.1";
+  version = "3.16.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-XTt2R0JypbDGJtiWqFzmui7UVLK4/U46co7LcHkSbWo=";
+    sha256 = "sha256-xecmza5Zsv6mJ4SCRl5VnGseKJG1yznBbLZ1tyBSjIE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index 020cf5c143a2f..4639cf43d31b6 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -4,7 +4,7 @@
 , pythonOlder
 , fetchFromGitHub
 # propagatedBuildInputs
-, Babel
+, babel
 , alabaster
 , docutils
 , imagesize
@@ -51,10 +51,16 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace "docutils>=0.14,<0.18" "docutils>=0.14"
+
+    # remove impurity caused by date inclusion 
+    # https://github.com/sphinx-doc/sphinx/blob/master/setup.cfg#L4-L6
+    substituteInPlace setup.cfg \
+      --replace "tag_build = .dev" "" \
+      --replace "tag_date = true" ""
   '';
 
   propagatedBuildInputs = [
-    Babel
+    babel
     alabaster
     docutils
     imagesize
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index b6e800a7ed3d8..0bed203007c13 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.4.35";
+  version = "1.4.36";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-L/yBOwHcZHOZD15XXyEMpawvVGWs45CLeP/W0gBYqrU=";
+    hash = "sha256-ZGeKwyHWSkWQHvLiRyXsXng/H0pYgwXhlkMUR+es4kM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/stack-data/default.nix b/pkgs/development/python-modules/stack-data/default.nix
index eb9879a4bf02d..7f319333cac8a 100644
--- a/pkgs/development/python-modules/stack-data/default.nix
+++ b/pkgs/development/python-modules/stack-data/default.nix
@@ -49,8 +49,10 @@ buildPythonPackage rec {
 
   disabledTests = [
     # AssertionError
-    "test_variables"
     "test_example"
+    "test_executing_style_defs"
+    "test_pygments_example"
+    "test_variables"
   ];
 
   pythonImportsCheck = [ "stack_data" ];
diff --git a/pkgs/development/python-modules/starline/default.nix b/pkgs/development/python-modules/starline/default.nix
index 4f4ad545f2df8..ce7418a887342 100644
--- a/pkgs/development/python-modules/starline/default.nix
+++ b/pkgs/development/python-modules/starline/default.nix
@@ -2,23 +2,21 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, aiohttp
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "starline";
-  version = "0.1.5";
+  version = "0.2.0";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1753f5fcd2a6976aed775afb03f8392159f040c673917cc0c634510d95c13cb9";
+    sha256 = "550b00ab95cf59d933f7708abab40a4e41e5790e62b653471afe86a3af3320e6";
   };
 
   propagatedBuildInputs = [
-    aiohttp
     requests
   ];
 
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index a25c8d235674b..195f05dc98db1 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -30,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "thinc";
-  version = "8.0.15";
+  version = "8.0.16";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LjFQINqFw3keGR+/N8SiQz9XzzIuJzgNoM1N6Z2WBTs=";
+    sha256 = "sha256-S8eBpRqHiaxAKzbvLgfRdjbRKniQACdU+NcPBbto31E=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/torchmetrics/default.nix b/pkgs/development/python-modules/torchmetrics/default.nix
index ddccb4d78657a..590f9a835930d 100644
--- a/pkgs/development/python-modules/torchmetrics/default.nix
+++ b/pkgs/development/python-modules/torchmetrics/default.nix
@@ -15,7 +15,7 @@
 
 let
   pname = "torchmetrics";
-  version = "0.8.1";
+  version = "0.8.2";
 in
 buildPythonPackage {
   inherit pname version;
@@ -23,8 +23,8 @@ buildPythonPackage {
   src = fetchFromGitHub {
     owner = "PyTorchLightning";
     repo = "metrics";
-    rev = "v${version}";
-    hash = "sha256-AryEhYAeC97dO2pgHoz0Y9F//DVdX6RfCa80gI56iz4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-1TO2YgZzjVmrE5jhMwo0Y+bQUQ5jJj34k+kGpdqqPVQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index 315678b874efa..2d021e0a502df 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.12.0";
+  version = "3.12.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-RcRFF5vIMOQsPXbd2g8DSnOrWnpLLNe3Sa8PqAdwFvU=";
+    sha256 = "sha256-MrvfSC6Uz/EJXQ3F5jAbWR0YJYRjqjwO7SIe0AUSOfA=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/ttp-templates/default.nix b/pkgs/development/python-modules/ttp-templates/default.nix
index 46db94782be5c..45548ee21c2ba 100644
--- a/pkgs/development/python-modules/ttp-templates/default.nix
+++ b/pkgs/development/python-modules/ttp-templates/default.nix
@@ -1,11 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, netmiko
-, pytestCheckHook
-, python
 , pythonOlder
-, ttp
 }:
 
 buildPythonPackage rec {
@@ -22,24 +18,14 @@ buildPythonPackage rec {
     hash = "sha256-Qx+z/srYgD67FjXzYrc8xtA99n8shWK7yWj/r/ETN2U=";
   };
 
-  propagatedBuildInputs = [
-    ttp
-  ];
+  postPatch = ''
+    # Drop circular dependency on ttp
+    substituteInPlace setup.py \
+      --replace '"ttp>=0.6.0"' ""
+  '';
 
-  checkInputs = [
-    netmiko
-    pytestCheckHook
-  ];
-
-  pythonImportsCheck = [
-    "ttp_templates"
-  ];
-
-  pytestFlagsArray = [
-    # The other tests requires data which is no part of the source
-    "test/test_ttp_templates_methods.py"
-    "test/test_yang_openconfig_lldp.py"
-  ];
+  # Circular dependency on ttp
+  doCheck = false;
 
   meta = with lib; {
     description = "Template Text Parser Templates collections";
diff --git a/pkgs/development/python-modules/ttp/default.nix b/pkgs/development/python-modules/ttp/default.nix
index 2157af318110c..a484ed9f76ac4 100644
--- a/pkgs/development/python-modules/ttp/default.nix
+++ b/pkgs/development/python-modules/ttp/default.nix
@@ -1,22 +1,20 @@
 { lib
 , buildPythonPackage
-, callPackage
-, fetchFromGitHub
 , cerberus
 , configparser
 , deepdiff
+, fetchFromGitHub
 , geoip2
 , jinja2
+, netmiko
 , openpyxl
-, tabulate
-, yangson
 , pytestCheckHook
 , pyyaml
+, tabulate
+, ttp-templates
+, yangson
 }:
 
-let
-  ttp_templates = callPackage ./templates.nix { };
-in
 buildPythonPackage rec {
   pname = "ttp";
   version = "0.8.4";
@@ -26,7 +24,7 @@ buildPythonPackage rec {
     owner = "dmulyalin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-vuKlddqm8KirqAJyvBPfRb5Nw9zo4Fl1bwbfVMhmH9g=";
+    hash = "sha256-vuKlddqm8KirqAJyvBPfRb5Nw9zo4Fl1bwbfVMhmH9g=";
   };
 
   propagatedBuildInputs = [
@@ -37,7 +35,7 @@ buildPythonPackage rec {
     geoip2
     jinja2
     # n2g unpackaged
-    # netmiko unpackaged
+    netmiko
     # nornir unpackaged
     openpyxl
     tabulate
@@ -51,7 +49,7 @@ buildPythonPackage rec {
   checkInputs = [
     pytestCheckHook
     pyyaml
-    ttp_templates
+    ttp-templates
   ];
 
   disabledTestPaths = [
@@ -87,6 +85,8 @@ buildPythonPackage rec {
     "test_TTP_CACHE_FOLDER_env_variable_usage"
     # requires additional network setup
     "test_child_group_do_not_start_if_no_parent_started"
+    # Assertion Error
+    "test_in_threads_parsing"
   ];
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/ttp/templates.nix b/pkgs/development/python-modules/ttp/templates.nix
deleted file mode 100644
index 835548d07842e..0000000000000
--- a/pkgs/development/python-modules/ttp/templates.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-}:
-
-buildPythonPackage rec {
-  pname = "ttp-templates";
-  version = "0.1.1";
-  format = "setuptools";
-
-  src = fetchPypi {
-    pname = "ttp_templates";
-    inherit version;
-    sha256 = "0vg7k733i8jqnfz8mpq8kzr2l7b7drk29zkzik91029f6w7li007";
-  };
-
-  # drop circular dependency on ttp
-  postPatch = ''
-    substituteInPlace setup.py --replace '"ttp>=0.6.0"' ""
-  '';
-
-  # circular dependency on ttp
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Template Text Parser Templates";
-    homepage = "https://github.com/dmulyalin/ttp_templates";
-    license = licenses.mit;
-    maintainers = with maintainers; [ hexa ];
-  };
-}
diff --git a/pkgs/development/python-modules/twentemilieu/default.nix b/pkgs/development/python-modules/twentemilieu/default.nix
index 382e90e14c82d..39f8629a5b1e4 100644
--- a/pkgs/development/python-modules/twentemilieu/default.nix
+++ b/pkgs/development/python-modules/twentemilieu/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "twentemilieu";
-  version = "0.6.0";
+  version = "0.6.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-twentemilieu";
     rev = "v${version}";
-    sha256 = "sha256-UE7fhbSThXmMns1XfUUQqw0wn5/w/x+UncansIBiank=";
+    sha256 = "sha256-k2jdw2H/bNejNUjIEQlEA1KkHHpkyFlSDC1HKUoMIqQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix
index e8cf1edbde5ff..c5f7b9041c988 100644
--- a/pkgs/development/python-modules/types-dateutil/default.nix
+++ b/pkgs/development/python-modules/types-dateutil/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-python-dateutil";
-  version = "2.8.15";
+  version = "2.8.16";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-fbHk7UkWvRKMvuPuze4OBsxWhNoqHN/Vf5hUHN++CGE=";
+    sha256 = "sha256-OqrEwTjra47LwlUJluwl1uRbXTKIfR5pPQhC7i+mWdI=";
   };
 
   pythonImportsCheck = [ "dateutil-stubs" ];
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index bb7e12d5963df..96d009a0b473d 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.27.25";
+  version = "2.27.27";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-gFrn44/Z0VcVMGbcQ4HPWF/TTfohLy/B/s4kjAWqxXE=";
+    sha256 = "sha256-1hjZgJ+jL1FM8XzqhGCBTaZxxWNm+xyQiszKi/GDESs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/uamqp/darwin-azure-c-shared-utility-corefoundation.patch b/pkgs/development/python-modules/uamqp/darwin-azure-c-shared-utility-corefoundation.patch
new file mode 100644
index 0000000000000..ad2186543f3cd
--- /dev/null
+++ b/pkgs/development/python-modules/uamqp/darwin-azure-c-shared-utility-corefoundation.patch
@@ -0,0 +1,37 @@
+From 52ab2095649b5951e6af77f68954209473296983 Mon Sep 17 00:00:00 2001
+From: Sandro <sandro.jaeckel@gmail.com>
+Date: Sat, 16 Jan 2021 15:54:05 +0100
+Subject: [PATCH] Fix finding apple libraries
+
+---
+ CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+ 
+
+(rejected by upstream in https://github.com/Azure/azure-c-shared-utility/pull/499,
+seems problem it's solving is nixpkgs-specific)
+
+diff --git a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/CMakeLists.txt b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/CMakeLists.txt
+index 7bbfa6f3f..3567b18bc 100644
+--- a/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/CMakeLists.txt
++++ b/src/vendor/azure-uamqp-c/deps/azure-c-shared-utility/CMakeLists.txt
+@@ -120,8 +120,9 @@ endif()
+ 
+ if(${use_applessl})
+     # MACOSX only has native tls and open ssl, so use the native apple tls
+-    find_library(cf_foundation Foundation)
++    find_library(cf_foundation CoreFoundation)
+     find_library(cf_network CFNetwork)
++    find_library(cf_security Security)
+ endif()
+ 
+ if(${no_logging})
+@@ -581,7 +582,7 @@ endif()
+ 
+ 
+ if(${use_applessl})
+-    set(aziotsharedutil_target_libs ${aziotsharedutil_target_libs} ${cf_foundation} ${cf_network})
++    set(aziotsharedutil_target_libs ${aziotsharedutil_target_libs} ${cf_foundation} ${cf_network} ${cf_security})
+ endif()
+ 
+ if(WIN32)
diff --git a/pkgs/development/python-modules/uamqp/default.nix b/pkgs/development/python-modules/uamqp/default.nix
index a838f44eb9577..61979da58d4c3 100644
--- a/pkgs/development/python-modules/uamqp/default.nix
+++ b/pkgs/development/python-modules/uamqp/default.nix
@@ -23,6 +23,10 @@ buildPythonPackage rec {
     sha256 = "sha256-guhfOMvddC4E+oOmvpeG8GsXEfqLcSHVdtj3w8fF2Vs=";
   };
 
+  patches = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+    ./darwin-azure-c-shared-utility-corefoundation.patch
+  ];
+
   nativeBuildInputs = [
     cmake
   ];
diff --git a/pkgs/development/python-modules/urlextract/default.nix b/pkgs/development/python-modules/urlextract/default.nix
index 8d2c62de4e83a..ce520ba1cca3c 100644
--- a/pkgs/development/python-modules/urlextract/default.nix
+++ b/pkgs/development/python-modules/urlextract/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "urlextract";
-  version = "1.5.0";
+  version = "1.6.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-QKXIQ9HXJTdY9W8NZ0jF6iekoUVl46kvJakW3cTB5B8=";
+    hash = "sha256-V08NjFYtN3M2pRVIQMfk7s9UwQKlOJcciX9zEwdaiIc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix
index efa5a0fc29f8f..84e1bac03044b 100644
--- a/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/pkgs/development/python-modules/velbus-aio/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2022.2.4";
+  version = "2022.5.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = pname;
     rev = version;
-    sha256 = "sha256-oWHyEw1DjMynLPAARcVaqsFccpnTk1/7gpq+8TU95d0=";
+    sha256 = "sha256-XdPrKNUvAHsqw3nv7Ws2zBYDBqEOEeEUHLdB2+f+p+w=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/python-modules/wcag-contrast-ratio/default.nix b/pkgs/development/python-modules/wcag-contrast-ratio/default.nix
new file mode 100644
index 0000000000000..c7b7e9bc9e825
--- /dev/null
+++ b/pkgs/development/python-modules/wcag-contrast-ratio/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, hypothesis
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "wcag-contrast-ratio";
+  version = "0.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-aRkrjlwKfQ3F/xGH7rPjmBQWM6S95RxpyH9Y/oftNhw=";
+  };
+
+  checkInputs = [
+    hypothesis
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "test.py"
+  ];
+
+  pythonImportsCheck = [ "wcag_contrast_ratio" ];
+
+  meta = with lib; {
+    description = "Library for computing contrast ratios, as required by WCAG 2.0";
+    homepage = "https://github.com/gsnedders/wcag-contrast-ratio";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/weboob/default.nix b/pkgs/development/python-modules/weboob/default.nix
index 4d0373105ccff..094dcb3bfbdff 100644
--- a/pkgs/development/python-modules/weboob/default.nix
+++ b/pkgs/development/python-modules/weboob/default.nix
@@ -1,5 +1,5 @@
 { lib
-, Babel
+, babel
 , buildPythonPackage
 , cssselect
 , feedparser
@@ -43,7 +43,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    Babel
+    babel
     cssselect
     python-dateutil
     feedparser
diff --git a/pkgs/development/python-modules/werkzeug/default.nix b/pkgs/development/python-modules/werkzeug/default.nix
index f961d0359db4f..aaaecc6098fa6 100644
--- a/pkgs/development/python-modules/werkzeug/default.nix
+++ b/pkgs/development/python-modules/werkzeug/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "werkzeug";
-  version = "2.1.0";
+  version = "2.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "Werkzeug";
     inherit version;
-    sha256 = "sha256-m1VGaj6Z4TsfBoamYRfTm9qFqZIWbgp5rt/PNYYyj3o=";
+    sha256 = "sha256-HOCOgJPtZ9Y41jh5/Rujc1gX96gN42dNKT9ZhPJftuY=";
   };
 
   propagatedBuildInputs = lib.optionals (!stdenv.isDarwin) [
@@ -63,6 +63,6 @@ buildPythonPackage rec {
       utility libraries.
     '';
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/whois/default.nix b/pkgs/development/python-modules/whois/default.nix
index b2875819646c9..7f51e2c61ef37 100644
--- a/pkgs/development/python-modules/whois/default.nix
+++ b/pkgs/development/python-modules/whois/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "whois";
-  version = "0.9.14";
+  version = "0.9.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,8 +15,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "DannyCork";
     repo = "python-whois";
-    rev = version;
-    sha256 = "1df4r2pr356y1c2ys6pzdl93fmx9ci4y75xphc95xn27zvqbpvix";
+    rev = "refs/tags/${version}";
+    sha256 = "sha256-Pfogvo0s678KHO85r4yopEaL4n/2cIY1+CnQu3iB8xc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/woob/default.nix b/pkgs/development/python-modules/woob/default.nix
index 3c9529c2644bd..a681b523a32e7 100644
--- a/pkgs/development/python-modules/woob/default.nix
+++ b/pkgs/development/python-modules/woob/default.nix
@@ -1,5 +1,5 @@
 { lib
-, Babel
+, babel
 , buildPythonPackage
 , colorama
 , cssselect
@@ -45,7 +45,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    Babel
+    babel
     colorama
     cssselect
     python-dateutil
diff --git a/pkgs/development/python-modules/wtforms/default.nix b/pkgs/development/python-modules/wtforms/default.nix
index 48764d509fe85..95f9d2df65cc9 100644
--- a/pkgs/development/python-modules/wtforms/default.nix
+++ b/pkgs/development/python-modules/wtforms/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , markupsafe
-, Babel
+, babel
 , pytestCheckHook
 , email_validator
 }:
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     sha256 = "1g654ghavds387hqxmhg9s8x222x89wbq1ggzxbsyn6x2axindbb";
   };
 
-  propagatedBuildInputs = [ markupsafe Babel ];
+  propagatedBuildInputs = [ markupsafe babel ];
 
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index 315ba9416d540..87a0fd54d2d90 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "0.21.2";
+  version = "0.21.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-GEjrqqmlGA6wG5x89AZXd8FLvrKEzCLmVhhZ7FxDB+w=";
+    sha256 = "sha256-AGKozbVdXfRPvaU1Et8GFu3vdNRLA8ZiV8Xc6T7BhOQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zipp/default.nix b/pkgs/development/python-modules/zipp/default.nix
index 0f64df2a56acb..253962910acb1 100644
--- a/pkgs/development/python-modules/zipp/default.nix
+++ b/pkgs/development/python-modules/zipp/default.nix
@@ -1,12 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, more-itertools
+, func-timeout
+, jaraco_itertools
 , pythonOlder
 , setuptools-scm
 }:
 
-buildPythonPackage rec {
+let zipp = buildPythonPackage rec {
   pname = "zipp";
   version = "3.7.0";
   format = "setuptools";
@@ -22,21 +23,26 @@ buildPythonPackage rec {
     setuptools-scm
   ];
 
-  propagatedBuildInputs = [
-    more-itertools
-  ];
-
   # Prevent infinite recursion with pytest
   doCheck = false;
 
+  checkInputs = [
+    func-timeout
+    jaraco_itertools
+  ];
+
   pythonImportsCheck = [
     "zipp"
   ];
 
+  passthru.tests = {
+    check = zipp.overridePythonAttrs (_: { doCheck = true; });
+  };
+
   meta = with lib; {
     description = "Pathlib-compatible object wrapper for zip files";
     homepage = "https://github.com/jaraco/zipp";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ SuperSandro2000 ];
   };
-}
+}; in zipp
diff --git a/pkgs/development/python2-modules/sphinx/default.nix b/pkgs/development/python2-modules/sphinx/default.nix
index 0424b9b4c39b2..80dec05310854 100644
--- a/pkgs/development/python2-modules/sphinx/default.nix
+++ b/pkgs/development/python2-modules/sphinx/default.nix
@@ -13,7 +13,7 @@
 , jinja2
 , pygments
 , alabaster
-, Babel
+, babel
 , snowballstemmer
 , six
 , sqlalchemy
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     jinja2
     pygments
     alabaster
-    Babel
+    babel
     setuptools
     snowballstemmer
     six
diff --git a/pkgs/development/tools/altair-graphql-client/default.nix b/pkgs/development/tools/altair-graphql-client/default.nix
index 19650671f125d..c4ead04059370 100644
--- a/pkgs/development/tools/altair-graphql-client/default.nix
+++ b/pkgs/development/tools/altair-graphql-client/default.nix
@@ -1,4 +1,4 @@
-{ lib, appimageTools, fetchurl, gsettings-desktop-schemas, gtk3 }:
+{ lib, appimageTools, fetchurl }:
 
 let
   pname = "altair";
@@ -14,10 +14,6 @@ in
 appimageTools.wrapType2 {
   inherit src pname version;
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   extraInstallCommands = ''
     mv $out/bin/${pname}-${version} $out/bin/${pname}
 
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index eadeec8accebb..743405be6a7ca 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -32,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.1140";
+  version = "2.0.1143";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-aGO5mjBsUwpLIv73pZH1la6tyGByznTrjkW9dojkXwg=";
+    hash = "sha256-Kl9/wbjiQ46ysmnE24iQveTEzSTsVF5FHRqG3WWz3DQ=";
   };
 
   nativeBuildInputs = with py.pkgs; [
@@ -94,6 +94,7 @@ buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace setup.py \
+      --replace "bc-python-hcl2==0.3.39" "bc-python-hcl2>=0.3.39" \
       --replace "cyclonedx-python-lib>=0.11.0,<1.0.0" "cyclonedx-python-lib>=0.11.0" \
       --replace "prettytable>=3.0.0" "prettytable" \
       --replace "pycep-parser==0.3.4" "pycep-parser"
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index b5ae5055d02d9..0b962a97ef1f4 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -4,6 +4,15 @@
 , gdk-pixbuf, wrapGAppsHook
 }:
 
+let why3_1_5 = why3; in
+let why3 = why3_1_5.overrideAttrs (o: rec {
+  version = "1.4.1";
+  src = fetchurl {
+    url = "https://why3.gitlabpages.inria.fr/releases/${o.pname}-${version}.tar.gz";
+    sha256 = "sha256:1rqyypzlvagrn43ykl0c5wxyvnry5fl1ykn3xcvlzgghk96yq3jq";
+  };
+}); in
+
 let
   mkocamlpath = p: "${p}/lib/ocaml/${ocamlPackages.ocaml.version}/site-lib";
   runtimeDeps = with ocamlPackages; [
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index be622e99e9164..0b395deda4119 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "tfsec";
-  version = "1.21.0";
+  version = "1.21.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-z2RVMPZykz2FUsmn5sQs3fAK/h+cWv+A/56rhOlHkGA=";
+    sha256 = "sha256-+yCRCHTx42wHnGi4jgre9gaa4LNrWjSNQdIONMWCTkc=";
   };
 
   ldflags = [
@@ -21,7 +21,7 @@ buildGoModule rec {
     # "-extldflags '-fno-PIC -static'"
   ];
 
-  vendorSha256 = "sha256-R5sks8mbY3JpKcVl7XBKst/QI8ZWIqXAR3D6/eflV1Q=";
+  vendorSha256 = "sha256-IwHm70BSM1lIWc7MiL0Ye6Y7fGn6GnuELm082wIgtEk=";
 
   subPackages = [
     "cmd/tfsec"
diff --git a/pkgs/development/tools/apkid/default.nix b/pkgs/development/tools/apkid/default.nix
index 2cb1c4e8d00dc..71e1efa052451 100644
--- a/pkgs/development/tools/apkid/default.nix
+++ b/pkgs/development/tools/apkid/default.nix
@@ -5,13 +5,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "apkid";
-  version = "2.1.1";
+  version = "2.1.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "rednaga";
     repo = "APKiD";
     rev = "v${version}";
-    sha256 = "1p6kdjjw2jhwr875445w43k46n6zwpz0l0phkl8d3y1v4gi5l6dx";
+    hash = "sha256-U4CsPTA0fXCzj5iLTbLFGudAvewVCzxe4xl0osoBy5A=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
@@ -28,12 +29,14 @@ python3.pkgs.buildPythonApplication rec {
   '';
 
   postPatch = ''
-    # The next release will have support for later yara-python releases
+    # We have dex support enabled in yara-python
     substituteInPlace setup.py \
-      --replace "yara-python==3.11.0" "yara-python"
+      --replace "yara-python-dex>=1.0.1" "yara-python"
   '';
 
-  pythonImportsCheck = [ "apkid" ];
+  pythonImportsCheck = [
+    "apkid"
+  ];
 
   meta = with lib; {
     description = "Android Application Identifier";
diff --git a/pkgs/development/tools/bashate/default.nix b/pkgs/development/tools/bashate/default.nix
index 76e523170ca78..9b6d936172669 100644
--- a/pkgs/development/tools/bashate/default.nix
+++ b/pkgs/development/tools/bashate/default.nix
@@ -1,5 +1,5 @@
 { lib
-, Babel
+, babel
 , buildPythonApplication
 , fetchPypi
 , fixtures
@@ -21,7 +21,7 @@ buildPythonApplication rec {
   };
 
   propagatedBuildInputs = [
-    Babel
+    babel
     pbr
     setuptools
   ];
diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix
index 9f0421d3eee53..51cc427ff1997 100644
--- a/pkgs/development/tools/build-managers/corrosion/default.nix
+++ b/pkgs/development/tools/build-managers/corrosion/default.nix
@@ -8,27 +8,22 @@
 
 stdenv.mkDerivation rec {
   pname = "corrosion";
-  version = "unstable-2021-11-23";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
-    owner = "AndrewGaspar";
+    owner = "corrosion-rs";
     repo = "corrosion";
-    rev = "f679545a63a8b214a415e086f910126ab66714fa";
-    sha256 = "sha256-K+QdhWc5n5mH6yxiQa/v5HsrqnWJ5SM93IprVpyCVO0=";
+    rev = "v${version}";
+    hash = "sha256-nJ4ercNykECDBqecuL8cdCl4DHgbgIUmbiFBG/jiOaA=";
   };
 
-  patches = [
-    # https://github.com/AndrewGaspar/corrosion/issues/84
-    ./cmake-install-full-dir.patch
-  ];
-
   cargoRoot = "generator";
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     sourceRoot = "${src.name}/${cargoRoot}";
     name = "${pname}-${version}";
-    sha256 = "sha256-ZvCRgXv+ASMIL00oc3luegV1qVNDieU9J7mbIhfayGk=";
+    hash = "sha256-4JVbHYlMOKztWPYW7tXQdvdNh/ygfpi0CY6Ly93VxsI=";
   };
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
@@ -50,7 +45,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Tool for integrating Rust into an existing CMake project";
-    homepage = "https://github.com/AndrewGaspar/corrosion";
+    homepage = "https://github.com/corrosion-rs/corrosion";
+    changelog = "https://github.com/corrosion-rs/corrosion/blob/${src.rev}/RELEASES.md";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/tools/cocoapods/Gemfile b/pkgs/development/tools/cocoapods/Gemfile
index 329b51518e4cf..00a6b3f80ebbe 100644
--- a/pkgs/development/tools/cocoapods/Gemfile
+++ b/pkgs/development/tools/cocoapods/Gemfile
@@ -1,3 +1,3 @@
-source 'https://rubygems.org' do
-  gem 'cocoapods'
-end
+source 'https://rubygems.org'
+
+gem 'cocoapods'
diff --git a/pkgs/development/tools/cocoapods/Gemfile-beta b/pkgs/development/tools/cocoapods/Gemfile-beta
index dd4b350b4372c..d8a7e8bb2e25b 100644
--- a/pkgs/development/tools/cocoapods/Gemfile-beta
+++ b/pkgs/development/tools/cocoapods/Gemfile-beta
@@ -1,5 +1,5 @@
-source 'https://rubygems.org' do
-  # We need to specify a version including prerelease to pick up prereleases.
-  # This should pick up all future releases / prereleases.
-  gem 'cocoapods', '>=1.7.0.beta.1'
-end
+source 'https://rubygems.org'
+
+# We need to specify a version including prerelease to pick up prereleases.
+# This should pick up all future releases / prereleases.
+gem 'cocoapods', '>=1.7.0.beta.1'
diff --git a/pkgs/development/tools/cocoapods/Gemfile-beta.lock b/pkgs/development/tools/cocoapods/Gemfile-beta.lock
index 3904e6acf98ab..e0c2ff1707001 100644
--- a/pkgs/development/tools/cocoapods/Gemfile-beta.lock
+++ b/pkgs/development/tools/cocoapods/Gemfile-beta.lock
@@ -1,11 +1,9 @@
 GEM
-  specs:
-
-GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.3)
-    activesupport (6.1.4.1)
+    CFPropertyList (3.0.5)
+      rexml
+    activesupport (6.1.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -17,11 +15,11 @@ GEM
       httpclient (~> 2.8, >= 2.8.3)
       json (>= 1.5.1)
     atomos (0.1.3)
-    claide (1.0.3)
-    cocoapods (1.11.0)
+    claide (1.1.0)
+    cocoapods (1.11.3)
       addressable (~> 2.8)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.11.0)
+      cocoapods-core (= 1.11.3)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.4.0, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -36,7 +34,7 @@ GEM
       nap (~> 1.0)
       ruby-macho (>= 1.0, < 3.0)
       xcodeproj (>= 1.21.0, < 2.0)
-    cocoapods-core (1.11.0)
+    cocoapods-core (1.11.3)
       activesupport (>= 5.0, < 7)
       addressable (~> 2.8)
       algoliasearch (~> 1.0)
@@ -47,7 +45,7 @@ GEM
       public_suffix (~> 4.0)
       typhoeus (~> 1.0)
     cocoapods-deintegrate (1.0.5)
-    cocoapods-downloader (1.5.1)
+    cocoapods-downloader (1.6.3)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.1)
@@ -56,24 +54,24 @@ GEM
       netrc (~> 0.11)
     cocoapods-try (1.2.0)
     colored2 (3.1.2)
-    concurrent-ruby (1.1.9)
+    concurrent-ruby (1.1.10)
     escape (0.0.4)
-    ethon (0.14.0)
+    ethon (0.15.0)
       ffi (>= 1.15.0)
-    ffi (1.15.4)
+    ffi (1.15.5)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
-    i18n (1.8.10)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
-    json (2.5.1)
-    minitest (5.14.4)
+    json (2.6.2)
+    minitest (5.15.0)
     molinillo (0.8.0)
     nanaimo (0.3.0)
     nap (1.1.0)
     netrc (0.11.0)
-    public_suffix (4.0.6)
+    public_suffix (4.0.7)
     rexml (3.2.5)
     ruby-macho (2.5.1)
     typhoeus (1.4.0)
@@ -87,13 +85,13 @@ GEM
       colored2 (~> 3.1)
       nanaimo (~> 0.3.0)
       rexml (~> 3.2.4)
-    zeitwerk (2.4.2)
+    zeitwerk (2.5.4)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  cocoapods (>= 1.7.0.beta.1)!
+  cocoapods (>= 1.7.0.beta.1)
 
 BUNDLED WITH
    2.2.20
diff --git a/pkgs/development/tools/cocoapods/Gemfile.lock b/pkgs/development/tools/cocoapods/Gemfile.lock
index 2cc06eac27378..293fe9406a946 100644
--- a/pkgs/development/tools/cocoapods/Gemfile.lock
+++ b/pkgs/development/tools/cocoapods/Gemfile.lock
@@ -1,11 +1,9 @@
 GEM
-  specs:
-
-GEM
   remote: https://rubygems.org/
   specs:
-    CFPropertyList (3.0.3)
-    activesupport (6.1.4.1)
+    CFPropertyList (3.0.5)
+      rexml
+    activesupport (6.1.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -17,11 +15,11 @@ GEM
       httpclient (~> 2.8, >= 2.8.3)
       json (>= 1.5.1)
     atomos (0.1.3)
-    claide (1.0.3)
-    cocoapods (1.11.0)
+    claide (1.1.0)
+    cocoapods (1.11.3)
       addressable (~> 2.8)
       claide (>= 1.0.2, < 2.0)
-      cocoapods-core (= 1.11.0)
+      cocoapods-core (= 1.11.3)
       cocoapods-deintegrate (>= 1.0.3, < 2.0)
       cocoapods-downloader (>= 1.4.0, < 2.0)
       cocoapods-plugins (>= 1.0.0, < 2.0)
@@ -36,7 +34,7 @@ GEM
       nap (~> 1.0)
       ruby-macho (>= 1.0, < 3.0)
       xcodeproj (>= 1.21.0, < 2.0)
-    cocoapods-core (1.11.0)
+    cocoapods-core (1.11.3)
       activesupport (>= 5.0, < 7)
       addressable (~> 2.8)
       algoliasearch (~> 1.0)
@@ -47,7 +45,7 @@ GEM
       public_suffix (~> 4.0)
       typhoeus (~> 1.0)
     cocoapods-deintegrate (1.0.5)
-    cocoapods-downloader (1.5.1)
+    cocoapods-downloader (1.6.3)
     cocoapods-plugins (1.0.0)
       nap
     cocoapods-search (1.0.1)
@@ -56,24 +54,24 @@ GEM
       netrc (~> 0.11)
     cocoapods-try (1.2.0)
     colored2 (3.1.2)
-    concurrent-ruby (1.1.9)
+    concurrent-ruby (1.1.10)
     escape (0.0.4)
-    ethon (0.14.0)
+    ethon (0.15.0)
       ffi (>= 1.15.0)
-    ffi (1.15.4)
+    ffi (1.15.5)
     fourflusher (2.3.1)
     fuzzy_match (2.0.4)
     gh_inspector (1.1.3)
     httpclient (2.8.3)
-    i18n (1.8.10)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
-    json (2.5.1)
-    minitest (5.14.4)
+    json (2.6.2)
+    minitest (5.15.0)
     molinillo (0.8.0)
     nanaimo (0.3.0)
     nap (1.1.0)
     netrc (0.11.0)
-    public_suffix (4.0.6)
+    public_suffix (4.0.7)
     rexml (3.2.5)
     ruby-macho (2.5.1)
     typhoeus (1.4.0)
@@ -87,13 +85,13 @@ GEM
       colored2 (~> 3.1)
       nanaimo (~> 0.3.0)
       rexml (~> 3.2.4)
-    zeitwerk (2.4.2)
+    zeitwerk (2.5.4)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  cocoapods!
+  cocoapods
 
 BUNDLED WITH
    2.2.20
diff --git a/pkgs/development/tools/cocoapods/gemset-beta.nix b/pkgs/development/tools/cocoapods/gemset-beta.nix
index e1f573b89c31e..3091a85e0cceb 100644
--- a/pkgs/development/tools/cocoapods/gemset-beta.nix
+++ b/pkgs/development/tools/cocoapods/gemset-beta.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
+      sha256 = "08wzpwgdm03vzb8gqr8bvfdarb89g5ah0skvwqk6qv87p55xqkyw";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -43,24 +43,25 @@
     version = "0.1.3";
   };
   CFPropertyList = {
+    dependencies = ["rexml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ia09r8bj3bjhcfiyr3vlk9zx7vahfypbs2lyrxix9x1jx3lfzq4";
+      sha256 = "193l8r1ycd3dcxa7lsb4pqcghbk56dzc5244m6y8xmv88z6m31d7";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "3.0.5";
   };
   claide = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
+      sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.0";
   };
   cocoapods = {
     dependencies = ["addressable" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
@@ -68,10 +69,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b8773v98vkcr55yx5ydc28wq8ya53ya1v51cj7fxg5n3aa5h0cz";
+      sha256 = "0cix57b2si8lc1m15mzg3mr1kmvn5sq0cy01vqwlfvvirrkf3ky3";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.11.3";
   };
   cocoapods-core = {
     dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"];
@@ -79,10 +80,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19bik6yj125vhq0vxb6fsb41b3i2bi4437l7dkhgrw317gx3wf9b";
+      sha256 = "1lqcq7pk3znc9par217h4hv8g70w25m2a2llgyayp30dlgdj45iy";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.11.3";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -99,10 +100,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "161sjpyxipnbhwcr5kyfbcdbzs9zq20sigsazjm782cn3s466p0z";
+      sha256 = "0jgipkiah3z6qb9ax6qac3b2m1idavd5adc319k5rjsfddpfgszh";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.6.3";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -161,10 +162,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
       type = "gem";
     };
-    version = "1.1.9";
+    version = "1.1.10";
   };
   escape = {
     groups = ["default"];
@@ -182,20 +183,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bby4hbq96vnzcdbbybcbddin8dxdnj1ns758kcr4akykningqhh";
+      sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288";
       type = "gem";
     };
-    version = "0.14.0";
+    version = "0.15.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   fourflusher = {
     groups = ["default"];
@@ -243,30 +244,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.8.10";
+    version = "1.10.0";
   };
   json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
+      sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.6.2";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "5.15.0";
   };
   molinillo = {
     groups = ["default"];
@@ -313,10 +314,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
       type = "gem";
     };
-    version = "4.0.6";
+    version = "4.0.7";
   };
   rexml = {
     groups = ["default"];
@@ -376,9 +377,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
+      sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.4";
   };
 }
diff --git a/pkgs/development/tools/cocoapods/gemset.nix b/pkgs/development/tools/cocoapods/gemset.nix
index 7d74b857cf5c5..533535ff013b7 100644
--- a/pkgs/development/tools/cocoapods/gemset.nix
+++ b/pkgs/development/tools/cocoapods/gemset.nix
@@ -5,10 +5,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19gx1jcq46x9d1pi1w8xq0bgvvfw239y4lalr8asm291gj3q3ds4";
+      sha256 = "08wzpwgdm03vzb8gqr8bvfdarb89g5ah0skvwqk6qv87p55xqkyw";
       type = "gem";
     };
-    version = "6.1.4.1";
+    version = "6.1.6";
   };
   addressable = {
     dependencies = ["public_suffix"];
@@ -41,24 +41,25 @@
     version = "0.1.3";
   };
   CFPropertyList = {
+    dependencies = ["rexml"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ia09r8bj3bjhcfiyr3vlk9zx7vahfypbs2lyrxix9x1jx3lfzq4";
+      sha256 = "193l8r1ycd3dcxa7lsb4pqcghbk56dzc5244m6y8xmv88z6m31d7";
       type = "gem";
     };
-    version = "3.0.3";
+    version = "3.0.5";
   };
   claide = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0kasxsms24fgcdsq680nz99d5lazl9rmz1qkil2y5gbbssx89g0z";
+      sha256 = "0bpqhc0kqjp1bh9b7ffc395l9gfls0337rrhmab4v46ykl45qg3d";
       type = "gem";
     };
-    version = "1.0.3";
+    version = "1.1.0";
   };
   cocoapods = {
     dependencies = ["addressable" "claide" "cocoapods-core" "cocoapods-deintegrate" "cocoapods-downloader" "cocoapods-plugins" "cocoapods-search" "cocoapods-trunk" "cocoapods-try" "colored2" "escape" "fourflusher" "gh_inspector" "molinillo" "nap" "ruby-macho" "xcodeproj"];
@@ -66,10 +67,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1b8773v98vkcr55yx5ydc28wq8ya53ya1v51cj7fxg5n3aa5h0cz";
+      sha256 = "0cix57b2si8lc1m15mzg3mr1kmvn5sq0cy01vqwlfvvirrkf3ky3";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.11.3";
   };
   cocoapods-core = {
     dependencies = ["activesupport" "addressable" "algoliasearch" "concurrent-ruby" "fuzzy_match" "nap" "netrc" "public_suffix" "typhoeus"];
@@ -77,10 +78,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19bik6yj125vhq0vxb6fsb41b3i2bi4437l7dkhgrw317gx3wf9b";
+      sha256 = "1lqcq7pk3znc9par217h4hv8g70w25m2a2llgyayp30dlgdj45iy";
       type = "gem";
     };
-    version = "1.11.0";
+    version = "1.11.3";
   };
   cocoapods-deintegrate = {
     groups = ["default"];
@@ -97,10 +98,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "161sjpyxipnbhwcr5kyfbcdbzs9zq20sigsazjm782cn3s466p0z";
+      sha256 = "0jgipkiah3z6qb9ax6qac3b2m1idavd5adc319k5rjsfddpfgszh";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.6.3";
   };
   cocoapods-plugins = {
     dependencies = ["nap"];
@@ -155,10 +156,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0nwad3211p7yv9sda31jmbyw6sdafzmdi2i2niaz6f0wk5nq9h0f";
+      sha256 = "0s4fpn3mqiizpmpy2a24k4v365pv75y50292r8ajrv4i1p5b2k14";
       type = "gem";
     };
-    version = "1.1.9";
+    version = "1.1.10";
   };
   escape = {
     source = {
@@ -174,20 +175,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1bby4hbq96vnzcdbbybcbddin8dxdnj1ns758kcr4akykningqhh";
+      sha256 = "0kd7c61f28f810fgxg480j7457nlvqarza9c2ra0zhav0dd80288";
       type = "gem";
     };
-    version = "0.14.0";
+    version = "0.15.0";
   };
   ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ssxcywmb3flxsjdg13is6k01807zgzasdhj4j48dm7ac59cmksn";
+      sha256 = "1862ydmclzy1a0cjbvm8dz7847d9rch495ib0zb64y84d3xd4bkg";
       type = "gem";
     };
-    version = "1.15.4";
+    version = "1.15.5";
   };
   fourflusher = {
     groups = ["default"];
@@ -231,30 +232,30 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g2fnag935zn2ggm5cn6k4s4xvv53v2givj1j90szmvavlpya96a";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.8.10";
+    version = "1.10.0";
   };
   json = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lrirj0gw420kw71bjjlqkqhqbrplla61gbv1jzgsz6bv90qr3ci";
+      sha256 = "0yk5d10yvspkc5jyvx9gc1a9pn1z8v4k2hvjk1l88zixwf3wf3cl";
       type = "gem";
     };
-    version = "2.5.1";
+    version = "2.6.2";
   };
   minitest = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl";
+      sha256 = "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd";
       type = "gem";
     };
-    version = "5.14.4";
+    version = "5.15.0";
   };
   molinillo = {
     groups = ["default"];
@@ -297,10 +298,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1xqcgkl7bwws1qrlnmxgh8g4g9m10vg60bhlw40fplninb3ng6d9";
+      sha256 = "1f3knlwfwm05sfbaihrxm4g772b79032q14c16q4b38z8bi63qcb";
       type = "gem";
     };
-    version = "4.0.6";
+    version = "4.0.7";
   };
   rexml = {
     groups = ["default"];
@@ -360,9 +361,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1746czsjarixq0x05f7p3hpzi38ldg6wxnxxw74kbjzh1sdjgmpl";
+      sha256 = "09bq7j2p6mkbxnsg71s253dm2463kg51xc7bmjcxgyblqbh4ln7m";
       type = "gem";
     };
-    version = "2.4.2";
+    version = "2.5.4";
   };
 }
diff --git a/pkgs/development/tools/dump_syms/default.nix b/pkgs/development/tools/dump_syms/default.nix
index a8c6821f27f4a..08788878cc988 100644
--- a/pkgs/development/tools/dump_syms/default.nix
+++ b/pkgs/development/tools/dump_syms/default.nix
@@ -1,8 +1,12 @@
 { lib
+, stdenv
 , rustPlatform
 , fetchFromGitHub
 , pkg-config
 , openssl
+
+# darwin
+, Security
 }:
 
 let
@@ -27,6 +31,8 @@ rustPlatform.buildRustPackage {
 
   buildInputs = [
     openssl
+  ] ++ lib.optionals (stdenv.isDarwin) [
+    Security
   ];
 
   checkFlags = [
diff --git a/pkgs/development/tools/fdroidserver/default.nix b/pkgs/development/tools/fdroidserver/default.nix
index 9bbe61648526f..e0f9a72694504 100644
--- a/pkgs/development/tools/fdroidserver/default.nix
+++ b/pkgs/development/tools/fdroidserver/default.nix
@@ -27,7 +27,7 @@ python.pkgs.buildPythonApplication rec {
     install -m 0755 gradlew-fdroid $out/bin
   '';
 
-  buildInputs = [ python.pkgs.Babel ];
+  buildInputs = [ python.pkgs.babel ];
 
   propagatedBuildInputs = with python.pkgs; [
     androguard
diff --git a/pkgs/development/tools/jl/default.nix b/pkgs/development/tools/jl/default.nix
index bc41263e96f5e..18bb6964adab9 100644
--- a/pkgs/development/tools/jl/default.nix
+++ b/pkgs/development/tools/jl/default.nix
@@ -5,21 +5,8 @@
 }:
 mkDerivation rec {
   pname = "jl";
-  version = "0.0.5";
-  src = fetchFromGitHub {
-    owner = "chrisdone";
-    repo = "jl";
-    rev = "v${version}";
-    sha256 = "1hlnwsl4cj0l4x8dxwda2fcnk789cwlphl9gv9cfrivl43mgkgar";
-  };
-  patches = [
-    # MonadFail compatibility patch. Should be removed with the next release
-    (fetchpatch {
-      url = "https://github.com/chrisdone/jl/commit/6d40308811cbc22a96b47ebe69ec308b4e9fd356.patch";
-      sha256 = "1pg92ffkg8kim5r8rz8js6fjqyjisg1266sf7p9jyxjgsskwpa4g";
-    })
-  ];
-
+  version = "0.1.0";
+  sha256 = "15vvn3swjpc5qmdng1fcd8m9nif4qnjmpmxc9hdw5cswzl055lkj";
   isLibrary = true;
   isExecutable = true;
   libraryHaskellDepends = [
@@ -34,10 +21,4 @@ mkDerivation rec {
   description = "Functional sed for JSON";
   maintainers = with lib.maintainers; [ fgaz ];
   homepage = "https://github.com/chrisdone/jl";
-
-  # jl needs to be updated to work with aeson-2.0.
-  # As far as I can tell, there is unfortunately no where to report issues upstream
-  # for us to be able to track when upstream adds aeson-2.0 support.
-  hydraPlatforms = lib.platforms.none;
-  broken = true;
 }
diff --git a/pkgs/development/tools/konstraint/default.nix b/pkgs/development/tools/konstraint/default.nix
index 9457859100344..ed11ab5b6667a 100644
--- a/pkgs/development/tools/konstraint/default.nix
+++ b/pkgs/development/tools/konstraint/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.19.1";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MQ9Rb8U1CGbEgNtkOdK879dr8uOro6CAl4wGMbuT+wo=";
+    sha256 = "sha256-xSJxBJzLfZhBcXqKs8EZRHTpgb1YeKDTzrOiBtGBwTI=";
   };
   vendorSha256 = "sha256-gUuceNwOI+ss2YDiIF+zxyOj53iV6kGtVhNCd5KQomo=";
 
diff --git a/pkgs/development/tools/misc/autoconf/2.13.nix b/pkgs/development/tools/misc/autoconf/2.13.nix
index 4ff990ca0ed29..8fba52aa1fd93 100644
--- a/pkgs/development/tools/misc/autoconf/2.13.nix
+++ b/pkgs/development/tools/misc/autoconf/2.13.nix
@@ -9,7 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "07krzl4czczdsgzrrw9fiqx35xcf32naf751khg821g5pqv12qgh";
   };
 
-  buildInputs = [ m4 perl ];
+  nativeBuildInputs = [ m4 perl ];
+  strictDeps = true;
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/misc/autoconf/default.nix b/pkgs/development/tools/misc/autoconf/default.nix
index ac342086f6c51..63302c8ed94b6 100644
--- a/pkgs/development/tools/misc/autoconf/default.nix
+++ b/pkgs/development/tools/misc/autoconf/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, m4, perl }:
+{ lib, stdenv, fetchurl, m4, perl, texinfo }:
 
 # Note: this package is used for bootstrapping fetchurl, and thus
 # cannot use fetchpatch! All mutable patches (generated by GitHub or
@@ -8,6 +8,7 @@
 stdenv.mkDerivation rec {
   pname = "autoconf";
   version = "2.71";
+  outputs = [ "out" "doc" ];
 
   src = fetchurl {
     url = "mirror://gnu/autoconf/autoconf-${version}.tar.xz";
@@ -19,8 +20,15 @@ stdenv.mkDerivation rec {
     ./2.71-fix-race.patch
   ];
 
-  nativeBuildInputs = [ m4 perl ];
+  nativeBuildInputs = [ m4 perl texinfo ];
   buildInputs = [ m4 ];
+  postBuild = "
+    make html
+  ";
+
+  postInstall = "
+    make install-html
+  ";
 
   # Work around a known issue in Cygwin.  See
   # http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/6822 for
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index fa867c263162e..a3b093c382759 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -2,16 +2,17 @@
 , musl-obstack, m4, zlib, zstd, bzip2, bison, flex, gettext, xz, setupDebugInfoDirs
 , argp-standalone
 , enableDebuginfod ? false, sqlite, curl, libmicrohttpd_0_9_70, libarchive
+, gitUpdater
 }:
 
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   pname = "elfutils";
-  version = "0.186";
+  version = "0.187";
 
   src = fetchurl {
     url = "https://sourceware.org/elfutils/ftp/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-f2+5FJsWc9ONkXig0+D7ih7E9TqfTC/4lGlgmHlkEXc=";
+    sha256 = "sha256-5wsN++YQ+QxNH+DXGvFCpOJcPE7566uNLXK2UVnUVMg=";
   };
 
   patches = [
@@ -62,10 +63,6 @@ stdenv.mkDerivation rec {
 
   propagatedNativeBuildInputs = [ setupDebugInfoDirs ];
 
-  NIX_CFLAGS_COMPILE = lib.optionals stdenv.hostPlatform.isMusl [
-    "-Wno-null-dereference"
-  ];
-
   configureFlags = [
     "--program-prefix=eu-" # prevent collisions with binutils
     "--enable-deterministic-archives"
@@ -81,6 +78,12 @@ stdenv.mkDerivation rec {
   doCheck = !stdenv.hostPlatform.isMusl;
   doInstallCheck = !stdenv.hostPlatform.isMusl;
 
+  passthru.updateScript = gitUpdater {
+    inherit pname version;
+    url = "https://sourceware.org/git/elfutils.git";
+    rev-prefix = "elfutils-";
+  };
+
   meta = with lib; {
     homepage = "https://sourceware.org/elfutils/";
     description = "A set of utilities to handle ELF objects";
diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix
index 7478c27ce9f5a..a0f1b097a98a8 100644
--- a/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, makeDesktopItem, appimageTools, gtk3 }:
+{ lib, fetchurl, makeDesktopItem, appimageTools }:
 let
   name = "saleae-logic-2";
   version = "2.3.52";
@@ -31,10 +31,6 @@ appimageTools.wrapType2 {
         cp ${appimageContents}/usr/share/icons/hicolor/256x256/apps/Logic.png $out/share/pixmaps/Logic.png
       '';
 
-  profile = ''
-    export XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}''${XDG_DATA_DIRS:+:"''$XDG_DATA_DIRS"}"
-  '';
-
   extraPkgs = pkgs: with pkgs; [
     wget
     unzip
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
index de661948b9c30..009c3cb6fe206 100644
--- a/pkgs/development/tools/ocaml/dune/3.nix
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -6,11 +6,11 @@ else
 
 stdenv.mkDerivation rec {
   pname = "dune";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchurl {
-    url = "https://github.com/ocaml/dune/releases/download/${version}/fiber-${version}.tbz";
-    sha256 = "sha256-AkhEVKsbmYhAx4c1CexrIwHrkmYsEy749fT1abNaa2A=";
+    url = "https://github.com/ocaml/dune/releases/download/${version}/chrome-trace-${version}.tbz";
+    sha256 = "sha256-vR+85q557R6yb6ibsuLiOXivzrP1P1V4zxvasIoa1bw=";
   };
 
   nativeBuildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
index 39f6d5f7aa2da..d72a653182d35 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/camlp4.nix
@@ -15,7 +15,7 @@ buildDunePackage rec {
     sha256 = "1v2hfq0ra9j07yz6pj6m03hrvgys4vmx0gclchv94yywpb2wc7ik";
   };
 
-  inherit (js_of_ocaml-compiler) meta;
-
   buildInputs = [ camlp4 ocsigen_deriving ];
+
+  meta = builtins.removeAttrs js_of_ocaml-compiler.meta [ "mainProgram" ];
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
index 7805ca264035f..64313112f43b4 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/compiler.nix
@@ -21,8 +21,9 @@ buildDunePackage rec {
 
   meta = {
     description = "Compiler from OCaml bytecode to Javascript";
+    homepage = "https://ocsigen.org/js_of_ocaml/";
     license = lib.licenses.gpl2;
     maintainers = [ lib.maintainers.vbgl ];
-    homepage = "https://ocsigen.org/js_of_ocaml/";
+    mainProgram = "js_of_ocaml";
   };
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
index 25826e94eb3a1..679fd9ab9de81 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/default.nix
@@ -5,9 +5,11 @@
 buildDunePackage {
   pname = "js_of_ocaml";
 
-  inherit (js_of_ocaml-compiler) version src meta useDune2;
+  inherit (js_of_ocaml-compiler) version src useDune2;
 
   buildInputs = [ ppxlib ];
 
   propagatedBuildInputs = [ js_of_ocaml-compiler uchar ];
+
+  meta = builtins.removeAttrs js_of_ocaml-compiler.meta [ "mainProgram" ];
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix b/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
index 81b1a41614b0f..8cdb7224d891f 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/lwt.nix
@@ -5,9 +5,11 @@
 buildDunePackage {
   pname = "js_of_ocaml-lwt";
 
-  inherit (js_of_ocaml-compiler) version src meta useDune2;
+  inherit (js_of_ocaml-compiler) version src useDune2;
 
   buildInputs = [ js_of_ocaml-ppx ];
 
   propagatedBuildInputs = [ js_of_ocaml ocaml_lwt lwt_log ];
+
+  meta = builtins.removeAttrs js_of_ocaml-compiler.meta [ "mainProgram" ];
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/ppx.nix b/pkgs/development/tools/ocaml/js_of_ocaml/ppx.nix
index 3c0f8c7612393..535fe6dae79c8 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/ppx.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/ppx.nix
@@ -6,8 +6,10 @@
 buildDunePackage {
   pname = "js_of_ocaml-ppx";
 
-  inherit (js_of_ocaml-compiler) version src meta useDune2;
+  inherit (js_of_ocaml-compiler) version src useDune2;
 
   buildInputs = [ js_of_ocaml ];
   propagatedBuildInputs = [ ppxlib ];
+
+  meta = builtins.removeAttrs js_of_ocaml-compiler.meta [ "mainProgram" ];
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix b/pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix
index d862d4bc67b78..5256cd4037fc2 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/ppx_deriving_json.nix
@@ -5,7 +5,9 @@
 buildDunePackage {
   pname = "js_of_ocaml-ppx_deriving_json";
 
-  inherit (js_of_ocaml-compiler) version src meta useDune2;
+  inherit (js_of_ocaml-compiler) version src useDune2;
 
   propagatedBuildInputs = [ js_of_ocaml ppxlib ];
+
+  meta = builtins.removeAttrs js_of_ocaml-compiler.meta [ "mainProgram" ];
 }
diff --git a/pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix b/pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix
index 7082e4b86c975..e371c9f10bf01 100644
--- a/pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix
+++ b/pkgs/development/tools/ocaml/js_of_ocaml/tyxml.nix
@@ -6,9 +6,11 @@
 buildDunePackage {
   pname = "js_of_ocaml-tyxml";
 
-  inherit (js_of_ocaml-compiler) version src meta useDune2;
+  inherit (js_of_ocaml-compiler) version src useDune2;
 
   buildInputs = [ js_of_ocaml-ppx ];
 
   propagatedBuildInputs = [ js_of_ocaml reactivedata tyxml ];
+
+  meta = builtins.removeAttrs js_of_ocaml-compiler.meta [ "mainProgram" ];
 }
diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index 2caf6c67857c4..3d8ade975f992 100644
--- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -31,10 +31,11 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "https://github.com/ocaml/ocamlbuild/";
     description = "A build system with builtin rules to easily build most OCaml projects";
+    homepage = "https://github.com/ocaml/ocamlbuild/";
     license = licenses.lgpl2;
-    inherit (ocaml.meta) platforms;
     maintainers = with maintainers; [ vbgl ];
+    mainProgram = "ocamlbuild";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocp-build/default.nix b/pkgs/development/tools/ocaml/ocp-build/default.nix
index 583468521817b..bf87bc5502178 100644
--- a/pkgs/development/tools/ocaml/ocp-build/default.nix
+++ b/pkgs/development/tools/ocaml/ocp-build/default.nix
@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
   preInstall = "mkdir -p $out/bin";
 
   meta = with lib; {
-    homepage = "https://www.typerex.org/ocp-build.html";
     description = "A build tool for OCaml";
     longDescription = ''
       ocp-build is a build system for OCaml application, based on simple
@@ -33,8 +32,10 @@ stdenv.mkDerivation rec {
       the number of cores and the automatically-inferred dependencies
       between source files.
     '';
+    homepage = "https://www.typerex.org/ocp-build.html";
     license = licenses.gpl3;
-    platforms = ocaml.meta.platforms or [];
     maintainers = [ maintainers.jirkamarsik ];
+    mainProgram = "ocp-build";
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
index 4a4eecf5ddb32..801634201c867 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-nix.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/cstrahan/tree-sitter-nix",
-  "rev": "470b15a60520ff7b86f51732b8d8f1118c86041e",
-  "date": "2022-03-18T01:42:08-05:00",
-  "path": "/nix/store/c5y76kz7wmfq05hfw4xpqz2ahcdy924f-tree-sitter-nix",
-  "sha256": "1hl0mpy0i6r160v6v3nflrdi5fnmd8i5zbx963h5nj9fg4srkb5r",
+  "rev": "6d6aaa50793b8265b6a8b6628577a0083d3b923d",
+  "date": "2021-11-29T00:27:21-06:00",
+  "path": "/nix/store/6cjadxvqbrh205lsqnk2rnzq3badxdxv-tree-sitter-nix",
+  "sha256": "0cbk6dqppasrvnm87pwfgm718z6b0xmy9m7zj8ysil0h8bklz1w9",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/pip-audit/default.nix b/pkgs/development/tools/pip-audit/default.nix
new file mode 100644
index 0000000000000..8f700761d1632
--- /dev/null
+++ b/pkgs/development/tools/pip-audit/default.nix
@@ -0,0 +1,83 @@
+{ lib
+, fetchFromGitHub
+, fetchpatch
+, python3
+}:
+
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+
+      # ansible doesn't support resolvelib > 0.6.0 and can't have an override
+      resolvelib = super.resolvelib.overridePythonAttrs (oldAttrs: rec {
+        version = "0.8.1";
+        src = fetchFromGitHub {
+          owner = "sarugaku";
+          repo = "resolvelib";
+          rev = version;
+          sha256 = "1qpd0gg9yl0kbamlgjs9pkxd39kx511kbc92civ77v0ka5sw8ca0";
+        };
+      });
+    };
+  };
+in
+with py.pkgs;
+
+buildPythonApplication rec {
+  pname = "pip-audit";
+  version = "2.2.1";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "trailofbits";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-ji61783imVlvoBaDMTxQwbf1L1G4lJbOFZ1FjcNOT/8=";
+  };
+
+  propagatedBuildInputs = [
+    cachecontrol
+    cyclonedx-python-lib
+    html5lib
+    packaging
+    pip-api
+    progress
+    resolvelib
+  ];
+
+  checkInputs = [
+    pretend
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pip_audit"
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  disabledTestPaths = [
+    # Tests require network access
+    "test/dependency_source/test_requirement.py"
+    "test/dependency_source/test_resolvelib.py"
+    "test/service/test_pypi.py"
+    "test/service/test_osv.py"
+  ];
+
+  disabledTests = [
+    # Tests requrire network access
+    "test_get_pip_cache"
+    "test_virtual_env"
+    "test_pyproject_source"
+    "test_pyproject_source_duplicate_deps"
+  ];
+
+  meta = with lib; {
+    description = "Tool for scanning Python environments for known vulnerabilities";
+    homepage = "https://github.com/trailofbits/pip-audit";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
index 57250f0d1011e..ce9805cd41ef3 100644
--- a/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
+++ b/pkgs/development/tools/poetry2nix/poetry2nix/overrides/default.nix
@@ -2346,7 +2346,7 @@ lib.composeManyExtensions [
       });
 
       wtforms = super.wtforms.overridePythonAttrs (old: {
-        buildInputs = (old.buildInputs or [ ]) ++ [ self.Babel ];
+        buildInputs = (old.buildInputs or [ ]) ++ [ self.babel ];
       });
 
     }
diff --git a/pkgs/development/tools/protoc-gen-go-vtproto/default.nix b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
index 4ffc0a24264eb..ee1793f01cab0 100644
--- a/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
+++ b/pkgs/development/tools/protoc-gen-go-vtproto/default.nix
@@ -4,16 +4,16 @@
 }:
 buildGoModule rec {
   pname = "protoc-gen-go-vtproto";
-  version = "0.2.0";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "vtprotobuf";
     rev = "v${version}";
-    sha256 = "0kjjpfsiws4vi36ha1gajb97rwcggqw753mv2jqf09kdfszz9p63";
+    sha256 = "sha256-fOF7n1WeQ3s1S+o5NbAoTUnqqk5IHtKvXCb2o8LmI5U=";
   };
 
-  vendorSha256 = "01lxwlgh3y3gp22gk5qx7r60c1j63pnpi6jnri8gf2lmiiib8fdc";
+  vendorSha256 = "sha256-JpSVO8h7+StLG9/dJQkmrIlh9zIHABoqP1hq+X5ajVs=";
 
   excludedPackages = [ "conformance" ];
 
diff --git a/pkgs/development/tools/qtcreator/default.nix b/pkgs/development/tools/qtcreator/default.nix
index 57a0f188dc8fc..04557a27f7409 100644
--- a/pkgs/development/tools/qtcreator/default.nix
+++ b/pkgs/development/tools/qtcreator/default.nix
@@ -20,12 +20,12 @@ in
 
 mkDerivation rec {
   pname = "qtcreator";
-  version = "5.0.2";
+  version = "5.0.3";
   baseVersion = builtins.concatStringsSep "." (lib.take 2 (builtins.splitVersion version));
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/${pname}/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.xz";
-    sha256 = "1bf07150226da46237f26f5eaa9f090ce81ed79b9bc75e0dfa6328043e360103";
+    sha256 = "1sz21ijzvhf5avblikffykbqa8zdq3sbg32g2dmyxv5w211v3lvz";
   };
 
   buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative elfutils.dev ] ++
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 8c05a5fc9a035..ed625cb229edf 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -11,19 +11,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.11.4";
+  version = "0.12.1";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = pname;
     rev = version;
-    sha256 = "sha256-lwVoV+zxJfmWvlt14FFmxPCdKCoojVvRVGS1rq1QF44=";
+    sha256 = "sha256-w64fdjKXiCaM+U28Hte+I0LPqmGKxbCVRUyhNWcVyTc=";
   };
 
   # enable pkg-config feature of zstd
   cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  cargoSha256 = "sha256-I+kpHaCxuNzq8+GdqQEuSdE4aD+/lBccUrSf+XW2OKE=";
+  cargoSha256 = "sha256-K9Ab4L/wnpUqe+gLKhtHX4fOgWXv6ZL9faa58hzdq/0=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index acacdcefb4150..861a4075990c3 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, callPackage
 , fetchFromGitHub
 , rustPlatform
 , CoreServices
@@ -11,14 +12,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2022-05-02";
-  cargoSha256 = "sha256-uZCUruIBTNTKYWYb8xQgJ6FsKlRi+Sh5n7m7aVk+hHQ=";
+  version = "2022-05-17";
+  cargoSha256 = "sha256-H0nuS56mvo5YUAUOsEnR4Cv3iFKixoHK83BcM1PFMA8=";
 
   src = fetchFromGitHub {
     owner = "rust-lang";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-5kAbd/tTc9vkr27ar44hnpXdS0vQg0OLJUMlp0FBjqA=";
+    sha256 = "sha256-vrVpgQYUuJPgK1NMb1nxlCdxjoYo40YkUbZpH2Z2mwM=";
   };
 
   patches = [
@@ -54,7 +55,11 @@ rustPlatform.buildRustPackage rec {
     runHook postInstallCheck
   '';
 
-  passthru.updateScript = ./update.sh;
+  passthru = {
+    updateScript = ./update.sh;
+    # FIXME: Pass overrided `rust-analyzer` once `buildRustPackage` also implements #119942
+    tests.neovim-lsp = callPackage ./test-neovim-lsp.nix { };
+  };
 
   meta = with lib; {
     description = "A modular compiler frontend for the Rust language";
diff --git a/pkgs/development/tools/rust/rust-analyzer/test-neovim-lsp.nix b/pkgs/development/tools/rust/rust-analyzer/test-neovim-lsp.nix
new file mode 100644
index 0000000000000..6782a7418a68b
--- /dev/null
+++ b/pkgs/development/tools/rust/rust-analyzer/test-neovim-lsp.nix
@@ -0,0 +1,49 @@
+{ runCommandNoCC, cargo, neovim, rust-analyzer, rustc }:
+runCommandNoCC "test-neovim-rust-analyzer" {
+  nativeBuildInputs = [ cargo neovim rust-analyzer rustc ];
+
+  testRustSrc = /* rust */ ''
+    fn main() {
+      let mut var = vec![None];
+      var.push(Some("hello".to_owned()));
+    }
+  '';
+
+  nvimConfig = /* lua */ ''
+    vim.lsp.buf_attach_client(vim.api.nvim_get_current_buf(), vim.lsp.start_client({
+      cmd = { "rust-analyzer" },
+      handlers = {
+        ["$/progress"] = function(_, msg, ctx)
+          if msg.token == "rustAnalyzer/Indexing" and msg.value.kind == "end" then
+            vim.cmd("goto 23") -- let mut |var =...
+            vim.lsp.buf.hover()
+          end
+        end,
+        ["textDocument/hover"] = function(_, msg, ctx)
+          -- Keep newlines.
+          io.write(msg.contents.value)
+          vim.cmd("q")
+        end,
+      },
+      on_error = function(code)
+        print("error: " .. code)
+        vim.cmd("q")
+      end
+    }))
+  '';
+
+} ''
+  # neovim requires a writable HOME.
+  export HOME="$(pwd)"
+
+  cargo new --bin test-rust-analyzer
+  cd test-rust-analyzer
+  cat <<<"$testRustSrc" >src/main.rs
+  cat <<<"$nvimConfig" >script.lua
+
+  # `-u` doesn't work
+  result="$(nvim --headless +'lua dofile("script.lua")' src/main.rs)"
+  echo "$result"
+  [[ "$result" == *"var: Vec<Option<String>>"* ]]
+  touch $out
+''
diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix
index 27606f998d5a4..9e73c566ef892 100644
--- a/pkgs/development/tools/sumneko-lua-language-server/default.nix
+++ b/pkgs/development/tools/sumneko-lua-language-server/default.nix
@@ -4,13 +4,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sumneko-lua-language-server";
-  version = "3.2.1";
+  version = "3.2.3";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-rxferVxTWmclviDshHhBmbCezOI+FvcfUW3gAkBQNHQ=";
+    sha256 = "sha256-n54PWkiB+vXAqIOZ5FOTUNgGhAdBs81Q1WYxJ2XIb8o=";
     fetchSubmodules = true;
   };
 
@@ -24,10 +24,10 @@ stdenv.mkDerivation rec {
     darwin.apple_sdk.frameworks.Foundation
   ];
 
-  # Disable cwd support on darwin, because it requires macOS>=10.15
-  preConfigure = lib.optionalString stdenv.isDarwin ''
+  # Disable cwd support on x86 darwin, because it requires macOS>=10.15
+  preConfigure = lib.optionalString (stdenv.isDarwin && stdenv.isx86_64) ''
     for file in 3rd/bee.lua/bee/subprocess/subprocess_posix.cpp 3rd/luamake/3rd/bee.lua/bee/subprocess/subprocess_posix.cpp; do
-      substituteInPlace $file --replace '#define SUPPORT_CWD 1' ""
+      substituteInPlace $file --replace '#define USE_POSIX_SPAWN 1' ""
     done
   '';
 
diff --git a/pkgs/development/tools/systemfd/Cargo.nix b/pkgs/development/tools/systemfd/Cargo.nix
deleted file mode 100644
index b6687f1e929a8..0000000000000
--- a/pkgs/development/tools/systemfd/Cargo.nix
+++ /dev/null
@@ -1,215 +0,0 @@
-# Generated by carnix 0.10.0: carnix generate-nix
-{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
-with buildRustCrateHelpers;
-let inherit (lib.lists) fold;
-    inherit (lib.attrsets) recursiveUpdate;
-in
-rec {
-  crates = cratesIO;
-  systemfd = crates.crates.systemfd."0.3.0" deps;
-  __all = [ (systemfd {}) ];
-  deps.aho_corasick."0.6.4" = {
-    memchr = "2.0.1";
-  };
-  deps.ansi_term."0.11.0" = {
-    winapi = "0.3.4";
-  };
-  deps.atty."0.2.10" = {
-    termion = "1.5.1";
-    libc = "0.2.40";
-    winapi = "0.3.4";
-  };
-  deps.backtrace."0.3.7" = {
-    cfg_if = "0.1.3";
-    rustc_demangle = "0.1.8";
-    backtrace_sys = "0.1.16";
-    libc = "0.2.40";
-    winapi = "0.3.4";
-  };
-  deps.backtrace_sys."0.1.16" = {
-    libc = "0.2.40";
-    cc = "1.0.15";
-  };
-  deps.bitflags."1.0.3" = {};
-  deps.byteorder."1.2.3" = {};
-  deps.bytes."0.4.7" = {
-    byteorder = "1.2.3";
-    iovec = "0.1.2";
-  };
-  deps.cc."1.0.15" = {};
-  deps.cfg_if."0.1.3" = {};
-  deps.clap."2.31.2" = {
-    atty = "0.2.10";
-    bitflags = "1.0.3";
-    strsim = "0.7.0";
-    textwrap = "0.9.0";
-    unicode_width = "0.1.4";
-    vec_map = "0.8.1";
-    ansi_term = "0.11.0";
-  };
-  deps.clicolors_control."0.2.0" = {
-    lazy_static = "0.2.11";
-    libc = "0.2.40";
-    kernel32_sys = "0.2.2";
-    winapi = "0.3.4";
-  };
-  deps.console."0.6.1" = {
-    clicolors_control = "0.2.0";
-    lazy_static = "0.2.11";
-    libc = "0.2.40";
-    parking_lot = "0.5.5";
-    regex = "0.2.11";
-    unicode_width = "0.1.4";
-    termios = "0.2.2";
-    winapi = "0.3.4";
-  };
-  deps.failure."0.1.1" = {
-    backtrace = "0.3.7";
-    failure_derive = "0.1.1";
-  };
-  deps.failure_derive."0.1.1" = {
-    quote = "0.3.15";
-    syn = "0.11.11";
-    synstructure = "0.6.1";
-  };
-  deps.fuchsia_zircon."0.3.3" = {
-    bitflags = "1.0.3";
-    fuchsia_zircon_sys = "0.3.3";
-  };
-  deps.fuchsia_zircon_sys."0.3.3" = {};
-  deps.gcc."0.3.54" = {};
-  deps.iovec."0.1.2" = {
-    libc = "0.2.40";
-    winapi = "0.2.8";
-  };
-  deps.kernel32_sys."0.2.2" = {
-    winapi = "0.2.8";
-    winapi_build = "0.1.1";
-  };
-  deps.lazy_static."0.2.11" = {};
-  deps.lazy_static."1.0.0" = {};
-  deps.libc."0.2.40" = {};
-  deps.memchr."2.0.1" = {
-    libc = "0.2.40";
-  };
-  deps.nix."0.10.0" = {
-    bitflags = "1.0.3";
-    bytes = "0.4.7";
-    cfg_if = "0.1.3";
-    libc = "0.2.40";
-    void = "1.0.2";
-  };
-  deps.owning_ref."0.3.3" = {
-    stable_deref_trait = "1.0.0";
-  };
-  deps.parking_lot."0.5.5" = {
-    owning_ref = "0.3.3";
-    parking_lot_core = "0.2.14";
-  };
-  deps.parking_lot_core."0.2.14" = {
-    rand = "0.4.2";
-    smallvec = "0.6.1";
-    libc = "0.2.40";
-    winapi = "0.3.4";
-  };
-  deps.quote."0.3.15" = {};
-  deps.rand."0.4.2" = {
-    fuchsia_zircon = "0.3.3";
-    libc = "0.2.40";
-    winapi = "0.3.4";
-  };
-  deps.redox_syscall."0.1.37" = {};
-  deps.redox_termios."0.1.1" = {
-    redox_syscall = "0.1.37";
-  };
-  deps.regex."0.2.11" = {
-    aho_corasick = "0.6.4";
-    memchr = "2.0.1";
-    regex_syntax = "0.5.6";
-    thread_local = "0.3.5";
-    utf8_ranges = "1.0.0";
-  };
-  deps.regex."1.0.0" = {
-    aho_corasick = "0.6.4";
-    memchr = "2.0.1";
-    regex_syntax = "0.6.0";
-    thread_local = "0.3.5";
-    utf8_ranges = "1.0.0";
-  };
-  deps.regex_syntax."0.5.6" = {
-    ucd_util = "0.1.1";
-  };
-  deps.regex_syntax."0.6.0" = {
-    ucd_util = "0.1.1";
-  };
-  deps.rustc_demangle."0.1.8" = {};
-  deps.smallvec."0.6.1" = {};
-  deps.socket2."0.3.5" = {
-    cfg_if = "0.1.3";
-    libc = "0.2.40";
-    winapi = "0.3.4";
-  };
-  deps.stable_deref_trait."1.0.0" = {};
-  deps.strsim."0.7.0" = {};
-  deps.syn."0.11.11" = {
-    quote = "0.3.15";
-    synom = "0.11.3";
-    unicode_xid = "0.0.4";
-  };
-  deps.synom."0.11.3" = {
-    unicode_xid = "0.0.4";
-  };
-  deps.synstructure."0.6.1" = {
-    quote = "0.3.15";
-    syn = "0.11.11";
-  };
-  deps.systemfd."0.3.0" = {
-    clap = "2.31.2";
-    console = "0.6.1";
-    failure = "0.1.1";
-    failure_derive = "0.1.1";
-    lazy_static = "1.0.0";
-    libc = "0.2.40";
-    regex = "1.0.0";
-    nix = "0.10.0";
-    socket2 = "0.3.5";
-    uuid = "0.6.3";
-    winapi = "0.3.4";
-  };
-  deps.termion."1.5.1" = {
-    libc = "0.2.40";
-    redox_syscall = "0.1.37";
-    redox_termios = "0.1.1";
-  };
-  deps.termios."0.2.2" = {
-    libc = "0.2.40";
-  };
-  deps.textwrap."0.9.0" = {
-    unicode_width = "0.1.4";
-  };
-  deps.thread_local."0.3.5" = {
-    lazy_static = "1.0.0";
-    unreachable = "1.0.0";
-  };
-  deps.ucd_util."0.1.1" = {};
-  deps.unicode_width."0.1.4" = {};
-  deps.unicode_xid."0.0.4" = {};
-  deps.unreachable."1.0.0" = {
-    void = "1.0.2";
-  };
-  deps.utf8_ranges."1.0.0" = {};
-  deps.uuid."0.6.3" = {
-    cfg_if = "0.1.3";
-    rand = "0.4.2";
-  };
-  deps.vec_map."0.8.1" = {};
-  deps.void."1.0.2" = {};
-  deps.winapi."0.2.8" = {};
-  deps.winapi."0.3.4" = {
-    winapi_i686_pc_windows_gnu = "0.4.0";
-    winapi_x86_64_pc_windows_gnu = "0.4.0";
-  };
-  deps.winapi_build."0.1.1" = {};
-  deps.winapi_i686_pc_windows_gnu."0.4.0" = {};
-  deps.winapi_x86_64_pc_windows_gnu."0.4.0" = {};
-}
diff --git a/pkgs/development/tools/systemfd/crates-io.list b/pkgs/development/tools/systemfd/crates-io.list
deleted file mode 100644
index 0b8371f68a1e2..0000000000000
--- a/pkgs/development/tools/systemfd/crates-io.list
+++ /dev/null
@@ -1,62 +0,0 @@
-aho-corasick-0.6.4
-ansi_term-0.11.0
-atty-0.2.10
-backtrace-0.3.7
-backtrace-sys-0.1.16
-bitflags-1.0.3
-byteorder-1.2.3
-bytes-0.4.7
-cc-1.0.15
-cfg-if-0.1.3
-clap-2.31.2
-clicolors-control-0.2.0
-console-0.6.1
-failure-0.1.1
-failure_derive-0.1.1
-fuchsia-zircon-0.3.3
-fuchsia-zircon-sys-0.3.3
-gcc-0.3.54
-iovec-0.1.2
-kernel32-sys-0.2.2
-lazy_static-0.2.11
-lazy_static-1.0.0
-libc-0.2.40
-memchr-2.0.1
-nix-0.10.0
-owning_ref-0.3.3
-parking_lot-0.5.5
-parking_lot_core-0.2.14
-quote-0.3.15
-rand-0.4.2
-redox_syscall-0.1.37
-redox_termios-0.1.1
-regex-0.2.11
-regex-1.0.0
-regex-syntax-0.5.6
-regex-syntax-0.6.0
-rustc-demangle-0.1.8
-smallvec-0.6.1
-socket2-0.3.5
-stable_deref_trait-1.0.0
-strsim-0.7.0
-syn-0.11.11
-synom-0.11.3
-synstructure-0.6.1
-systemfd-0.3.0
-termion-1.5.1
-termios-0.2.2
-textwrap-0.9.0
-thread_local-0.3.5
-ucd-util-0.1.1
-unicode-width-0.1.4
-unicode-xid-0.0.4
-unreachable-1.0.0
-utf8-ranges-1.0.0
-uuid-0.6.3
-vec_map-0.8.1
-void-1.0.2
-winapi-0.2.8
-winapi-0.3.4
-winapi-build-0.1.1
-winapi-i686-pc-windows-gnu-0.4.0
-winapi-x86_64-pc-windows-gnu-0.4.0
diff --git a/pkgs/development/tools/systemfd/crates-io.nix b/pkgs/development/tools/systemfd/crates-io.nix
deleted file mode 100644
index 7e7b737b8c878..0000000000000
--- a/pkgs/development/tools/systemfd/crates-io.nix
+++ /dev/null
@@ -1,1890 +0,0 @@
-{ lib, buildRustCrate, buildRustCrateHelpers }:
-with buildRustCrateHelpers;
-let inherit (lib.lists) fold;
-    inherit (lib.attrsets) recursiveUpdate;
-in
-rec {
-
-# aho-corasick-0.6.4
-
-  crates.aho_corasick."0.6.4" = deps: { features?(features_.aho_corasick."0.6.4" deps {}) }: buildRustCrate {
-    crateName = "aho-corasick";
-    version = "0.6.4";
-    description = "Fast multiple substring searching with finite state machines.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "189v919mp6rzzgjp1khpn4zlq8ls81gh43x1lmc8kbkagdlpq888";
-    libName = "aho_corasick";
-    crateBin =
-      [{  name = "aho-corasick-dot"; }];
-    dependencies = mapFeatures features ([
-      (crates."memchr"."${deps."aho_corasick"."0.6.4"."memchr"}" deps)
-    ]);
-  };
-  features_.aho_corasick."0.6.4" = deps: f: updateFeatures f (rec {
-    aho_corasick."0.6.4".default = (f.aho_corasick."0.6.4".default or true);
-    memchr."${deps.aho_corasick."0.6.4".memchr}".default = true;
-  }) [
-    (features_.memchr."${deps."aho_corasick"."0.6.4"."memchr"}" deps)
-  ];
-
-
-# end
-# ansi_term-0.11.0
-
-  crates.ansi_term."0.11.0" = deps: { features?(features_.ansi_term."0.11.0" deps {}) }: buildRustCrate {
-    crateName = "ansi_term";
-    version = "0.11.0";
-    description = "Library for ANSI terminal colours and styles (bold, underline)";
-    authors = [ "ogham@bsago.me" "Ryan Scheel (Havvy) <ryan.havvy@gmail.com>" "Josh Triplett <josh@joshtriplett.org>" ];
-    sha256 = "08fk0p2xvkqpmz3zlrwnf6l8sj2vngw464rvzspzp31sbgxbwm4v";
-    dependencies = (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."ansi_term"."0.11.0"."winapi"}" deps)
-    ]) else []);
-  };
-  features_.ansi_term."0.11.0" = deps: f: updateFeatures f (rec {
-    ansi_term."0.11.0".default = (f.ansi_term."0.11.0".default or true);
-    winapi = fold recursiveUpdate {} [
-      { "${deps.ansi_term."0.11.0".winapi}"."consoleapi" = true; }
-      { "${deps.ansi_term."0.11.0".winapi}"."errhandlingapi" = true; }
-      { "${deps.ansi_term."0.11.0".winapi}"."processenv" = true; }
-      { "${deps.ansi_term."0.11.0".winapi}".default = true; }
-    ];
-  }) [
-    (features_.winapi."${deps."ansi_term"."0.11.0"."winapi"}" deps)
-  ];
-
-
-# end
-# atty-0.2.10
-
-  crates.atty."0.2.10" = deps: { features?(features_.atty."0.2.10" deps {}) }: buildRustCrate {
-    crateName = "atty";
-    version = "0.2.10";
-    description = "A simple interface for querying atty";
-    authors = [ "softprops <d.tangren@gmail.com>" ];
-    sha256 = "1h26lssj8rwaz0xhwwm5a645r49yly211amfmd243m3m0jl49i2c";
-    dependencies = (if kernel == "redox" then mapFeatures features ([
-      (crates."termion"."${deps."atty"."0.2.10"."termion"}" deps)
-    ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."libc"."${deps."atty"."0.2.10"."libc"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."atty"."0.2.10"."winapi"}" deps)
-    ]) else []);
-  };
-  features_.atty."0.2.10" = deps: f: updateFeatures f (rec {
-    atty."0.2.10".default = (f.atty."0.2.10".default or true);
-    libc."${deps.atty."0.2.10".libc}".default = (f.libc."${deps.atty."0.2.10".libc}".default or false);
-    termion."${deps.atty."0.2.10".termion}".default = true;
-    winapi = fold recursiveUpdate {} [
-      { "${deps.atty."0.2.10".winapi}"."consoleapi" = true; }
-      { "${deps.atty."0.2.10".winapi}"."minwinbase" = true; }
-      { "${deps.atty."0.2.10".winapi}"."minwindef" = true; }
-      { "${deps.atty."0.2.10".winapi}"."processenv" = true; }
-      { "${deps.atty."0.2.10".winapi}"."winbase" = true; }
-      { "${deps.atty."0.2.10".winapi}".default = true; }
-    ];
-  }) [
-    (features_.termion."${deps."atty"."0.2.10"."termion"}" deps)
-    (features_.libc."${deps."atty"."0.2.10"."libc"}" deps)
-    (features_.winapi."${deps."atty"."0.2.10"."winapi"}" deps)
-  ];
-
-
-# end
-# backtrace-0.3.7
-
-  crates.backtrace."0.3.7" = deps: { features?(features_.backtrace."0.3.7" deps {}) }: buildRustCrate {
-    crateName = "backtrace";
-    version = "0.3.7";
-    description = "A library to acquire a stack trace (backtrace) at runtime in a Rust program.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "The Rust Project Developers" ];
-    sha256 = "00zzcgacv516dlhxkrdw4c8vsx3bwkkdrrzi5pnxrhpd87ambjwn";
-    dependencies = mapFeatures features ([
-      (crates."cfg_if"."${deps."backtrace"."0.3.7"."cfg_if"}" deps)
-      (crates."rustc_demangle"."${deps."backtrace"."0.3.7"."rustc_demangle"}" deps)
-    ])
-      ++ (if (kernel == "linux" || kernel == "darwin") && !(kernel == "fuchsia") && !(kernel == "emscripten") && !(kernel == "darwin") && !(kernel == "ios") then mapFeatures features ([
-    ]
-      ++ (if features.backtrace."0.3.7".backtrace-sys or false then [ (crates.backtrace_sys."${deps."backtrace"."0.3.7".backtrace_sys}" deps) ] else [])) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."libc"."${deps."backtrace"."0.3.7"."libc"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-    ]
-      ++ (if features.backtrace."0.3.7".winapi or false then [ (crates.winapi."${deps."backtrace"."0.3.7".winapi}" deps) ] else [])) else []);
-    features = mkFeatures (features."backtrace"."0.3.7" or {});
-  };
-  features_.backtrace."0.3.7" = deps: f: updateFeatures f (rec {
-    backtrace = fold recursiveUpdate {} [
-      { "0.3.7"."addr2line" =
-        (f.backtrace."0.3.7"."addr2line" or false) ||
-        (f.backtrace."0.3.7".gimli-symbolize or false) ||
-        (backtrace."0.3.7"."gimli-symbolize" or false); }
-      { "0.3.7"."backtrace-sys" =
-        (f.backtrace."0.3.7"."backtrace-sys" or false) ||
-        (f.backtrace."0.3.7".libbacktrace or false) ||
-        (backtrace."0.3.7"."libbacktrace" or false); }
-      { "0.3.7"."coresymbolication" =
-        (f.backtrace."0.3.7"."coresymbolication" or false) ||
-        (f.backtrace."0.3.7".default or false) ||
-        (backtrace."0.3.7"."default" or false); }
-      { "0.3.7"."dbghelp" =
-        (f.backtrace."0.3.7"."dbghelp" or false) ||
-        (f.backtrace."0.3.7".default or false) ||
-        (backtrace."0.3.7"."default" or false); }
-      { "0.3.7"."dladdr" =
-        (f.backtrace."0.3.7"."dladdr" or false) ||
-        (f.backtrace."0.3.7".default or false) ||
-        (backtrace."0.3.7"."default" or false); }
-      { "0.3.7"."findshlibs" =
-        (f.backtrace."0.3.7"."findshlibs" or false) ||
-        (f.backtrace."0.3.7".gimli-symbolize or false) ||
-        (backtrace."0.3.7"."gimli-symbolize" or false); }
-      { "0.3.7"."gimli" =
-        (f.backtrace."0.3.7"."gimli" or false) ||
-        (f.backtrace."0.3.7".gimli-symbolize or false) ||
-        (backtrace."0.3.7"."gimli-symbolize" or false); }
-      { "0.3.7"."libbacktrace" =
-        (f.backtrace."0.3.7"."libbacktrace" or false) ||
-        (f.backtrace."0.3.7".default or false) ||
-        (backtrace."0.3.7"."default" or false); }
-      { "0.3.7"."libunwind" =
-        (f.backtrace."0.3.7"."libunwind" or false) ||
-        (f.backtrace."0.3.7".default or false) ||
-        (backtrace."0.3.7"."default" or false); }
-      { "0.3.7"."memmap" =
-        (f.backtrace."0.3.7"."memmap" or false) ||
-        (f.backtrace."0.3.7".gimli-symbolize or false) ||
-        (backtrace."0.3.7"."gimli-symbolize" or false); }
-      { "0.3.7"."object" =
-        (f.backtrace."0.3.7"."object" or false) ||
-        (f.backtrace."0.3.7".gimli-symbolize or false) ||
-        (backtrace."0.3.7"."gimli-symbolize" or false); }
-      { "0.3.7"."rustc-serialize" =
-        (f.backtrace."0.3.7"."rustc-serialize" or false) ||
-        (f.backtrace."0.3.7".serialize-rustc or false) ||
-        (backtrace."0.3.7"."serialize-rustc" or false); }
-      { "0.3.7"."serde" =
-        (f.backtrace."0.3.7"."serde" or false) ||
-        (f.backtrace."0.3.7".serialize-serde or false) ||
-        (backtrace."0.3.7"."serialize-serde" or false); }
-      { "0.3.7"."serde_derive" =
-        (f.backtrace."0.3.7"."serde_derive" or false) ||
-        (f.backtrace."0.3.7".serialize-serde or false) ||
-        (backtrace."0.3.7"."serialize-serde" or false); }
-      { "0.3.7"."winapi" =
-        (f.backtrace."0.3.7"."winapi" or false) ||
-        (f.backtrace."0.3.7".dbghelp or false) ||
-        (backtrace."0.3.7"."dbghelp" or false); }
-      { "0.3.7".default = (f.backtrace."0.3.7".default or true); }
-    ];
-    backtrace_sys."${deps.backtrace."0.3.7".backtrace_sys}".default = true;
-    cfg_if."${deps.backtrace."0.3.7".cfg_if}".default = true;
-    libc."${deps.backtrace."0.3.7".libc}".default = true;
-    rustc_demangle."${deps.backtrace."0.3.7".rustc_demangle}".default = true;
-    winapi = fold recursiveUpdate {} [
-      { "${deps.backtrace."0.3.7".winapi}"."dbghelp" = true; }
-      { "${deps.backtrace."0.3.7".winapi}"."minwindef" = true; }
-      { "${deps.backtrace."0.3.7".winapi}"."processthreadsapi" = true; }
-      { "${deps.backtrace."0.3.7".winapi}"."std" = true; }
-      { "${deps.backtrace."0.3.7".winapi}"."winnt" = true; }
-      { "${deps.backtrace."0.3.7".winapi}".default = true; }
-    ];
-  }) [
-    (features_.cfg_if."${deps."backtrace"."0.3.7"."cfg_if"}" deps)
-    (features_.rustc_demangle."${deps."backtrace"."0.3.7"."rustc_demangle"}" deps)
-    (features_.backtrace_sys."${deps."backtrace"."0.3.7"."backtrace_sys"}" deps)
-    (features_.libc."${deps."backtrace"."0.3.7"."libc"}" deps)
-    (features_.winapi."${deps."backtrace"."0.3.7"."winapi"}" deps)
-  ];
-
-
-# end
-# backtrace-sys-0.1.16
-
-  crates.backtrace_sys."0.1.16" = deps: { features?(features_.backtrace_sys."0.1.16" deps {}) }: buildRustCrate {
-    crateName = "backtrace-sys";
-    version = "0.1.16";
-    description = "Bindings to the libbacktrace gcc library\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1cn2c8q3dn06crmnk0p62czkngam4l8nf57wy33nz1y5g25pszwy";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."backtrace_sys"."0.1.16"."libc"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."cc"."${deps."backtrace_sys"."0.1.16"."cc"}" deps)
-    ]);
-  };
-  features_.backtrace_sys."0.1.16" = deps: f: updateFeatures f (rec {
-    backtrace_sys."0.1.16".default = (f.backtrace_sys."0.1.16".default or true);
-    cc."${deps.backtrace_sys."0.1.16".cc}".default = true;
-    libc."${deps.backtrace_sys."0.1.16".libc}".default = true;
-  }) [
-    (features_.libc."${deps."backtrace_sys"."0.1.16"."libc"}" deps)
-    (features_.cc."${deps."backtrace_sys"."0.1.16"."cc"}" deps)
-  ];
-
-
-# end
-# bitflags-1.0.3
-
-  crates.bitflags."1.0.3" = deps: { features?(features_.bitflags."1.0.3" deps {}) }: buildRustCrate {
-    crateName = "bitflags";
-    version = "1.0.3";
-    description = "A macro to generate structures which behave like bitflags.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "162p4w4h1ad76awq6b5yivmls3d50m9cl27d8g588lsps6g8s5rw";
-    features = mkFeatures (features."bitflags"."1.0.3" or {});
-  };
-  features_.bitflags."1.0.3" = deps: f: updateFeatures f (rec {
-    bitflags."1.0.3".default = (f.bitflags."1.0.3".default or true);
-  }) [];
-
-
-# end
-# byteorder-1.2.3
-
-  crates.byteorder."1.2.3" = deps: { features?(features_.byteorder."1.2.3" deps {}) }: buildRustCrate {
-    crateName = "byteorder";
-    version = "1.2.3";
-    description = "Library for reading/writing numbers in big-endian and little-endian.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "1xghv5f5rydzsam8lnfqhfk090i8a1knb77ikbs0ik44bvrw2ij3";
-    features = mkFeatures (features."byteorder"."1.2.3" or {});
-  };
-  features_.byteorder."1.2.3" = deps: f: updateFeatures f (rec {
-    byteorder = fold recursiveUpdate {} [
-      { "1.2.3"."std" =
-        (f.byteorder."1.2.3"."std" or false) ||
-        (f.byteorder."1.2.3".default or false) ||
-        (byteorder."1.2.3"."default" or false); }
-      { "1.2.3".default = (f.byteorder."1.2.3".default or true); }
-    ];
-  }) [];
-
-
-# end
-# bytes-0.4.7
-
-  crates.bytes."0.4.7" = deps: { features?(features_.bytes."0.4.7" deps {}) }: buildRustCrate {
-    crateName = "bytes";
-    version = "0.4.7";
-    description = "Types and traits for working with bytes";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "1icr74r099d0c0a2q1pz51182z7911g92h2j60al351kz78dzv3f";
-    dependencies = mapFeatures features ([
-      (crates."byteorder"."${deps."bytes"."0.4.7"."byteorder"}" deps)
-      (crates."iovec"."${deps."bytes"."0.4.7"."iovec"}" deps)
-    ]);
-  };
-  features_.bytes."0.4.7" = deps: f: updateFeatures f (rec {
-    byteorder."${deps.bytes."0.4.7".byteorder}".default = true;
-    bytes."0.4.7".default = (f.bytes."0.4.7".default or true);
-    iovec."${deps.bytes."0.4.7".iovec}".default = true;
-  }) [
-    (features_.byteorder."${deps."bytes"."0.4.7"."byteorder"}" deps)
-    (features_.iovec."${deps."bytes"."0.4.7"."iovec"}" deps)
-  ];
-
-
-# end
-# cc-1.0.15
-
-  crates.cc."1.0.15" = deps: { features?(features_.cc."1.0.15" deps {}) }: buildRustCrate {
-    crateName = "cc";
-    version = "1.0.15";
-    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "1zmcv4zf888byhay2qakqlc9b8snhy5ccfs35zb6flywmlj8f2c0";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."cc"."1.0.15" or {});
-  };
-  features_.cc."1.0.15" = deps: f: updateFeatures f (rec {
-    cc = fold recursiveUpdate {} [
-      { "1.0.15"."rayon" =
-        (f.cc."1.0.15"."rayon" or false) ||
-        (f.cc."1.0.15".parallel or false) ||
-        (cc."1.0.15"."parallel" or false); }
-      { "1.0.15".default = (f.cc."1.0.15".default or true); }
-    ];
-  }) [];
-
-
-# end
-# cfg-if-0.1.3
-
-  crates.cfg_if."0.1.3" = deps: { features?(features_.cfg_if."0.1.3" deps {}) }: buildRustCrate {
-    crateName = "cfg-if";
-    version = "0.1.3";
-    description = "A macro to ergonomically define an item depending on a large number of #[cfg]\nparameters. Structured like an if-else chain, the first matching branch is the\nitem that gets emitted.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0hphfz5qg40gr5p18gmgy2rzkqj019lii3n0dy3s0a6lnl9106k6";
-  };
-  features_.cfg_if."0.1.3" = deps: f: updateFeatures f (rec {
-    cfg_if."0.1.3".default = (f.cfg_if."0.1.3".default or true);
-  }) [];
-
-
-# end
-# clap-2.31.2
-
-  crates.clap."2.31.2" = deps: { features?(features_.clap."2.31.2" deps {}) }: buildRustCrate {
-    crateName = "clap";
-    version = "2.31.2";
-    description = "A simple to use, efficient, and full featured  Command Line Argument Parser\n";
-    authors = [ "Kevin K. <kbknapp@gmail.com>" ];
-    sha256 = "0r24ziw85a8y1sf2l21y4mvv5qan3rjafcshpyfsjfadqfxsij72";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."clap"."2.31.2"."bitflags"}" deps)
-      (crates."textwrap"."${deps."clap"."2.31.2"."textwrap"}" deps)
-      (crates."unicode_width"."${deps."clap"."2.31.2"."unicode_width"}" deps)
-    ]
-      ++ (if features.clap."2.31.2".atty or false then [ (crates.atty."${deps."clap"."2.31.2".atty}" deps) ] else [])
-      ++ (if features.clap."2.31.2".strsim or false then [ (crates.strsim."${deps."clap"."2.31.2".strsim}" deps) ] else [])
-      ++ (if features.clap."2.31.2".vec_map or false then [ (crates.vec_map."${deps."clap"."2.31.2".vec_map}" deps) ] else []))
-      ++ (if !(kernel == "windows") then mapFeatures features ([
-    ]
-      ++ (if features.clap."2.31.2".ansi_term or false then [ (crates.ansi_term."${deps."clap"."2.31.2".ansi_term}" deps) ] else [])) else []);
-    features = mkFeatures (features."clap"."2.31.2" or {});
-  };
-  features_.clap."2.31.2" = deps: f: updateFeatures f (rec {
-    ansi_term."${deps.clap."2.31.2".ansi_term}".default = true;
-    atty."${deps.clap."2.31.2".atty}".default = true;
-    bitflags."${deps.clap."2.31.2".bitflags}".default = true;
-    clap = fold recursiveUpdate {} [
-      { "2.31.2"."ansi_term" =
-        (f.clap."2.31.2"."ansi_term" or false) ||
-        (f.clap."2.31.2".color or false) ||
-        (clap."2.31.2"."color" or false); }
-      { "2.31.2"."atty" =
-        (f.clap."2.31.2"."atty" or false) ||
-        (f.clap."2.31.2".color or false) ||
-        (clap."2.31.2"."color" or false); }
-      { "2.31.2"."clippy" =
-        (f.clap."2.31.2"."clippy" or false) ||
-        (f.clap."2.31.2".lints or false) ||
-        (clap."2.31.2"."lints" or false); }
-      { "2.31.2"."color" =
-        (f.clap."2.31.2"."color" or false) ||
-        (f.clap."2.31.2".default or false) ||
-        (clap."2.31.2"."default" or false); }
-      { "2.31.2"."strsim" =
-        (f.clap."2.31.2"."strsim" or false) ||
-        (f.clap."2.31.2".suggestions or false) ||
-        (clap."2.31.2"."suggestions" or false); }
-      { "2.31.2"."suggestions" =
-        (f.clap."2.31.2"."suggestions" or false) ||
-        (f.clap."2.31.2".default or false) ||
-        (clap."2.31.2"."default" or false); }
-      { "2.31.2"."term_size" =
-        (f.clap."2.31.2"."term_size" or false) ||
-        (f.clap."2.31.2".wrap_help or false) ||
-        (clap."2.31.2"."wrap_help" or false); }
-      { "2.31.2"."vec_map" =
-        (f.clap."2.31.2"."vec_map" or false) ||
-        (f.clap."2.31.2".default or false) ||
-        (clap."2.31.2"."default" or false); }
-      { "2.31.2"."yaml" =
-        (f.clap."2.31.2"."yaml" or false) ||
-        (f.clap."2.31.2".doc or false) ||
-        (clap."2.31.2"."doc" or false); }
-      { "2.31.2"."yaml-rust" =
-        (f.clap."2.31.2"."yaml-rust" or false) ||
-        (f.clap."2.31.2".yaml or false) ||
-        (clap."2.31.2"."yaml" or false); }
-      { "2.31.2".default = (f.clap."2.31.2".default or true); }
-    ];
-    strsim."${deps.clap."2.31.2".strsim}".default = true;
-    textwrap = fold recursiveUpdate {} [
-      { "${deps.clap."2.31.2".textwrap}"."term_size" =
-        (f.textwrap."${deps.clap."2.31.2".textwrap}"."term_size" or false) ||
-        (clap."2.31.2"."wrap_help" or false) ||
-        (f."clap"."2.31.2"."wrap_help" or false); }
-      { "${deps.clap."2.31.2".textwrap}".default = true; }
-    ];
-    unicode_width."${deps.clap."2.31.2".unicode_width}".default = true;
-    vec_map."${deps.clap."2.31.2".vec_map}".default = true;
-  }) [
-    (features_.atty."${deps."clap"."2.31.2"."atty"}" deps)
-    (features_.bitflags."${deps."clap"."2.31.2"."bitflags"}" deps)
-    (features_.strsim."${deps."clap"."2.31.2"."strsim"}" deps)
-    (features_.textwrap."${deps."clap"."2.31.2"."textwrap"}" deps)
-    (features_.unicode_width."${deps."clap"."2.31.2"."unicode_width"}" deps)
-    (features_.vec_map."${deps."clap"."2.31.2"."vec_map"}" deps)
-    (features_.ansi_term."${deps."clap"."2.31.2"."ansi_term"}" deps)
-  ];
-
-
-# end
-# clicolors-control-0.2.0
-
-  crates.clicolors_control."0.2.0" = deps: { features?(features_.clicolors_control."0.2.0" deps {}) }: buildRustCrate {
-    crateName = "clicolors-control";
-    version = "0.2.0";
-    description = "A common utility library to control CLI colorization";
-    authors = [ "Armin Ronacher <armin.ronacher@active-4.com>" ];
-    sha256 = "0p1fbs7k70h58ycahmin7b87c0xn6lc94xmh9jw4gxi40mnrvdkp";
-    dependencies = mapFeatures features ([
-      (crates."lazy_static"."${deps."clicolors_control"."0.2.0"."lazy_static"}" deps)
-    ])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."libc"."${deps."clicolors_control"."0.2.0"."libc"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."kernel32_sys"."${deps."clicolors_control"."0.2.0"."kernel32_sys"}" deps)
-      (crates."winapi"."${deps."clicolors_control"."0.2.0"."winapi"}" deps)
-    ]) else []);
-    features = mkFeatures (features."clicolors_control"."0.2.0" or {});
-  };
-  features_.clicolors_control."0.2.0" = deps: f: updateFeatures f (rec {
-    clicolors_control = fold recursiveUpdate {} [
-      { "0.2.0"."terminal_autoconfig" =
-        (f.clicolors_control."0.2.0"."terminal_autoconfig" or false) ||
-        (f.clicolors_control."0.2.0".default or false) ||
-        (clicolors_control."0.2.0"."default" or false); }
-      { "0.2.0".default = (f.clicolors_control."0.2.0".default or true); }
-    ];
-    kernel32_sys."${deps.clicolors_control."0.2.0".kernel32_sys}".default = true;
-    lazy_static."${deps.clicolors_control."0.2.0".lazy_static}".default = true;
-    libc."${deps.clicolors_control."0.2.0".libc}".default = true;
-    winapi = fold recursiveUpdate {} [
-      { "${deps.clicolors_control."0.2.0".winapi}"."consoleapi" = true; }
-      { "${deps.clicolors_control."0.2.0".winapi}"."handleapi" = true; }
-      { "${deps.clicolors_control."0.2.0".winapi}"."processenv" = true; }
-      { "${deps.clicolors_control."0.2.0".winapi}"."winbase" = true; }
-      { "${deps.clicolors_control."0.2.0".winapi}".default = true; }
-    ];
-  }) [
-    (features_.lazy_static."${deps."clicolors_control"."0.2.0"."lazy_static"}" deps)
-    (features_.libc."${deps."clicolors_control"."0.2.0"."libc"}" deps)
-    (features_.kernel32_sys."${deps."clicolors_control"."0.2.0"."kernel32_sys"}" deps)
-    (features_.winapi."${deps."clicolors_control"."0.2.0"."winapi"}" deps)
-  ];
-
-
-# end
-# console-0.6.1
-
-  crates.console."0.6.1" = deps: { features?(features_.console."0.6.1" deps {}) }: buildRustCrate {
-    crateName = "console";
-    version = "0.6.1";
-    description = "A terminal and console abstraction for Rust";
-    authors = [ "Armin Ronacher <armin.ronacher@active-4.com>" ];
-    sha256 = "0h46m3nlx7m2pmc1ia2nlbl8d1vp46kqh2c82hx9ckjag68g4zdl";
-    dependencies = mapFeatures features ([
-      (crates."clicolors_control"."${deps."console"."0.6.1"."clicolors_control"}" deps)
-      (crates."lazy_static"."${deps."console"."0.6.1"."lazy_static"}" deps)
-      (crates."libc"."${deps."console"."0.6.1"."libc"}" deps)
-      (crates."parking_lot"."${deps."console"."0.6.1"."parking_lot"}" deps)
-      (crates."regex"."${deps."console"."0.6.1"."regex"}" deps)
-      (crates."unicode_width"."${deps."console"."0.6.1"."unicode_width"}" deps)
-    ])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."termios"."${deps."console"."0.6.1"."termios"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."console"."0.6.1"."winapi"}" deps)
-    ]) else []);
-  };
-  features_.console."0.6.1" = deps: f: updateFeatures f (rec {
-    clicolors_control."${deps.console."0.6.1".clicolors_control}".default = true;
-    console."0.6.1".default = (f.console."0.6.1".default or true);
-    lazy_static."${deps.console."0.6.1".lazy_static}".default = true;
-    libc."${deps.console."0.6.1".libc}".default = true;
-    parking_lot."${deps.console."0.6.1".parking_lot}".default = true;
-    regex."${deps.console."0.6.1".regex}".default = true;
-    termios."${deps.console."0.6.1".termios}".default = true;
-    unicode_width."${deps.console."0.6.1".unicode_width}".default = true;
-    winapi = fold recursiveUpdate {} [
-      { "${deps.console."0.6.1".winapi}"."consoleapi" = true; }
-      { "${deps.console."0.6.1".winapi}"."processenv" = true; }
-      { "${deps.console."0.6.1".winapi}"."winbase" = true; }
-      { "${deps.console."0.6.1".winapi}"."wincon" = true; }
-      { "${deps.console."0.6.1".winapi}"."winuser" = true; }
-      { "${deps.console."0.6.1".winapi}".default = true; }
-    ];
-  }) [
-    (features_.clicolors_control."${deps."console"."0.6.1"."clicolors_control"}" deps)
-    (features_.lazy_static."${deps."console"."0.6.1"."lazy_static"}" deps)
-    (features_.libc."${deps."console"."0.6.1"."libc"}" deps)
-    (features_.parking_lot."${deps."console"."0.6.1"."parking_lot"}" deps)
-    (features_.regex."${deps."console"."0.6.1"."regex"}" deps)
-    (features_.unicode_width."${deps."console"."0.6.1"."unicode_width"}" deps)
-    (features_.termios."${deps."console"."0.6.1"."termios"}" deps)
-    (features_.winapi."${deps."console"."0.6.1"."winapi"}" deps)
-  ];
-
-
-# end
-# failure-0.1.1
-
-  crates.failure."0.1.1" = deps: { features?(features_.failure."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "failure";
-    version = "0.1.1";
-    description = "Experimental error handling abstraction.";
-    authors = [ "Without Boats <boats@mozilla.com>" ];
-    sha256 = "0gf9cmkm9kc163sszgjksqp5pcgj689lnf2104nn4h4is18nhigk";
-    dependencies = mapFeatures features ([
-    ]
-      ++ (if features.failure."0.1.1".backtrace or false then [ (crates.backtrace."${deps."failure"."0.1.1".backtrace}" deps) ] else [])
-      ++ (if features.failure."0.1.1".failure_derive or false then [ (crates.failure_derive."${deps."failure"."0.1.1".failure_derive}" deps) ] else []));
-    features = mkFeatures (features."failure"."0.1.1" or {});
-  };
-  features_.failure."0.1.1" = deps: f: updateFeatures f (rec {
-    backtrace."${deps.failure."0.1.1".backtrace}".default = true;
-    failure = fold recursiveUpdate {} [
-      { "0.1.1"."backtrace" =
-        (f.failure."0.1.1"."backtrace" or false) ||
-        (f.failure."0.1.1".std or false) ||
-        (failure."0.1.1"."std" or false); }
-      { "0.1.1"."derive" =
-        (f.failure."0.1.1"."derive" or false) ||
-        (f.failure."0.1.1".default or false) ||
-        (failure."0.1.1"."default" or false); }
-      { "0.1.1"."failure_derive" =
-        (f.failure."0.1.1"."failure_derive" or false) ||
-        (f.failure."0.1.1".derive or false) ||
-        (failure."0.1.1"."derive" or false); }
-      { "0.1.1"."std" =
-        (f.failure."0.1.1"."std" or false) ||
-        (f.failure."0.1.1".default or false) ||
-        (failure."0.1.1"."default" or false); }
-      { "0.1.1".default = (f.failure."0.1.1".default or true); }
-    ];
-    failure_derive."${deps.failure."0.1.1".failure_derive}".default = true;
-  }) [
-    (features_.backtrace."${deps."failure"."0.1.1"."backtrace"}" deps)
-    (features_.failure_derive."${deps."failure"."0.1.1"."failure_derive"}" deps)
-  ];
-
-
-# end
-# failure_derive-0.1.1
-
-  crates.failure_derive."0.1.1" = deps: { features?(features_.failure_derive."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "failure_derive";
-    version = "0.1.1";
-    description = "derives for the failure crate";
-    authors = [ "Without Boats <woboats@gmail.com>" ];
-    sha256 = "1w895q4pbyx3rwnhgjwfcayk9ghbi166wc1c3553qh8zkbz52k8i";
-    procMacro = true;
-    dependencies = mapFeatures features ([
-      (crates."quote"."${deps."failure_derive"."0.1.1"."quote"}" deps)
-      (crates."syn"."${deps."failure_derive"."0.1.1"."syn"}" deps)
-      (crates."synstructure"."${deps."failure_derive"."0.1.1"."synstructure"}" deps)
-    ]);
-    features = mkFeatures (features."failure_derive"."0.1.1" or {});
-  };
-  features_.failure_derive."0.1.1" = deps: f: updateFeatures f (rec {
-    failure_derive = fold recursiveUpdate {} [
-      { "0.1.1"."std" =
-        (f.failure_derive."0.1.1"."std" or false) ||
-        (f.failure_derive."0.1.1".default or false) ||
-        (failure_derive."0.1.1"."default" or false); }
-      { "0.1.1".default = (f.failure_derive."0.1.1".default or true); }
-    ];
-    quote."${deps.failure_derive."0.1.1".quote}".default = true;
-    syn."${deps.failure_derive."0.1.1".syn}".default = true;
-    synstructure."${deps.failure_derive."0.1.1".synstructure}".default = true;
-  }) [
-    (features_.quote."${deps."failure_derive"."0.1.1"."quote"}" deps)
-    (features_.syn."${deps."failure_derive"."0.1.1"."syn"}" deps)
-    (features_.synstructure."${deps."failure_derive"."0.1.1"."synstructure"}" deps)
-  ];
-
-
-# end
-# fuchsia-zircon-0.3.3
-
-  crates.fuchsia_zircon."0.3.3" = deps: { features?(features_.fuchsia_zircon."0.3.3" deps {}) }: buildRustCrate {
-    crateName = "fuchsia-zircon";
-    version = "0.3.3";
-    description = "Rust bindings for the Zircon kernel";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "0jrf4shb1699r4la8z358vri8318w4mdi6qzfqy30p2ymjlca4gk";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
-      (crates."fuchsia_zircon_sys"."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
-    ]);
-  };
-  features_.fuchsia_zircon."0.3.3" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.fuchsia_zircon."0.3.3".bitflags}".default = true;
-    fuchsia_zircon."0.3.3".default = (f.fuchsia_zircon."0.3.3".default or true);
-    fuchsia_zircon_sys."${deps.fuchsia_zircon."0.3.3".fuchsia_zircon_sys}".default = true;
-  }) [
-    (features_.bitflags."${deps."fuchsia_zircon"."0.3.3"."bitflags"}" deps)
-    (features_.fuchsia_zircon_sys."${deps."fuchsia_zircon"."0.3.3"."fuchsia_zircon_sys"}" deps)
-  ];
-
-
-# end
-# fuchsia-zircon-sys-0.3.3
-
-  crates.fuchsia_zircon_sys."0.3.3" = deps: { features?(features_.fuchsia_zircon_sys."0.3.3" deps {}) }: buildRustCrate {
-    crateName = "fuchsia-zircon-sys";
-    version = "0.3.3";
-    description = "Low-level Rust bindings for the Zircon kernel";
-    authors = [ "Raph Levien <raph@google.com>" ];
-    sha256 = "08jp1zxrm9jbrr6l26bjal4dbm8bxfy57ickdgibsqxr1n9j3hf5";
-  };
-  features_.fuchsia_zircon_sys."0.3.3" = deps: f: updateFeatures f (rec {
-    fuchsia_zircon_sys."0.3.3".default = (f.fuchsia_zircon_sys."0.3.3".default or true);
-  }) [];
-
-
-# end
-# gcc-0.3.54
-
-  crates.gcc."0.3.54" = deps: { features?(features_.gcc."0.3.54" deps {}) }: buildRustCrate {
-    crateName = "gcc";
-    version = "0.3.54";
-    description = "A build-time dependency for Cargo build scripts to assist in invoking the native\nC compiler to compile native C code into a static archive to be linked into Rust\ncode.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "07a5i47r8achc6gxsba3ga17h9gnh4b9a2cak8vjg4hx62aajkr4";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."gcc"."0.3.54" or {});
-  };
-  features_.gcc."0.3.54" = deps: f: updateFeatures f (rec {
-    gcc = fold recursiveUpdate {} [
-      { "0.3.54"."rayon" =
-        (f.gcc."0.3.54"."rayon" or false) ||
-        (f.gcc."0.3.54".parallel or false) ||
-        (gcc."0.3.54"."parallel" or false); }
-      { "0.3.54".default = (f.gcc."0.3.54".default or true); }
-    ];
-  }) [];
-
-
-# end
-# iovec-0.1.2
-
-  crates.iovec."0.1.2" = deps: { features?(features_.iovec."0.1.2" deps {}) }: buildRustCrate {
-    crateName = "iovec";
-    version = "0.1.2";
-    description = "Portable buffer type for scatter/gather I/O operations\n";
-    authors = [ "Carl Lerche <me@carllerche.com>" ];
-    sha256 = "0vjymmb7wj4v4kza5jjn48fcdb85j3k37y7msjl3ifz0p9yiyp2r";
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."libc"."${deps."iovec"."0.1.2"."libc"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."iovec"."0.1.2"."winapi"}" deps)
-    ]) else []);
-  };
-  features_.iovec."0.1.2" = deps: f: updateFeatures f (rec {
-    iovec."0.1.2".default = (f.iovec."0.1.2".default or true);
-    libc."${deps.iovec."0.1.2".libc}".default = true;
-    winapi."${deps.iovec."0.1.2".winapi}".default = true;
-  }) [
-    (features_.libc."${deps."iovec"."0.1.2"."libc"}" deps)
-    (features_.winapi."${deps."iovec"."0.1.2"."winapi"}" deps)
-  ];
-
-
-# end
-# kernel32-sys-0.2.2
-
-  crates.kernel32_sys."0.2.2" = deps: { features?(features_.kernel32_sys."0.2.2" deps {}) }: buildRustCrate {
-    crateName = "kernel32-sys";
-    version = "0.2.2";
-    description = "Contains function definitions for the Windows API library kernel32. See winapi for types and constants.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lrw1hbinyvr6cp28g60z97w32w8vsk6pahk64pmrv2fmby8srfj";
-    libName = "kernel32";
-    build = "build.rs";
-    dependencies = mapFeatures features ([
-      (crates."winapi"."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
-    ]);
-
-    buildDependencies = mapFeatures features ([
-      (crates."winapi_build"."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
-    ]);
-  };
-  features_.kernel32_sys."0.2.2" = deps: f: updateFeatures f (rec {
-    kernel32_sys."0.2.2".default = (f.kernel32_sys."0.2.2".default or true);
-    winapi."${deps.kernel32_sys."0.2.2".winapi}".default = true;
-    winapi_build."${deps.kernel32_sys."0.2.2".winapi_build}".default = true;
-  }) [
-    (features_.winapi."${deps."kernel32_sys"."0.2.2"."winapi"}" deps)
-    (features_.winapi_build."${deps."kernel32_sys"."0.2.2"."winapi_build"}" deps)
-  ];
-
-
-# end
-# lazy_static-0.2.11
-
-  crates.lazy_static."0.2.11" = deps: { features?(features_.lazy_static."0.2.11" deps {}) }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "0.2.11";
-    description = "A macro for declaring lazily evaluated statics in Rust.";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "1x6871cvpy5b96yv4c7jvpq316fp5d4609s9py7qk6cd6x9k34vm";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."lazy_static"."0.2.11" or {});
-  };
-  features_.lazy_static."0.2.11" = deps: f: updateFeatures f (rec {
-    lazy_static = fold recursiveUpdate {} [
-      { "0.2.11"."compiletest_rs" =
-        (f.lazy_static."0.2.11"."compiletest_rs" or false) ||
-        (f.lazy_static."0.2.11".compiletest or false) ||
-        (lazy_static."0.2.11"."compiletest" or false); }
-      { "0.2.11"."nightly" =
-        (f.lazy_static."0.2.11"."nightly" or false) ||
-        (f.lazy_static."0.2.11".spin_no_std or false) ||
-        (lazy_static."0.2.11"."spin_no_std" or false); }
-      { "0.2.11"."spin" =
-        (f.lazy_static."0.2.11"."spin" or false) ||
-        (f.lazy_static."0.2.11".spin_no_std or false) ||
-        (lazy_static."0.2.11"."spin_no_std" or false); }
-      { "0.2.11".default = (f.lazy_static."0.2.11".default or true); }
-    ];
-  }) [];
-
-
-# end
-# lazy_static-1.0.0
-
-  crates.lazy_static."1.0.0" = deps: { features?(features_.lazy_static."1.0.0" deps {}) }: buildRustCrate {
-    crateName = "lazy_static";
-    version = "1.0.0";
-    description = "A macro for declaring lazily evaluated statics in Rust.";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "0wfvqyr2nvx2mbsrscg5y7gfa9skhb8p72ayanl8vl49pw24v4fh";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."lazy_static"."1.0.0" or {});
-  };
-  features_.lazy_static."1.0.0" = deps: f: updateFeatures f (rec {
-    lazy_static = fold recursiveUpdate {} [
-      { "1.0.0"."compiletest_rs" =
-        (f.lazy_static."1.0.0"."compiletest_rs" or false) ||
-        (f.lazy_static."1.0.0".compiletest or false) ||
-        (lazy_static."1.0.0"."compiletest" or false); }
-      { "1.0.0"."nightly" =
-        (f.lazy_static."1.0.0"."nightly" or false) ||
-        (f.lazy_static."1.0.0".spin_no_std or false) ||
-        (lazy_static."1.0.0"."spin_no_std" or false); }
-      { "1.0.0"."spin" =
-        (f.lazy_static."1.0.0"."spin" or false) ||
-        (f.lazy_static."1.0.0".spin_no_std or false) ||
-        (lazy_static."1.0.0"."spin_no_std" or false); }
-      { "1.0.0".default = (f.lazy_static."1.0.0".default or true); }
-    ];
-  }) [];
-
-
-# end
-# libc-0.2.40
-
-  crates.libc."0.2.40" = deps: { features?(features_.libc."0.2.40" deps {}) }: buildRustCrate {
-    crateName = "libc";
-    version = "0.2.40";
-    description = "A library for types and bindings to native C functions often found in libc or\nother common platform libraries.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1xfc39237ldzgr8x8wcflgdr8zssi3wif7g2zxc02d94gzkjsw83";
-    features = mkFeatures (features."libc"."0.2.40" or {});
-  };
-  features_.libc."0.2.40" = deps: f: updateFeatures f (rec {
-    libc = fold recursiveUpdate {} [
-      { "0.2.40"."use_std" =
-        (f.libc."0.2.40"."use_std" or false) ||
-        (f.libc."0.2.40".default or false) ||
-        (libc."0.2.40"."default" or false); }
-      { "0.2.40".default = (f.libc."0.2.40".default or true); }
-    ];
-  }) [];
-
-
-# end
-# memchr-2.0.1
-
-  crates.memchr."2.0.1" = deps: { features?(features_.memchr."2.0.1" deps {}) }: buildRustCrate {
-    crateName = "memchr";
-    version = "2.0.1";
-    description = "Safe interface to memchr.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" "bluss" ];
-    sha256 = "0ls2y47rjwapjdax6bp974gdp06ggm1v8d1h69wyydmh1nhgm5gr";
-    dependencies = mapFeatures features ([
-    ]
-      ++ (if features.memchr."2.0.1".libc or false then [ (crates.libc."${deps."memchr"."2.0.1".libc}" deps) ] else []));
-    features = mkFeatures (features."memchr"."2.0.1" or {});
-  };
-  features_.memchr."2.0.1" = deps: f: updateFeatures f (rec {
-    libc = fold recursiveUpdate {} [
-      { "${deps.memchr."2.0.1".libc}"."use_std" =
-        (f.libc."${deps.memchr."2.0.1".libc}"."use_std" or false) ||
-        (memchr."2.0.1"."use_std" or false) ||
-        (f."memchr"."2.0.1"."use_std" or false); }
-      { "${deps.memchr."2.0.1".libc}".default = (f.libc."${deps.memchr."2.0.1".libc}".default or false); }
-    ];
-    memchr = fold recursiveUpdate {} [
-      { "2.0.1"."libc" =
-        (f.memchr."2.0.1"."libc" or false) ||
-        (f.memchr."2.0.1".default or false) ||
-        (memchr."2.0.1"."default" or false) ||
-        (f.memchr."2.0.1".use_std or false) ||
-        (memchr."2.0.1"."use_std" or false); }
-      { "2.0.1"."use_std" =
-        (f.memchr."2.0.1"."use_std" or false) ||
-        (f.memchr."2.0.1".default or false) ||
-        (memchr."2.0.1"."default" or false); }
-      { "2.0.1".default = (f.memchr."2.0.1".default or true); }
-    ];
-  }) [
-    (features_.libc."${deps."memchr"."2.0.1"."libc"}" deps)
-  ];
-
-
-# end
-# nix-0.10.0
-
-  crates.nix."0.10.0" = deps: { features?(features_.nix."0.10.0" deps {}) }: buildRustCrate {
-    crateName = "nix";
-    version = "0.10.0";
-    description = "Rust friendly bindings to *nix APIs";
-    authors = [ "The nix-rust Project Developers" ];
-    sha256 = "0ghrbjlc1l21pmldwaz5b5m72xs0m05y1zq5ljlnymn61vbzxsny";
-    dependencies = mapFeatures features ([
-      (crates."bitflags"."${deps."nix"."0.10.0"."bitflags"}" deps)
-      (crates."bytes"."${deps."nix"."0.10.0"."bytes"}" deps)
-      (crates."cfg_if"."${deps."nix"."0.10.0"."cfg_if"}" deps)
-      (crates."libc"."${deps."nix"."0.10.0"."libc"}" deps)
-      (crates."void"."${deps."nix"."0.10.0"."void"}" deps)
-    ])
-      ++ (if kernel == "dragonfly" then mapFeatures features ([
-]) else []);
-  };
-  features_.nix."0.10.0" = deps: f: updateFeatures f (rec {
-    bitflags."${deps.nix."0.10.0".bitflags}".default = true;
-    bytes."${deps.nix."0.10.0".bytes}".default = (f.bytes."${deps.nix."0.10.0".bytes}".default or false);
-    cfg_if."${deps.nix."0.10.0".cfg_if}".default = true;
-    libc."${deps.nix."0.10.0".libc}".default = true;
-    nix."0.10.0".default = (f.nix."0.10.0".default or true);
-    void."${deps.nix."0.10.0".void}".default = true;
-  }) [
-    (features_.bitflags."${deps."nix"."0.10.0"."bitflags"}" deps)
-    (features_.bytes."${deps."nix"."0.10.0"."bytes"}" deps)
-    (features_.cfg_if."${deps."nix"."0.10.0"."cfg_if"}" deps)
-    (features_.libc."${deps."nix"."0.10.0"."libc"}" deps)
-    (features_.void."${deps."nix"."0.10.0"."void"}" deps)
-  ];
-
-
-# end
-# owning_ref-0.3.3
-
-  crates.owning_ref."0.3.3" = deps: { features?(features_.owning_ref."0.3.3" deps {}) }: buildRustCrate {
-    crateName = "owning_ref";
-    version = "0.3.3";
-    description = "A library for creating references that carry their owner with them.";
-    authors = [ "Marvin Löbel <loebel.marvin@gmail.com>" ];
-    sha256 = "13ivn0ydc0hf957ix0f5si9nnplzzykbr70hni1qz9m19i9kvmrh";
-    dependencies = mapFeatures features ([
-      (crates."stable_deref_trait"."${deps."owning_ref"."0.3.3"."stable_deref_trait"}" deps)
-    ]);
-  };
-  features_.owning_ref."0.3.3" = deps: f: updateFeatures f (rec {
-    owning_ref."0.3.3".default = (f.owning_ref."0.3.3".default or true);
-    stable_deref_trait."${deps.owning_ref."0.3.3".stable_deref_trait}".default = true;
-  }) [
-    (features_.stable_deref_trait."${deps."owning_ref"."0.3.3"."stable_deref_trait"}" deps)
-  ];
-
-
-# end
-# parking_lot-0.5.5
-
-  crates.parking_lot."0.5.5" = deps: { features?(features_.parking_lot."0.5.5" deps {}) }: buildRustCrate {
-    crateName = "parking_lot";
-    version = "0.5.5";
-    description = "More compact and efficient implementations of the standard synchronization primitives.";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "0balxl593apy0l70z6dzk6c0r9707hgw2c9yav5asjc87dj6fx7l";
-    dependencies = mapFeatures features ([
-      (crates."parking_lot_core"."${deps."parking_lot"."0.5.5"."parking_lot_core"}" deps)
-    ]
-      ++ (if features.parking_lot."0.5.5".owning_ref or false then [ (crates.owning_ref."${deps."parking_lot"."0.5.5".owning_ref}" deps) ] else []));
-    features = mkFeatures (features."parking_lot"."0.5.5" or {});
-  };
-  features_.parking_lot."0.5.5" = deps: f: updateFeatures f (rec {
-    owning_ref."${deps.parking_lot."0.5.5".owning_ref}".default = true;
-    parking_lot = fold recursiveUpdate {} [
-      { "0.5.5"."owning_ref" =
-        (f.parking_lot."0.5.5"."owning_ref" or false) ||
-        (f.parking_lot."0.5.5".default or false) ||
-        (parking_lot."0.5.5"."default" or false); }
-      { "0.5.5".default = (f.parking_lot."0.5.5".default or true); }
-    ];
-    parking_lot_core = fold recursiveUpdate {} [
-      { "${deps.parking_lot."0.5.5".parking_lot_core}"."deadlock_detection" =
-        (f.parking_lot_core."${deps.parking_lot."0.5.5".parking_lot_core}"."deadlock_detection" or false) ||
-        (parking_lot."0.5.5"."deadlock_detection" or false) ||
-        (f."parking_lot"."0.5.5"."deadlock_detection" or false); }
-      { "${deps.parking_lot."0.5.5".parking_lot_core}"."nightly" =
-        (f.parking_lot_core."${deps.parking_lot."0.5.5".parking_lot_core}"."nightly" or false) ||
-        (parking_lot."0.5.5"."nightly" or false) ||
-        (f."parking_lot"."0.5.5"."nightly" or false); }
-      { "${deps.parking_lot."0.5.5".parking_lot_core}".default = true; }
-    ];
-  }) [
-    (features_.owning_ref."${deps."parking_lot"."0.5.5"."owning_ref"}" deps)
-    (features_.parking_lot_core."${deps."parking_lot"."0.5.5"."parking_lot_core"}" deps)
-  ];
-
-
-# end
-# parking_lot_core-0.2.14
-
-  crates.parking_lot_core."0.2.14" = deps: { features?(features_.parking_lot_core."0.2.14" deps {}) }: buildRustCrate {
-    crateName = "parking_lot_core";
-    version = "0.2.14";
-    description = "An advanced API for creating custom synchronization primitives.";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "0giypb8ckkpi34p14nfk4b19c7przj4jxs95gs7x2v5ncmi0y286";
-    dependencies = mapFeatures features ([
-      (crates."rand"."${deps."parking_lot_core"."0.2.14"."rand"}" deps)
-      (crates."smallvec"."${deps."parking_lot_core"."0.2.14"."smallvec"}" deps)
-    ])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."libc"."${deps."parking_lot_core"."0.2.14"."libc"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."parking_lot_core"."0.2.14"."winapi"}" deps)
-    ]) else []);
-    features = mkFeatures (features."parking_lot_core"."0.2.14" or {});
-  };
-  features_.parking_lot_core."0.2.14" = deps: f: updateFeatures f (rec {
-    libc."${deps.parking_lot_core."0.2.14".libc}".default = true;
-    parking_lot_core = fold recursiveUpdate {} [
-      { "0.2.14"."backtrace" =
-        (f.parking_lot_core."0.2.14"."backtrace" or false) ||
-        (f.parking_lot_core."0.2.14".deadlock_detection or false) ||
-        (parking_lot_core."0.2.14"."deadlock_detection" or false); }
-      { "0.2.14"."petgraph" =
-        (f.parking_lot_core."0.2.14"."petgraph" or false) ||
-        (f.parking_lot_core."0.2.14".deadlock_detection or false) ||
-        (parking_lot_core."0.2.14"."deadlock_detection" or false); }
-      { "0.2.14"."thread-id" =
-        (f.parking_lot_core."0.2.14"."thread-id" or false) ||
-        (f.parking_lot_core."0.2.14".deadlock_detection or false) ||
-        (parking_lot_core."0.2.14"."deadlock_detection" or false); }
-      { "0.2.14".default = (f.parking_lot_core."0.2.14".default or true); }
-    ];
-    rand."${deps.parking_lot_core."0.2.14".rand}".default = true;
-    smallvec."${deps.parking_lot_core."0.2.14".smallvec}".default = true;
-    winapi = fold recursiveUpdate {} [
-      { "${deps.parking_lot_core."0.2.14".winapi}"."errhandlingapi" = true; }
-      { "${deps.parking_lot_core."0.2.14".winapi}"."handleapi" = true; }
-      { "${deps.parking_lot_core."0.2.14".winapi}"."minwindef" = true; }
-      { "${deps.parking_lot_core."0.2.14".winapi}"."ntstatus" = true; }
-      { "${deps.parking_lot_core."0.2.14".winapi}"."winbase" = true; }
-      { "${deps.parking_lot_core."0.2.14".winapi}"."winerror" = true; }
-      { "${deps.parking_lot_core."0.2.14".winapi}"."winnt" = true; }
-      { "${deps.parking_lot_core."0.2.14".winapi}".default = true; }
-    ];
-  }) [
-    (features_.rand."${deps."parking_lot_core"."0.2.14"."rand"}" deps)
-    (features_.smallvec."${deps."parking_lot_core"."0.2.14"."smallvec"}" deps)
-    (features_.libc."${deps."parking_lot_core"."0.2.14"."libc"}" deps)
-    (features_.winapi."${deps."parking_lot_core"."0.2.14"."winapi"}" deps)
-  ];
-
-
-# end
-# quote-0.3.15
-
-  crates.quote."0.3.15" = deps: { features?(features_.quote."0.3.15" deps {}) }: buildRustCrate {
-    crateName = "quote";
-    version = "0.3.15";
-    description = "Quasi-quoting macro quote!(...)";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "09il61jv4kd1360spaj46qwyl21fv1qz18fsv2jra8wdnlgl5jsg";
-  };
-  features_.quote."0.3.15" = deps: f: updateFeatures f (rec {
-    quote."0.3.15".default = (f.quote."0.3.15".default or true);
-  }) [];
-
-
-# end
-# rand-0.4.2
-
-  crates.rand."0.4.2" = deps: { features?(features_.rand."0.4.2" deps {}) }: buildRustCrate {
-    crateName = "rand";
-    version = "0.4.2";
-    description = "Random number generators and other randomness functionality.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0h8pkg23wb67i8904sm76iyr1jlmhklb85vbpz9c9191a24xzkfm";
-    dependencies = (if kernel == "fuchsia" then mapFeatures features ([
-      (crates."fuchsia_zircon"."${deps."rand"."0.4.2"."fuchsia_zircon"}" deps)
-    ]) else [])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-    ]
-      ++ (if features.rand."0.4.2".libc or false then [ (crates.libc."${deps."rand"."0.4.2".libc}" deps) ] else [])) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."rand"."0.4.2"."winapi"}" deps)
-    ]) else []);
-    features = mkFeatures (features."rand"."0.4.2" or {});
-  };
-  features_.rand."0.4.2" = deps: f: updateFeatures f (rec {
-    fuchsia_zircon."${deps.rand."0.4.2".fuchsia_zircon}".default = true;
-    libc."${deps.rand."0.4.2".libc}".default = true;
-    rand = fold recursiveUpdate {} [
-      { "0.4.2"."i128_support" =
-        (f.rand."0.4.2"."i128_support" or false) ||
-        (f.rand."0.4.2".nightly or false) ||
-        (rand."0.4.2"."nightly" or false); }
-      { "0.4.2"."libc" =
-        (f.rand."0.4.2"."libc" or false) ||
-        (f.rand."0.4.2".std or false) ||
-        (rand."0.4.2"."std" or false); }
-      { "0.4.2"."std" =
-        (f.rand."0.4.2"."std" or false) ||
-        (f.rand."0.4.2".default or false) ||
-        (rand."0.4.2"."default" or false); }
-      { "0.4.2".default = (f.rand."0.4.2".default or true); }
-    ];
-    winapi = fold recursiveUpdate {} [
-      { "${deps.rand."0.4.2".winapi}"."minwindef" = true; }
-      { "${deps.rand."0.4.2".winapi}"."ntsecapi" = true; }
-      { "${deps.rand."0.4.2".winapi}"."profileapi" = true; }
-      { "${deps.rand."0.4.2".winapi}"."winnt" = true; }
-      { "${deps.rand."0.4.2".winapi}".default = true; }
-    ];
-  }) [
-    (features_.fuchsia_zircon."${deps."rand"."0.4.2"."fuchsia_zircon"}" deps)
-    (features_.libc."${deps."rand"."0.4.2"."libc"}" deps)
-    (features_.winapi."${deps."rand"."0.4.2"."winapi"}" deps)
-  ];
-
-
-# end
-# redox_syscall-0.1.37
-
-  crates.redox_syscall."0.1.37" = deps: { features?(features_.redox_syscall."0.1.37" deps {}) }: buildRustCrate {
-    crateName = "redox_syscall";
-    version = "0.1.37";
-    description = "A Rust library to access raw Redox system calls";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "0qa0jl9cr3qp80an8vshp2mcn8rzvwiavs1398hq1vsjw7pc3h2v";
-    libName = "syscall";
-  };
-  features_.redox_syscall."0.1.37" = deps: f: updateFeatures f (rec {
-    redox_syscall."0.1.37".default = (f.redox_syscall."0.1.37".default or true);
-  }) [];
-
-
-# end
-# redox_termios-0.1.1
-
-  crates.redox_termios."0.1.1" = deps: { features?(features_.redox_termios."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "redox_termios";
-    version = "0.1.1";
-    description = "A Rust library to access Redox termios functions";
-    authors = [ "Jeremy Soller <jackpot51@gmail.com>" ];
-    sha256 = "04s6yyzjca552hdaqlvqhp3vw0zqbc304md5czyd3axh56iry8wh";
-    libPath = "src/lib.rs";
-    dependencies = mapFeatures features ([
-      (crates."redox_syscall"."${deps."redox_termios"."0.1.1"."redox_syscall"}" deps)
-    ]);
-  };
-  features_.redox_termios."0.1.1" = deps: f: updateFeatures f (rec {
-    redox_syscall."${deps.redox_termios."0.1.1".redox_syscall}".default = true;
-    redox_termios."0.1.1".default = (f.redox_termios."0.1.1".default or true);
-  }) [
-    (features_.redox_syscall."${deps."redox_termios"."0.1.1"."redox_syscall"}" deps)
-  ];
-
-
-# end
-# regex-0.2.11
-
-  crates.regex."0.2.11" = deps: { features?(features_.regex."0.2.11" deps {}) }: buildRustCrate {
-    crateName = "regex";
-    version = "0.2.11";
-    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "0r50cymxdqp0fv1dxd22mjr6y32q450nwacd279p9s7lh0cafijj";
-    dependencies = mapFeatures features ([
-      (crates."aho_corasick"."${deps."regex"."0.2.11"."aho_corasick"}" deps)
-      (crates."memchr"."${deps."regex"."0.2.11"."memchr"}" deps)
-      (crates."regex_syntax"."${deps."regex"."0.2.11"."regex_syntax"}" deps)
-      (crates."thread_local"."${deps."regex"."0.2.11"."thread_local"}" deps)
-      (crates."utf8_ranges"."${deps."regex"."0.2.11"."utf8_ranges"}" deps)
-    ]);
-    features = mkFeatures (features."regex"."0.2.11" or {});
-  };
-  features_.regex."0.2.11" = deps: f: updateFeatures f (rec {
-    aho_corasick."${deps.regex."0.2.11".aho_corasick}".default = true;
-    memchr."${deps.regex."0.2.11".memchr}".default = true;
-    regex = fold recursiveUpdate {} [
-      { "0.2.11"."pattern" =
-        (f.regex."0.2.11"."pattern" or false) ||
-        (f.regex."0.2.11".unstable or false) ||
-        (regex."0.2.11"."unstable" or false); }
-      { "0.2.11".default = (f.regex."0.2.11".default or true); }
-    ];
-    regex_syntax."${deps.regex."0.2.11".regex_syntax}".default = true;
-    thread_local."${deps.regex."0.2.11".thread_local}".default = true;
-    utf8_ranges."${deps.regex."0.2.11".utf8_ranges}".default = true;
-  }) [
-    (features_.aho_corasick."${deps."regex"."0.2.11"."aho_corasick"}" deps)
-    (features_.memchr."${deps."regex"."0.2.11"."memchr"}" deps)
-    (features_.regex_syntax."${deps."regex"."0.2.11"."regex_syntax"}" deps)
-    (features_.thread_local."${deps."regex"."0.2.11"."thread_local"}" deps)
-    (features_.utf8_ranges."${deps."regex"."0.2.11"."utf8_ranges"}" deps)
-  ];
-
-
-# end
-# regex-1.0.0
-
-  crates.regex."1.0.0" = deps: { features?(features_.regex."1.0.0" deps {}) }: buildRustCrate {
-    crateName = "regex";
-    version = "1.0.0";
-    description = "An implementation of regular expressions for Rust. This implementation uses\nfinite automata and guarantees linear time matching on all inputs.\n";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1wynl7jmf6l2fnsayw1bzfh7km4wwqnqfpi8anj7wbhdk17i6j6b";
-    dependencies = mapFeatures features ([
-      (crates."aho_corasick"."${deps."regex"."1.0.0"."aho_corasick"}" deps)
-      (crates."memchr"."${deps."regex"."1.0.0"."memchr"}" deps)
-      (crates."regex_syntax"."${deps."regex"."1.0.0"."regex_syntax"}" deps)
-      (crates."thread_local"."${deps."regex"."1.0.0"."thread_local"}" deps)
-      (crates."utf8_ranges"."${deps."regex"."1.0.0"."utf8_ranges"}" deps)
-    ]);
-    features = mkFeatures (features."regex"."1.0.0" or {});
-  };
-  features_.regex."1.0.0" = deps: f: updateFeatures f (rec {
-    aho_corasick."${deps.regex."1.0.0".aho_corasick}".default = true;
-    memchr."${deps.regex."1.0.0".memchr}".default = true;
-    regex = fold recursiveUpdate {} [
-      { "1.0.0"."pattern" =
-        (f.regex."1.0.0"."pattern" or false) ||
-        (f.regex."1.0.0".unstable or false) ||
-        (regex."1.0.0"."unstable" or false); }
-      { "1.0.0"."use_std" =
-        (f.regex."1.0.0"."use_std" or false) ||
-        (f.regex."1.0.0".default or false) ||
-        (regex."1.0.0"."default" or false); }
-      { "1.0.0".default = (f.regex."1.0.0".default or true); }
-    ];
-    regex_syntax."${deps.regex."1.0.0".regex_syntax}".default = true;
-    thread_local."${deps.regex."1.0.0".thread_local}".default = true;
-    utf8_ranges."${deps.regex."1.0.0".utf8_ranges}".default = true;
-  }) [
-    (features_.aho_corasick."${deps."regex"."1.0.0"."aho_corasick"}" deps)
-    (features_.memchr."${deps."regex"."1.0.0"."memchr"}" deps)
-    (features_.regex_syntax."${deps."regex"."1.0.0"."regex_syntax"}" deps)
-    (features_.thread_local."${deps."regex"."1.0.0"."thread_local"}" deps)
-    (features_.utf8_ranges."${deps."regex"."1.0.0"."utf8_ranges"}" deps)
-  ];
-
-
-# end
-# regex-syntax-0.5.6
-
-  crates.regex_syntax."0.5.6" = deps: { features?(features_.regex_syntax."0.5.6" deps {}) }: buildRustCrate {
-    crateName = "regex-syntax";
-    version = "0.5.6";
-    description = "A regular expression parser.";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "10vf3r34bgjnbrnqd5aszn35bjvm8insw498l1vjy8zx5yms3427";
-    dependencies = mapFeatures features ([
-      (crates."ucd_util"."${deps."regex_syntax"."0.5.6"."ucd_util"}" deps)
-    ]);
-  };
-  features_.regex_syntax."0.5.6" = deps: f: updateFeatures f (rec {
-    regex_syntax."0.5.6".default = (f.regex_syntax."0.5.6".default or true);
-    ucd_util."${deps.regex_syntax."0.5.6".ucd_util}".default = true;
-  }) [
-    (features_.ucd_util."${deps."regex_syntax"."0.5.6"."ucd_util"}" deps)
-  ];
-
-
-# end
-# regex-syntax-0.6.0
-
-  crates.regex_syntax."0.6.0" = deps: { features?(features_.regex_syntax."0.6.0" deps {}) }: buildRustCrate {
-    crateName = "regex-syntax";
-    version = "0.6.0";
-    description = "A regular expression parser.";
-    authors = [ "The Rust Project Developers" ];
-    sha256 = "1zlaq3y1zbiqilxbh0471bizcs4p14b58nqr815w3ssyam169cy6";
-    dependencies = mapFeatures features ([
-      (crates."ucd_util"."${deps."regex_syntax"."0.6.0"."ucd_util"}" deps)
-    ]);
-  };
-  features_.regex_syntax."0.6.0" = deps: f: updateFeatures f (rec {
-    regex_syntax."0.6.0".default = (f.regex_syntax."0.6.0".default or true);
-    ucd_util."${deps.regex_syntax."0.6.0".ucd_util}".default = true;
-  }) [
-    (features_.ucd_util."${deps."regex_syntax"."0.6.0"."ucd_util"}" deps)
-  ];
-
-
-# end
-# rustc-demangle-0.1.8
-
-  crates.rustc_demangle."0.1.8" = deps: { features?(features_.rustc_demangle."0.1.8" deps {}) }: buildRustCrate {
-    crateName = "rustc-demangle";
-    version = "0.1.8";
-    description = "Rust compiler symbol demangling.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0xn5l86qfwngmdsjbglj30wh37zplvch96jl9raysl3k06gkkv3c";
-  };
-  features_.rustc_demangle."0.1.8" = deps: f: updateFeatures f (rec {
-    rustc_demangle."0.1.8".default = (f.rustc_demangle."0.1.8".default or true);
-  }) [];
-
-
-# end
-# smallvec-0.6.1
-
-  crates.smallvec."0.6.1" = deps: { features?(features_.smallvec."0.6.1" deps {}) }: buildRustCrate {
-    crateName = "smallvec";
-    version = "0.6.1";
-    description = "'Small vector' optimization: store up to a small number of items on the stack";
-    authors = [ "Simon Sapin <simon.sapin@exyr.org>" ];
-    sha256 = "16m07xh67xcdpwjkbzbv9d7visxmz4fb4a8jfcrsrf333w7vkl1g";
-    libPath = "lib.rs";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."smallvec"."0.6.1" or {});
-  };
-  features_.smallvec."0.6.1" = deps: f: updateFeatures f (rec {
-    smallvec = fold recursiveUpdate {} [
-      { "0.6.1"."std" =
-        (f.smallvec."0.6.1"."std" or false) ||
-        (f.smallvec."0.6.1".default or false) ||
-        (smallvec."0.6.1"."default" or false); }
-      { "0.6.1".default = (f.smallvec."0.6.1".default or true); }
-    ];
-  }) [];
-
-
-# end
-# socket2-0.3.5
-
-  crates.socket2."0.3.5" = deps: { features?(features_.socket2."0.3.5" deps {}) }: buildRustCrate {
-    crateName = "socket2";
-    version = "0.3.5";
-    description = "Utilities for handling networking sockets with a maximal amount of configuration\npossible intended.\n";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" ];
-    sha256 = "0bi6z6qvra16rwm3lk7xz4aakvcmmak6fpdmra1v7ccp40bss0kf";
-    dependencies = (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."cfg_if"."${deps."socket2"."0.3.5"."cfg_if"}" deps)
-      (crates."libc"."${deps."socket2"."0.3.5"."libc"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."winapi"."${deps."socket2"."0.3.5"."winapi"}" deps)
-    ]) else []);
-    features = mkFeatures (features."socket2"."0.3.5" or {});
-  };
-  features_.socket2."0.3.5" = deps: f: updateFeatures f (rec {
-    cfg_if."${deps.socket2."0.3.5".cfg_if}".default = true;
-    libc."${deps.socket2."0.3.5".libc}".default = true;
-    socket2."0.3.5".default = (f.socket2."0.3.5".default or true);
-    winapi = fold recursiveUpdate {} [
-      { "${deps.socket2."0.3.5".winapi}"."handleapi" = true; }
-      { "${deps.socket2."0.3.5".winapi}"."minwindef" = true; }
-      { "${deps.socket2."0.3.5".winapi}"."ws2def" = true; }
-      { "${deps.socket2."0.3.5".winapi}"."ws2ipdef" = true; }
-      { "${deps.socket2."0.3.5".winapi}"."ws2tcpip" = true; }
-      { "${deps.socket2."0.3.5".winapi}".default = true; }
-    ];
-  }) [
-    (features_.cfg_if."${deps."socket2"."0.3.5"."cfg_if"}" deps)
-    (features_.libc."${deps."socket2"."0.3.5"."libc"}" deps)
-    (features_.winapi."${deps."socket2"."0.3.5"."winapi"}" deps)
-  ];
-
-
-# end
-# stable_deref_trait-1.0.0
-
-  crates.stable_deref_trait."1.0.0" = deps: { features?(features_.stable_deref_trait."1.0.0" deps {}) }: buildRustCrate {
-    crateName = "stable_deref_trait";
-    version = "1.0.0";
-    description = "An unsafe marker trait for types like Box and Rc that dereference to a stable address even when moved, and hence can be used with libraries such as owning_ref and rental.\n";
-    authors = [ "Robert Grosse <n210241048576@gmail.com>" ];
-    sha256 = "0ya5fms9qdwkd52d3a111w4vcz18j4rbfx4p88z44116cqd6cczr";
-    features = mkFeatures (features."stable_deref_trait"."1.0.0" or {});
-  };
-  features_.stable_deref_trait."1.0.0" = deps: f: updateFeatures f (rec {
-    stable_deref_trait = fold recursiveUpdate {} [
-      { "1.0.0"."std" =
-        (f.stable_deref_trait."1.0.0"."std" or false) ||
-        (f.stable_deref_trait."1.0.0".default or false) ||
-        (stable_deref_trait."1.0.0"."default" or false); }
-      { "1.0.0".default = (f.stable_deref_trait."1.0.0".default or true); }
-    ];
-  }) [];
-
-
-# end
-# strsim-0.7.0
-
-  crates.strsim."0.7.0" = deps: { features?(features_.strsim."0.7.0" deps {}) }: buildRustCrate {
-    crateName = "strsim";
-    version = "0.7.0";
-    description = "Implementations of string similarity metrics.\nIncludes Hamming, Levenshtein, OSA, Damerau-Levenshtein, Jaro, and Jaro-Winkler.\n";
-    authors = [ "Danny Guo <dannyguo91@gmail.com>" ];
-    sha256 = "0fy0k5f2705z73mb3x9459bpcvrx4ky8jpr4zikcbiwan4bnm0iv";
-  };
-  features_.strsim."0.7.0" = deps: f: updateFeatures f (rec {
-    strsim."0.7.0".default = (f.strsim."0.7.0".default or true);
-  }) [];
-
-
-# end
-# syn-0.11.11
-
-  crates.syn."0.11.11" = deps: { features?(features_.syn."0.11.11" deps {}) }: buildRustCrate {
-    crateName = "syn";
-    version = "0.11.11";
-    description = "Nom parser for Rust source code";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "0yw8ng7x1dn5a6ykg0ib49y7r9nhzgpiq2989rqdp7rdz3n85502";
-    dependencies = mapFeatures features ([
-    ]
-      ++ (if features.syn."0.11.11".quote or false then [ (crates.quote."${deps."syn"."0.11.11".quote}" deps) ] else [])
-      ++ (if features.syn."0.11.11".synom or false then [ (crates.synom."${deps."syn"."0.11.11".synom}" deps) ] else [])
-      ++ (if features.syn."0.11.11".unicode-xid or false then [ (crates.unicode_xid."${deps."syn"."0.11.11".unicode_xid}" deps) ] else []));
-    features = mkFeatures (features."syn"."0.11.11" or {});
-  };
-  features_.syn."0.11.11" = deps: f: updateFeatures f (rec {
-    quote."${deps.syn."0.11.11".quote}".default = true;
-    syn = fold recursiveUpdate {} [
-      { "0.11.11"."parsing" =
-        (f.syn."0.11.11"."parsing" or false) ||
-        (f.syn."0.11.11".default or false) ||
-        (syn."0.11.11"."default" or false); }
-      { "0.11.11"."printing" =
-        (f.syn."0.11.11"."printing" or false) ||
-        (f.syn."0.11.11".default or false) ||
-        (syn."0.11.11"."default" or false); }
-      { "0.11.11"."quote" =
-        (f.syn."0.11.11"."quote" or false) ||
-        (f.syn."0.11.11".printing or false) ||
-        (syn."0.11.11"."printing" or false); }
-      { "0.11.11"."synom" =
-        (f.syn."0.11.11"."synom" or false) ||
-        (f.syn."0.11.11".parsing or false) ||
-        (syn."0.11.11"."parsing" or false); }
-      { "0.11.11"."unicode-xid" =
-        (f.syn."0.11.11"."unicode-xid" or false) ||
-        (f.syn."0.11.11".parsing or false) ||
-        (syn."0.11.11"."parsing" or false); }
-      { "0.11.11".default = (f.syn."0.11.11".default or true); }
-    ];
-    synom."${deps.syn."0.11.11".synom}".default = true;
-    unicode_xid."${deps.syn."0.11.11".unicode_xid}".default = true;
-  }) [
-    (features_.quote."${deps."syn"."0.11.11"."quote"}" deps)
-    (features_.synom."${deps."syn"."0.11.11"."synom"}" deps)
-    (features_.unicode_xid."${deps."syn"."0.11.11"."unicode_xid"}" deps)
-  ];
-
-
-# end
-# synom-0.11.3
-
-  crates.synom."0.11.3" = deps: { features?(features_.synom."0.11.3" deps {}) }: buildRustCrate {
-    crateName = "synom";
-    version = "0.11.3";
-    description = "Stripped-down Nom parser used by Syn";
-    authors = [ "David Tolnay <dtolnay@gmail.com>" ];
-    sha256 = "1l6d1s9qjfp6ng2s2z8219igvlv7gyk8gby97sdykqc1r93d8rhc";
-    dependencies = mapFeatures features ([
-      (crates."unicode_xid"."${deps."synom"."0.11.3"."unicode_xid"}" deps)
-    ]);
-  };
-  features_.synom."0.11.3" = deps: f: updateFeatures f (rec {
-    synom."0.11.3".default = (f.synom."0.11.3".default or true);
-    unicode_xid."${deps.synom."0.11.3".unicode_xid}".default = true;
-  }) [
-    (features_.unicode_xid."${deps."synom"."0.11.3"."unicode_xid"}" deps)
-  ];
-
-
-# end
-# synstructure-0.6.1
-
-  crates.synstructure."0.6.1" = deps: { features?(features_.synstructure."0.6.1" deps {}) }: buildRustCrate {
-    crateName = "synstructure";
-    version = "0.6.1";
-    description = "expand_substructure-like helpers for syn macros 1.1 derive macros";
-    authors = [ "Michael Layzell <michael@thelayzells.com>" ];
-    sha256 = "1xnyw58va9zcqi4vvpnmpllacdj2a0mvy0cbd698izmr4qs92xlk";
-    dependencies = mapFeatures features ([
-      (crates."quote"."${deps."synstructure"."0.6.1"."quote"}" deps)
-      (crates."syn"."${deps."synstructure"."0.6.1"."syn"}" deps)
-    ]);
-    features = mkFeatures (features."synstructure"."0.6.1" or {});
-  };
-  features_.synstructure."0.6.1" = deps: f: updateFeatures f (rec {
-    quote."${deps.synstructure."0.6.1".quote}".default = true;
-    syn = fold recursiveUpdate {} [
-      { "${deps.synstructure."0.6.1".syn}"."visit" = true; }
-      { "${deps.synstructure."0.6.1".syn}".default = true; }
-    ];
-    synstructure."0.6.1".default = (f.synstructure."0.6.1".default or true);
-  }) [
-    (features_.quote."${deps."synstructure"."0.6.1"."quote"}" deps)
-    (features_.syn."${deps."synstructure"."0.6.1"."syn"}" deps)
-  ];
-
-
-# end
-# systemfd-0.3.0
-
-  crates.systemfd."0.3.0" = deps: { features?(features_.systemfd."0.3.0" deps {}) }: buildRustCrate {
-    crateName = "systemfd";
-    version = "0.3.0";
-    description = "A convenient helper for passing sockets into another process.  Best to be combined with listenfd and cargo-watch.";
-    authors = [ "Armin Ronacher <armin.ronacher@active-4.com>" ];
-    sha256 = "0dpckgb0afyzhbv8lccgzmw5yczpfcdsdlqsfncn1vcxvcf0yb5i";
-    dependencies = mapFeatures features ([
-      (crates."clap"."${deps."systemfd"."0.3.0"."clap"}" deps)
-      (crates."console"."${deps."systemfd"."0.3.0"."console"}" deps)
-      (crates."failure"."${deps."systemfd"."0.3.0"."failure"}" deps)
-      (crates."failure_derive"."${deps."systemfd"."0.3.0"."failure_derive"}" deps)
-      (crates."lazy_static"."${deps."systemfd"."0.3.0"."lazy_static"}" deps)
-      (crates."libc"."${deps."systemfd"."0.3.0"."libc"}" deps)
-      (crates."regex"."${deps."systemfd"."0.3.0"."regex"}" deps)
-    ])
-      ++ (if (kernel == "linux" || kernel == "darwin") then mapFeatures features ([
-      (crates."nix"."${deps."systemfd"."0.3.0"."nix"}" deps)
-    ]) else [])
-      ++ (if kernel == "windows" then mapFeatures features ([
-      (crates."socket2"."${deps."systemfd"."0.3.0"."socket2"}" deps)
-      (crates."uuid"."${deps."systemfd"."0.3.0"."uuid"}" deps)
-      (crates."winapi"."${deps."systemfd"."0.3.0"."winapi"}" deps)
-    ]) else []);
-  };
-  features_.systemfd."0.3.0" = deps: f: updateFeatures f (rec {
-    clap."${deps.systemfd."0.3.0".clap}".default = true;
-    console."${deps.systemfd."0.3.0".console}".default = true;
-    failure."${deps.systemfd."0.3.0".failure}".default = true;
-    failure_derive."${deps.systemfd."0.3.0".failure_derive}".default = true;
-    lazy_static."${deps.systemfd."0.3.0".lazy_static}".default = true;
-    libc."${deps.systemfd."0.3.0".libc}".default = true;
-    nix."${deps.systemfd."0.3.0".nix}".default = true;
-    regex."${deps.systemfd."0.3.0".regex}".default = true;
-    socket2."${deps.systemfd."0.3.0".socket2}".default = true;
-    systemfd."0.3.0".default = (f.systemfd."0.3.0".default or true);
-    uuid = fold recursiveUpdate {} [
-      { "${deps.systemfd."0.3.0".uuid}"."v4" = true; }
-      { "${deps.systemfd."0.3.0".uuid}".default = true; }
-    ];
-    winapi = fold recursiveUpdate {} [
-      { "${deps.systemfd."0.3.0".winapi}"."winsock2" = true; }
-      { "${deps.systemfd."0.3.0".winapi}".default = true; }
-    ];
-  }) [
-    (features_.clap."${deps."systemfd"."0.3.0"."clap"}" deps)
-    (features_.console."${deps."systemfd"."0.3.0"."console"}" deps)
-    (features_.failure."${deps."systemfd"."0.3.0"."failure"}" deps)
-    (features_.failure_derive."${deps."systemfd"."0.3.0"."failure_derive"}" deps)
-    (features_.lazy_static."${deps."systemfd"."0.3.0"."lazy_static"}" deps)
-    (features_.libc."${deps."systemfd"."0.3.0"."libc"}" deps)
-    (features_.regex."${deps."systemfd"."0.3.0"."regex"}" deps)
-    (features_.nix."${deps."systemfd"."0.3.0"."nix"}" deps)
-    (features_.socket2."${deps."systemfd"."0.3.0"."socket2"}" deps)
-    (features_.uuid."${deps."systemfd"."0.3.0"."uuid"}" deps)
-    (features_.winapi."${deps."systemfd"."0.3.0"."winapi"}" deps)
-  ];
-
-
-# end
-# termion-1.5.1
-
-  crates.termion."1.5.1" = deps: { features?(features_.termion."1.5.1" deps {}) }: buildRustCrate {
-    crateName = "termion";
-    version = "1.5.1";
-    description = "A bindless library for manipulating terminals.";
-    authors = [ "ticki <Ticki@users.noreply.github.com>" "gycos <alexandre.bury@gmail.com>" "IGI-111 <igi-111@protonmail.com>" ];
-    sha256 = "02gq4vd8iws1f3gjrgrgpajsk2bk43nds5acbbb4s8dvrdvr8nf1";
-    dependencies = (if !(kernel == "redox") then mapFeatures features ([
-      (crates."libc"."${deps."termion"."1.5.1"."libc"}" deps)
-    ]) else [])
-      ++ (if kernel == "redox" then mapFeatures features ([
-      (crates."redox_syscall"."${deps."termion"."1.5.1"."redox_syscall"}" deps)
-      (crates."redox_termios"."${deps."termion"."1.5.1"."redox_termios"}" deps)
-    ]) else []);
-  };
-  features_.termion."1.5.1" = deps: f: updateFeatures f (rec {
-    libc."${deps.termion."1.5.1".libc}".default = true;
-    redox_syscall."${deps.termion."1.5.1".redox_syscall}".default = true;
-    redox_termios."${deps.termion."1.5.1".redox_termios}".default = true;
-    termion."1.5.1".default = (f.termion."1.5.1".default or true);
-  }) [
-    (features_.libc."${deps."termion"."1.5.1"."libc"}" deps)
-    (features_.redox_syscall."${deps."termion"."1.5.1"."redox_syscall"}" deps)
-    (features_.redox_termios."${deps."termion"."1.5.1"."redox_termios"}" deps)
-  ];
-
-
-# end
-# termios-0.2.2
-
-  crates.termios."0.2.2" = deps: { features?(features_.termios."0.2.2" deps {}) }: buildRustCrate {
-    crateName = "termios";
-    version = "0.2.2";
-    description = "Safe bindings for the termios library.";
-    authors = [ "David Cuddeback <david.cuddeback@gmail.com>" ];
-    sha256 = "0hjy4idvcapx9i6qbhf5536aqnf6rqk2aaj424sfwy7qhv6xmcx3";
-    dependencies = mapFeatures features ([
-      (crates."libc"."${deps."termios"."0.2.2"."libc"}" deps)
-    ]);
-  };
-  features_.termios."0.2.2" = deps: f: updateFeatures f (rec {
-    libc."${deps.termios."0.2.2".libc}".default = true;
-    termios."0.2.2".default = (f.termios."0.2.2".default or true);
-  }) [
-    (features_.libc."${deps."termios"."0.2.2"."libc"}" deps)
-  ];
-
-
-# end
-# textwrap-0.9.0
-
-  crates.textwrap."0.9.0" = deps: { features?(features_.textwrap."0.9.0" deps {}) }: buildRustCrate {
-    crateName = "textwrap";
-    version = "0.9.0";
-    description = "Textwrap is a small library for word wrapping, indenting, and\ndedenting strings.\n\nYou can use it to format strings (such as help and error messages) for\ndisplay in commandline applications. It is designed to be efficient\nand handle Unicode characters correctly.\n";
-    authors = [ "Martin Geisler <martin@geisler.net>" ];
-    sha256 = "18jg79ndjlwndz01mlbh82kkr2arqm658yn5kwp65l5n1hz8w4yb";
-    dependencies = mapFeatures features ([
-      (crates."unicode_width"."${deps."textwrap"."0.9.0"."unicode_width"}" deps)
-    ]);
-  };
-  features_.textwrap."0.9.0" = deps: f: updateFeatures f (rec {
-    textwrap."0.9.0".default = (f.textwrap."0.9.0".default or true);
-    unicode_width."${deps.textwrap."0.9.0".unicode_width}".default = true;
-  }) [
-    (features_.unicode_width."${deps."textwrap"."0.9.0"."unicode_width"}" deps)
-  ];
-
-
-# end
-# thread_local-0.3.5
-
-  crates.thread_local."0.3.5" = deps: { features?(features_.thread_local."0.3.5" deps {}) }: buildRustCrate {
-    crateName = "thread_local";
-    version = "0.3.5";
-    description = "Per-object thread-local storage";
-    authors = [ "Amanieu d'Antras <amanieu@gmail.com>" ];
-    sha256 = "0mkp0sp91aqsk7brgygai4igv751r1754rsxn37mig3ag5rx8np6";
-    dependencies = mapFeatures features ([
-      (crates."lazy_static"."${deps."thread_local"."0.3.5"."lazy_static"}" deps)
-      (crates."unreachable"."${deps."thread_local"."0.3.5"."unreachable"}" deps)
-    ]);
-  };
-  features_.thread_local."0.3.5" = deps: f: updateFeatures f (rec {
-    lazy_static."${deps.thread_local."0.3.5".lazy_static}".default = true;
-    thread_local."0.3.5".default = (f.thread_local."0.3.5".default or true);
-    unreachable."${deps.thread_local."0.3.5".unreachable}".default = true;
-  }) [
-    (features_.lazy_static."${deps."thread_local"."0.3.5"."lazy_static"}" deps)
-    (features_.unreachable."${deps."thread_local"."0.3.5"."unreachable"}" deps)
-  ];
-
-
-# end
-# ucd-util-0.1.1
-
-  crates.ucd_util."0.1.1" = deps: { features?(features_.ucd_util."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "ucd-util";
-    version = "0.1.1";
-    description = "A small utility library for working with the Unicode character database.\n";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "02a8h3siipx52b832xc8m8rwasj6nx9jpiwfldw8hp6k205hgkn0";
-  };
-  features_.ucd_util."0.1.1" = deps: f: updateFeatures f (rec {
-    ucd_util."0.1.1".default = (f.ucd_util."0.1.1".default or true);
-  }) [];
-
-
-# end
-# unicode-width-0.1.4
-
-  crates.unicode_width."0.1.4" = deps: { features?(features_.unicode_width."0.1.4" deps {}) }: buildRustCrate {
-    crateName = "unicode-width";
-    version = "0.1.4";
-    description = "Determine displayed width of `char` and `str` types\naccording to Unicode Standard Annex #11 rules.\n";
-    authors = [ "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1rp7a04icn9y5c0lm74nrd4py0rdl0af8bhdwq7g478n1xifpifl";
-    features = mkFeatures (features."unicode_width"."0.1.4" or {});
-  };
-  features_.unicode_width."0.1.4" = deps: f: updateFeatures f (rec {
-    unicode_width."0.1.4".default = (f.unicode_width."0.1.4".default or true);
-  }) [];
-
-
-# end
-# unicode-xid-0.0.4
-
-  crates.unicode_xid."0.0.4" = deps: { features?(features_.unicode_xid."0.0.4" deps {}) }: buildRustCrate {
-    crateName = "unicode-xid";
-    version = "0.0.4";
-    description = "Determine whether characters have the XID_Start\nor XID_Continue properties according to\nUnicode Standard Annex #31.\n";
-    authors = [ "erick.tryzelaar <erick.tryzelaar@gmail.com>" "kwantam <kwantam@gmail.com>" ];
-    sha256 = "1dc8wkkcd3s6534s5aw4lbjn8m67flkkbnajp5bl8408wdg8rh9v";
-    features = mkFeatures (features."unicode_xid"."0.0.4" or {});
-  };
-  features_.unicode_xid."0.0.4" = deps: f: updateFeatures f (rec {
-    unicode_xid."0.0.4".default = (f.unicode_xid."0.0.4".default or true);
-  }) [];
-
-
-# end
-# unreachable-1.0.0
-
-  crates.unreachable."1.0.0" = deps: { features?(features_.unreachable."1.0.0" deps {}) }: buildRustCrate {
-    crateName = "unreachable";
-    version = "1.0.0";
-    description = "An unreachable code optimization hint in stable rust.";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "1am8czbk5wwr25gbp2zr007744fxjshhdqjz9liz7wl4pnv3whcf";
-    dependencies = mapFeatures features ([
-      (crates."void"."${deps."unreachable"."1.0.0"."void"}" deps)
-    ]);
-  };
-  features_.unreachable."1.0.0" = deps: f: updateFeatures f (rec {
-    unreachable."1.0.0".default = (f.unreachable."1.0.0".default or true);
-    void."${deps.unreachable."1.0.0".void}".default = (f.void."${deps.unreachable."1.0.0".void}".default or false);
-  }) [
-    (features_.void."${deps."unreachable"."1.0.0"."void"}" deps)
-  ];
-
-
-# end
-# utf8-ranges-1.0.0
-
-  crates.utf8_ranges."1.0.0" = deps: { features?(features_.utf8_ranges."1.0.0" deps {}) }: buildRustCrate {
-    crateName = "utf8-ranges";
-    version = "1.0.0";
-    description = "Convert ranges of Unicode codepoints to UTF-8 byte ranges.";
-    authors = [ "Andrew Gallant <jamslam@gmail.com>" ];
-    sha256 = "0rzmqprwjv9yp1n0qqgahgm24872x6c0xddfym5pfndy7a36vkn0";
-  };
-  features_.utf8_ranges."1.0.0" = deps: f: updateFeatures f (rec {
-    utf8_ranges."1.0.0".default = (f.utf8_ranges."1.0.0".default or true);
-  }) [];
-
-
-# end
-# uuid-0.6.3
-
-  crates.uuid."0.6.3" = deps: { features?(features_.uuid."0.6.3" deps {}) }: buildRustCrate {
-    crateName = "uuid";
-    version = "0.6.3";
-    description = "A library to generate and parse UUIDs.\n";
-    authors = [ "Ashley Mannix<ashleymannix@live.com.au>" "Christopher Armstrong" "Dylan DPC<dylan.dpc@gmail.com>" "Hunar Roop Kahlon<hunar.roop@gmail.com>" ];
-    sha256 = "1kjp5xglhab4saaikn95zn3mr4zja7484pv307cb5bxm2sawb8p6";
-    dependencies = mapFeatures features ([
-      (crates."cfg_if"."${deps."uuid"."0.6.3"."cfg_if"}" deps)
-    ]
-      ++ (if features.uuid."0.6.3".rand or false then [ (crates.rand."${deps."uuid"."0.6.3".rand}" deps) ] else []));
-    features = mkFeatures (features."uuid"."0.6.3" or {});
-  };
-  features_.uuid."0.6.3" = deps: f: updateFeatures f (rec {
-    cfg_if."${deps.uuid."0.6.3".cfg_if}".default = true;
-    rand."${deps.uuid."0.6.3".rand}".default = true;
-    uuid = fold recursiveUpdate {} [
-      { "0.6.3"."md5" =
-        (f.uuid."0.6.3"."md5" or false) ||
-        (f.uuid."0.6.3".v3 or false) ||
-        (uuid."0.6.3"."v3" or false); }
-      { "0.6.3"."rand" =
-        (f.uuid."0.6.3"."rand" or false) ||
-        (f.uuid."0.6.3".v3 or false) ||
-        (uuid."0.6.3"."v3" or false) ||
-        (f.uuid."0.6.3".v4 or false) ||
-        (uuid."0.6.3"."v4" or false) ||
-        (f.uuid."0.6.3".v5 or false) ||
-        (uuid."0.6.3"."v5" or false); }
-      { "0.6.3"."serde" =
-        (f.uuid."0.6.3"."serde" or false) ||
-        (f.uuid."0.6.3".playground or false) ||
-        (uuid."0.6.3"."playground" or false); }
-      { "0.6.3"."sha1" =
-        (f.uuid."0.6.3"."sha1" or false) ||
-        (f.uuid."0.6.3".v5 or false) ||
-        (uuid."0.6.3"."v5" or false); }
-      { "0.6.3"."std" =
-        (f.uuid."0.6.3"."std" or false) ||
-        (f.uuid."0.6.3".default or false) ||
-        (uuid."0.6.3"."default" or false) ||
-        (f.uuid."0.6.3".use_std or false) ||
-        (uuid."0.6.3"."use_std" or false); }
-      { "0.6.3"."v1" =
-        (f.uuid."0.6.3"."v1" or false) ||
-        (f.uuid."0.6.3".playground or false) ||
-        (uuid."0.6.3"."playground" or false); }
-      { "0.6.3"."v3" =
-        (f.uuid."0.6.3"."v3" or false) ||
-        (f.uuid."0.6.3".playground or false) ||
-        (uuid."0.6.3"."playground" or false); }
-      { "0.6.3"."v4" =
-        (f.uuid."0.6.3"."v4" or false) ||
-        (f.uuid."0.6.3".playground or false) ||
-        (uuid."0.6.3"."playground" or false); }
-      { "0.6.3"."v5" =
-        (f.uuid."0.6.3"."v5" or false) ||
-        (f.uuid."0.6.3".playground or false) ||
-        (uuid."0.6.3"."playground" or false); }
-      { "0.6.3".default = (f.uuid."0.6.3".default or true); }
-    ];
-  }) [
-    (features_.cfg_if."${deps."uuid"."0.6.3"."cfg_if"}" deps)
-    (features_.rand."${deps."uuid"."0.6.3"."rand"}" deps)
-  ];
-
-
-# end
-# vec_map-0.8.1
-
-  crates.vec_map."0.8.1" = deps: { features?(features_.vec_map."0.8.1" deps {}) }: buildRustCrate {
-    crateName = "vec_map";
-    version = "0.8.1";
-    description = "A simple map based on a vector for small integer keys";
-    authors = [ "Alex Crichton <alex@alexcrichton.com>" "Jorge Aparicio <japaricious@gmail.com>" "Alexis Beingessner <a.beingessner@gmail.com>" "Brian Anderson <>" "tbu- <>" "Manish Goregaokar <>" "Aaron Turon <aturon@mozilla.com>" "Adolfo Ochagavía <>" "Niko Matsakis <>" "Steven Fackler <>" "Chase Southwood <csouth3@illinois.edu>" "Eduard Burtescu <>" "Florian Wilkens <>" "Félix Raimundo <>" "Tibor Benke <>" "Markus Siemens <markus@m-siemens.de>" "Josh Branchaud <jbranchaud@gmail.com>" "Huon Wilson <dbau.pp@gmail.com>" "Corey Farwell <coref@rwell.org>" "Aaron Liblong <>" "Nick Cameron <nrc@ncameron.org>" "Patrick Walton <pcwalton@mimiga.net>" "Felix S Klock II <>" "Andrew Paseltiner <apaseltiner@gmail.com>" "Sean McArthur <sean.monstar@gmail.com>" "Vadim Petrochenkov <>" ];
-    sha256 = "1jj2nrg8h3l53d43rwkpkikq5a5x15ms4rf1rw92hp5lrqhi8mpi";
-    dependencies = mapFeatures features ([
-]);
-    features = mkFeatures (features."vec_map"."0.8.1" or {});
-  };
-  features_.vec_map."0.8.1" = deps: f: updateFeatures f (rec {
-    vec_map = fold recursiveUpdate {} [
-      { "0.8.1"."serde" =
-        (f.vec_map."0.8.1"."serde" or false) ||
-        (f.vec_map."0.8.1".eders or false) ||
-        (vec_map."0.8.1"."eders" or false); }
-      { "0.8.1".default = (f.vec_map."0.8.1".default or true); }
-    ];
-  }) [];
-
-
-# end
-# void-1.0.2
-
-  crates.void."1.0.2" = deps: { features?(features_.void."1.0.2" deps {}) }: buildRustCrate {
-    crateName = "void";
-    version = "1.0.2";
-    description = "The uninhabited void type for use in statically impossible cases.";
-    authors = [ "Jonathan Reem <jonathan.reem@gmail.com>" ];
-    sha256 = "0h1dm0dx8dhf56a83k68mijyxigqhizpskwxfdrs1drwv2cdclv3";
-    features = mkFeatures (features."void"."1.0.2" or {});
-  };
-  features_.void."1.0.2" = deps: f: updateFeatures f (rec {
-    void = fold recursiveUpdate {} [
-      { "1.0.2"."std" =
-        (f.void."1.0.2"."std" or false) ||
-        (f.void."1.0.2".default or false) ||
-        (void."1.0.2"."default" or false); }
-      { "1.0.2".default = (f.void."1.0.2".default or true); }
-    ];
-  }) [];
-
-
-# end
-# winapi-0.2.8
-
-  crates.winapi."0.2.8" = deps: { features?(features_.winapi."0.2.8" deps {}) }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.2.8";
-    description = "Types and constants for WinAPI bindings. See README for list of crates providing function bindings.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0a45b58ywf12vb7gvj6h3j264nydynmzyqz8d8rqxsj6icqv82as";
-  };
-  features_.winapi."0.2.8" = deps: f: updateFeatures f (rec {
-    winapi."0.2.8".default = (f.winapi."0.2.8".default or true);
-  }) [];
-
-
-# end
-# winapi-0.3.4
-
-  crates.winapi."0.3.4" = deps: { features?(features_.winapi."0.3.4" deps {}) }: buildRustCrate {
-    crateName = "winapi";
-    version = "0.3.4";
-    description = "Raw FFI bindings for all of Windows API.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1qbrf5dcnd8j36cawby5d9r5vx07r0l4ryf672pfncnp8895k9lx";
-    build = "build.rs";
-    dependencies = (if kernel == "i686-pc-windows-gnu" then mapFeatures features ([
-      (crates."winapi_i686_pc_windows_gnu"."${deps."winapi"."0.3.4"."winapi_i686_pc_windows_gnu"}" deps)
-    ]) else [])
-      ++ (if kernel == "x86_64-pc-windows-gnu" then mapFeatures features ([
-      (crates."winapi_x86_64_pc_windows_gnu"."${deps."winapi"."0.3.4"."winapi_x86_64_pc_windows_gnu"}" deps)
-    ]) else []);
-    features = mkFeatures (features."winapi"."0.3.4" or {});
-  };
-  features_.winapi."0.3.4" = deps: f: updateFeatures f (rec {
-    winapi."0.3.4".default = (f.winapi."0.3.4".default or true);
-    winapi_i686_pc_windows_gnu."${deps.winapi."0.3.4".winapi_i686_pc_windows_gnu}".default = true;
-    winapi_x86_64_pc_windows_gnu."${deps.winapi."0.3.4".winapi_x86_64_pc_windows_gnu}".default = true;
-  }) [
-    (features_.winapi_i686_pc_windows_gnu."${deps."winapi"."0.3.4"."winapi_i686_pc_windows_gnu"}" deps)
-    (features_.winapi_x86_64_pc_windows_gnu."${deps."winapi"."0.3.4"."winapi_x86_64_pc_windows_gnu"}" deps)
-  ];
-
-
-# end
-# winapi-build-0.1.1
-
-  crates.winapi_build."0.1.1" = deps: { features?(features_.winapi_build."0.1.1" deps {}) }: buildRustCrate {
-    crateName = "winapi-build";
-    version = "0.1.1";
-    description = "Common code for build.rs in WinAPI -sys crates.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "1lxlpi87rkhxcwp2ykf1ldw3p108hwm24nywf3jfrvmff4rjhqga";
-    libName = "build";
-  };
-  features_.winapi_build."0.1.1" = deps: f: updateFeatures f (rec {
-    winapi_build."0.1.1".default = (f.winapi_build."0.1.1".default or true);
-  }) [];
-
-
-# end
-# winapi-i686-pc-windows-gnu-0.4.0
-
-  crates.winapi_i686_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_i686_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "winapi-i686-pc-windows-gnu";
-    version = "0.4.0";
-    description = "Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "05ihkij18r4gamjpxj4gra24514can762imjzlmak5wlzidplzrp";
-    build = "build.rs";
-  };
-  features_.winapi_i686_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
-    winapi_i686_pc_windows_gnu."0.4.0".default = (f.winapi_i686_pc_windows_gnu."0.4.0".default or true);
-  }) [];
-
-
-# end
-# winapi-x86_64-pc-windows-gnu-0.4.0
-
-  crates.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: { features?(features_.winapi_x86_64_pc_windows_gnu."0.4.0" deps {}) }: buildRustCrate {
-    crateName = "winapi-x86_64-pc-windows-gnu";
-    version = "0.4.0";
-    description = "Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.";
-    authors = [ "Peter Atashian <retep998@gmail.com>" ];
-    sha256 = "0n1ylmlsb8yg1v583i4xy0qmqg42275flvbc51hdqjjfjcl9vlbj";
-    build = "build.rs";
-  };
-  features_.winapi_x86_64_pc_windows_gnu."0.4.0" = deps: f: updateFeatures f (rec {
-    winapi_x86_64_pc_windows_gnu."0.4.0".default = (f.winapi_x86_64_pc_windows_gnu."0.4.0".default or true);
-  }) [];
-
-
-# end
-}
diff --git a/pkgs/development/tools/systemfd/default.nix b/pkgs/development/tools/systemfd/default.nix
index a1c93f46dcb70..a695cf83a2954 100644
--- a/pkgs/development/tools/systemfd/default.nix
+++ b/pkgs/development/tools/systemfd/default.nix
@@ -1,18 +1,32 @@
-{ lib, fetchgit, darwin, buildPlatform
-, buildRustCrate, buildRustCrateHelpers, defaultCrateOverrides }:
+{ lib
+, fetchFromGitHub
+, rustPlatform
+}:
 
-((import ./Cargo.nix {
-  inherit lib buildPlatform buildRustCrate buildRustCrateHelpers fetchgit;
-  cratesIO = import ./crates-io.nix { inherit lib buildRustCrate buildRustCrateHelpers; };
-}).systemfd {}).override {
-  crateOverrides = defaultCrateOverrides // {
-    systemfd = attrs: {
-        meta = {
-          description = "A convenient helper for passing sockets into another process";
-          homepage = "https://github.com/mitsuhiko/systemfd";
-          license = lib.licenses.asl20;
-          maintainers = [ lib.maintainers.adisbladis ];
-        };
-    };
+let
+  version = "0.4.0";
+
+in
+rustPlatform.buildRustPackage {
+
+  pname = "systemfd";
+  inherit version;
+
+  src = fetchFromGitHub {
+    repo = "systemfd";
+    owner = "mitsuhiko";
+    rev = version;
+    sha256 = "sha256-HUJgYPD4C9fMUYKpzmIy9gDT6HAZDWw1JLMKLgzRQTY=";
   };
+
+  cargoSha256 = "sha256-UhfE9Q5E79rN2mjkNB5IAN/J0fbpoy9CmM6ojHQcFP0=";
+
+  meta = {
+    description = "A convenient helper for passing sockets into another process";
+    homepage = "https://github.com/mitsuhiko/systemfd";
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.adisbladis ];
+    platforms = lib.platforms.unix;
+  };
+
 }
diff --git a/pkgs/development/tools/toxiproxy/default.nix b/pkgs/development/tools/toxiproxy/default.nix
index 5ecd6ad2eb6f1..c3b77e4b3e27d 100644
--- a/pkgs/development/tools/toxiproxy/default.nix
+++ b/pkgs/development/tools/toxiproxy/default.nix
@@ -1,26 +1,32 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "toxiproxy";
-  version = "2.1.4";
+  version = "2.4.0";
+
   src = fetchFromGitHub {
     owner = "Shopify";
     repo = "toxiproxy";
     rev = "v${version}";
-    sha256 = "07yhsvscdv1qjfc2fyyh9qsrrdwrrw04wadk5gaq4qddcway7vig";
+    sha256 = "sha256-vFf1yLpAa+yO1PCE+pLTnvvtROtpVxlEgACDNNUWBEM=";
   };
 
-  goPackagePath = "github.com/Shopify/toxiproxy";
-  subPackages = ["cmd" "cli"];
-  ldflags = [ "-X github.com/Shopify/toxiproxy.Version=v${version}" ];
+  vendorSha256 = "sha256-mrRMyIU6zeyAT/fXbBmtMlZzpyeB45FQmYJ4FDwTRTo=";
+
+  excludedPackages = [ "test/e2e" ];
+
+  ldflags = [ "-s" "-w" "-X github.com/Shopify/toxiproxy/v2.Version=${version}" ];
+
+  checkFlags = [ "-short" ];
 
   postInstall = ''
     mv $out/bin/cli $out/bin/toxiproxy-cli
-    mv $out/bin/cmd $out/bin/toxiproxy-cmd
+    mv $out/bin/server $out/bin/toxiproxy-server
   '';
 
   meta = {
     description = "Proxy for for simulating network conditions";
+    homepage = "https://github.com/Shopify/toxiproxy";
     maintainers = with lib.maintainers; [ avnik ];
     license = lib.licenses.mit;
   };
diff --git a/pkgs/development/tools/treefmt/default.nix b/pkgs/development/tools/treefmt/default.nix
index f9cef54564f8c..2ffbd4a1bed69 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.3.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "numtide";
     repo = "treefmt";
     rev = "v${version}";
-    sha256 = "sha256-PTT87Na4KpyN6a7T49vHHhSqSOF6JSWr5/jiys1Uzko=";
+    hash = "sha256-+EcqrmjZR8pkBiIXpdJ/KfmTm719lgz7oC9tH7OhJKY=";
   };
 
-  cargoSha256 = "sha256-Gvr6Zjd9Gvn2CyjNHlJaKPFYUViPezRwoDBeVelRlkU=";
+  cargoSha256 = "sha256-DXsKUeSmNUIKPsvrLxkg+Kp78rEfjmJQYf2pj1LWW38=";
 
   meta = {
     description = "one CLI to format the code tree";
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index e52c38822160e..4a6ca92e964b5 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
+{ lib, fetchurl, appimageTools  }:
 
 appimageTools.wrapType2 rec {
   pname = "unityhub";
@@ -31,10 +31,6 @@ appimageTools.wrapType2 rec {
         $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
-  '';
-
   meta = with lib; {
     homepage = "https://unity3d.com/";
     description = "Game development tool";
diff --git a/pkgs/development/web/bloomrpc/default.nix b/pkgs/development/web/bloomrpc/default.nix
index 1c9ed7c2e10ef..59ab32131c2d0 100644
--- a/pkgs/development/web/bloomrpc/default.nix
+++ b/pkgs/development/web/bloomrpc/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, gsettings-desktop-schemas, gtk3, appimageTools }:
+{ lib, fetchurl, appimageTools }:
 
 let
   pname = "bloomrpc";
@@ -19,7 +19,6 @@ appimageTools.wrapType2 {
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
   '';
 
   multiPkgs = null; # no 32bit needed
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index 4291af81f405c..eff2af506c992 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -16,15 +16,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.21.3";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0LjY5XBtR9uoxLOOFRebbSuH9chSdH1/9rtsY15NdCM=";
+    sha256 = "sha256-gragdn3ToOz/We+iVOrX/Fx0g7Zbb7RT5C/2K1+/spc=";
   };
-  cargoSha256 = "sha256-8YldzUO9Jysu0w2NvGWDIr2eIWcrX9ALUodYwIykt64=";
+  cargoSha256 = "sha256-+lNrkOCiC9WT0hbuUBCTaFCsVWJVbp/up2iov3MMt8o=";
 
   postPatch = ''
     # upstream uses lld on aarch64-darwin for faster builds
diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix
index e1a9b0de75367..f736120c416a6 100644
--- a/pkgs/development/web/deno/librusty_v8.nix
+++ b/pkgs/development/web/deno/librusty_v8.nix
@@ -11,11 +11,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.42.0";
+  version = "0.42.1";
   shas = {
-    x86_64-linux = "sha256-p8wC2r9+PKEabaHj0NF059TBSKOpE+rtZkqk1SXINzQ=";
-    aarch64-linux = "sha256-1mQQ5XmR+WcYW6BGfnUdsG4yzhwIal80Y5fWw4XAJ3g=";
-    x86_64-darwin = "sha256-a5Mu33gXn2X02WRdtO1hb9JRctmFTiCaLNhScz2D0J8=";
-    aarch64-darwin = "sha256-THEFn8nQDktXJlY1zpi2760KAS2eKEQ9O3Y+yqI2OYw=";
+    x86_64-linux = "sha256-rAqIkJ85l5eSojTowVZl5waK/fk00JI4fI1AY1ue/i4=";
+    aarch64-linux = "sha256-uGptQ5V4u6Vz5BI9xmMShB3gnIUjvA/LKeh+kj71XK8=";
+    x86_64-darwin = "sha256-Hcb4Vct9aTv4APJfNpydRY68jpEE3wZVctKhURohz4Y=";
+    aarch64-darwin = "sha256-OSrbI7pX9arCJt8ymRLEARo8admPDHvpDLqf3+iYzVQ=";
   };
 }
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index d2f6349894708..7cae7dd557a21 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.19.2";
-    sha256 = "sha256-70N1qRUv9p8oI9eyCjtTdnoEYWS7rHgkQpyyFtFojPA=";
+    version = "14.19.3";
+    sha256 = "sha256-XPRbHxrKd1I6zzYkDB1TqZknkHCncR6r8jNG+IsMyZQ=";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v17.nix b/pkgs/development/web/nodejs/v17.nix
deleted file mode 100644
index 3fbaf223f303f..0000000000000
--- a/pkgs/development/web/nodejs/v17.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ callPackage, python3, enableNpm ? true }:
-
-let
-  buildNodejs = callPackage ./nodejs.nix {
-    python = python3;
-  };
-in
-buildNodejs {
-  inherit enableNpm;
-  version = "17.9.0";
-  sha256 = "1q1rr9kvlk9rd35x3x206iy894hq2ywyhqxbb6grak6wcvdgcnan";
-  patches = [
-    ./disable-darwin-v8-system-instrumentation.patch
-  ];
-}
diff --git a/pkgs/development/web/nodejs/v18.nix b/pkgs/development/web/nodejs/v18.nix
index 6a55c20b195bc..b0a9924cd82f6 100644
--- a/pkgs/development/web/nodejs/v18.nix
+++ b/pkgs/development/web/nodejs/v18.nix
@@ -7,8 +7,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "18.1.0";
-  sha256 = "0zhb61ihzslmpl1g3dd6vcxjccc8gwj1v4hfphk7f3cy10hcrc78";
+  version = "18.2.0";
+  sha256 = "sha256-IwWxXr9VR0dOkFtQAvm6mcfu7wHXOU3+bzhGzGvK1m0=";
   patches = [
     ./disable-darwin-v8-system-instrumentation.patch
   ];
diff --git a/pkgs/games/anki/bin.nix b/pkgs/games/anki/bin.nix
index aade2aaae9ece..45ec432dc7ba7 100644
--- a/pkgs/games/anki/bin.nix
+++ b/pkgs/games/anki/bin.nix
@@ -3,22 +3,22 @@
 let
   pname = "anki-bin";
   # Update hashes for both Linux and Darwin!
-  version = "2.1.51";
+  version = "2.1.52";
 
   sources = {
     linux = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
-      sha256 = "sha256-ZKVc+TvkNu5mGgibhRIuoLuIfvyoVDy+c4h+Apz9P+0=";
+      sha256 = "sha256-+eRflNMxutoSY9yQfnhIjfLg9b9CNv+7UuYyg4jgfK4=";
     };
 
     # For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
     darwin-x86_64 = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
-      sha256 = "sha256-wZMJEbcpezVAuBSKlwNTHlqjp0FfmyDB7XD6BBuJhyA=";
+      sha256 = "sha256-keQxaf0KOQjCb22dQD/1VytW2fk35OPUJyJ42kaoAr8=";
     };
     darwin-aarch64 = fetchurl {
       url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
-      sha256 = "sha256-6RDTYKoisX5DJ9VPWrP9VH9DCABabb9MB3nG4S8jtR0=";
+      sha256 = "sha256-mYPSOjXh18nWpZjXLAjEodoxopr6rxadESMAf/t9SlI=";
     };
   };
 
@@ -44,7 +44,7 @@ let
 
   meta = with lib; {
     inherit (anki.meta) license homepage description longDescription;
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
     maintainers = with maintainers; [ atemu ];
   };
 
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index d4f1f8faeeba2..891c9a40ec129 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, SDL, ncurses, libtcod, makeDesktopItem }:
+{ lib, stdenv, fetchurl, fetchpatch, SDL, ncurses, libtcod, makeDesktopItem }:
 
 stdenv.mkDerivation rec {
   pname = "brogue";
@@ -8,6 +8,15 @@ stdenv.mkDerivation rec {
     url = "https://sites.google.com/site/broguegame/brogue-${version}-linux-amd64.tbz2";
     sha256 = "0i042zb3axjf0cpgpdh8hvfn66dbfizidyvw0iymjk2n760z2kx7";
   };
+  patches = [
+    # Pull upstream fix for -fno-common toolchains:
+    #  https://github.com/tmewett/BrogueCE/pull/63
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/tmewett/BrogueCE/commit/2c7ed0c48d9efd06bf0a2589ba967c0a22a8fa87.patch";
+      sha256 = "19lr2fa25dh79klm4f4kqyyqq7w5xmw9z0fvylkcckqvcv7dwhp3";
+    })
+  ];
 
   prePatch = ''
     sed -i Makefile -e 's,LIBTCODDIR=.*,LIBTCODDIR=${libtcod},g' \
diff --git a/pkgs/games/cl-wordle/default.nix b/pkgs/games/cl-wordle/default.nix
index 1ad3487c3feda..505c5166e42ad 100644
--- a/pkgs/games/cl-wordle/default.nix
+++ b/pkgs/games/cl-wordle/default.nix
@@ -1,15 +1,17 @@
-{ lib, rustPlatform, fetchCrate }:
+{ lib, rustPlatform, fetchFromGitHub }:
 
 rustPlatform.buildRustPackage rec {
   pname = "cl-wordle";
-  version = "0.4.0";
+  version = "0.5.0";
 
-  src = fetchCrate {
-    inherit pname version;
-    sha256 = "sha256-z2XpXgOviBRcberwpxQ4ml1T04k5kMhG7wA0PAYWENg=";
+  src = fetchFromGitHub {
+    owner = "conradludgate";
+    repo = "wordle";
+    rev = "v${version}";
+    sha256 = "sha256-wFTvzAzboUFQg3fauIwIdRChK7rmLES92jK+8ff1D3s=";
   };
 
-  cargoSha256 = "sha256-C7UMkhgez2CtddftARlwN1TjZ1N26NnZfpRiX1KkMEA=";
+  cargoSha256 = "sha256-PtJbLpAUH44alupFY6wX++t/QsKknn5bXvnXzdYsd9o=";
 
   meta = with lib; {
     description = "Wordle TUI in Rust";
diff --git a/pkgs/games/egoboo/default.nix b/pkgs/games/egoboo/default.nix
index 506868efe312f..4023eccec4414 100644
--- a/pkgs/games/egoboo/default.nix
+++ b/pkgs/games/egoboo/default.nix
@@ -45,6 +45,11 @@ stdenv.mkDerivation rec {
     '';
   */
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: mad.o:(.bss+0x233800): multiple definition of `tile_dict'; camera.o:(.bss+0x140): first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   NIX_LDFLAGS = "-lm";
 
   meta = {
diff --git a/pkgs/games/heroic/default.nix b/pkgs/games/heroic/default.nix
index 565bb87f7e01d..044d159cde1d1 100644
--- a/pkgs/games/heroic/default.nix
+++ b/pkgs/games/heroic/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
+{ lib, fetchurl, appimageTools }:
 
 let
   pname = "heroic";
@@ -29,10 +29,6 @@ appimageTools.wrapType2 {
       --replace 'Exec=AppRun' 'Exec=heroic'
   '';
 
-  profile = ''
-    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
-  '';
-
   meta = with lib; {
     description = "A Native GUI Epic Games Launcher for Linux, Windows and Mac";
     homepage = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher";
diff --git a/pkgs/games/liquidwar/5.nix b/pkgs/games/liquidwar/5.nix
index e95371ec5eafc..eab7941cbd1cd 100644
--- a/pkgs/games/liquidwar/5.nix
+++ b/pkgs/games/liquidwar/5.nix
@@ -13,7 +13,14 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  NIX_CFLAGS_COMPILE = [ "-lm" ];
+  NIX_CFLAGS_COMPILE = [
+    # Workaround build failure on -fno-common toolchains like upstream
+    # gcc-10. Otherwise build fails as:
+    #   ld: random.o:(.bss+0x0): multiple definition of `LW_RANDOM_ON'; game.o:(.bss+0x4): first defined here
+    "-fcommon"
+
+    "-lm"
+  ];
 
   meta = with lib; {
     description = "The classic version of a quick tactics game LiquidWar";
diff --git a/pkgs/misc/rich-cli/default.nix b/pkgs/misc/rich-cli/default.nix
index 17ea9ffee6e53..68996e4e457c4 100644
--- a/pkgs/misc/rich-cli/default.nix
+++ b/pkgs/misc/rich-cli/default.nix
@@ -1,15 +1,18 @@
 { lib
+, fetchFromGitHub
 , python3
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "rich-cli";
-  version = "1.7.0";
+  version = "1.8.0";
   format = "pyproject";
 
-  src = python3.pkgs.fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-fporylec9H+9G2v8D0O32ek7OQs3YRSma1xOpakClqk=";
+  src = fetchFromGitHub {
+    owner = "Textualize";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-mV5b/J9wX9niiYtlmAUouaAm9mY2zTtDmex7FNWcezQ=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
@@ -26,7 +29,7 @@ python3.pkgs.buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'rich = "^12.3.0"' 'rich = "*"'
+      --replace 'rich = "^12.4.0"' 'rich = "*"'
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/misc/wiki-tui/default.nix b/pkgs/misc/wiki-tui/default.nix
index 1c954de3822e3..cc98cf46d0788 100644
--- a/pkgs/misc/wiki-tui/default.nix
+++ b/pkgs/misc/wiki-tui/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wiki-tui";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchFromGitHub {
     owner = "Builditluc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qoj5rg0YeBWQuU/HU84wOSG9y9p4Q1DFbqsh61mYnUc=";
+    sha256 = "sha256-/u0segKHrrtXfEjOmpnQ/iFbsM+VfsZKTpyc1IfuOU8=";
   };
 
   buildInputs = [ ncurses openssl ] ++ lib.optional stdenv.isDarwin Security;
 
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-btSWvlObvn08cAWVMM4R0aciYz8swRFZjX+WDhALj3M=";
+  cargoSha256 = "sha256-3xvaEzqAz/U8CkdGYXLBnxrgW1raeKuzRsmD+0Sd4iQ=";
 
   # Tests fail with this error: `found argument --test-threads which was not expected`
   doCheck = false;
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index 86c91e9b55ccb..6f8124dbac4c1 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, buildPackages
-, appleDerivation', cpio, xnu, Libc, Libm, libdispatch, Libinfo
+, appleDerivation', xnu, Libc, Libm, libdispatch, Libinfo
 , dyld, Csu, architecture, libclosure, CarbonHeaders, ncurses, CommonCrypto
 , copyfile, removefile, libresolvHeaders, libresolv, Libnotify, libplatform, libpthread
 , mDNSResponder, launchd, libutilHeaders, hfsHeaders, darling, darwin-stubs
@@ -11,15 +11,21 @@ appleDerivation' stdenv {
   dontBuild = true;
   dontFixup = true;
 
-  nativeBuildInputs = [ cpio ];
-
   installPhase = ''
     export NIX_ENFORCE_PURITY=
 
     mkdir -p $out/lib $out/include
 
+    function copyHierarchy () {
+      mkdir -p $1
+      while read f; do
+        mkdir -p $1/$(dirname $f)
+        cp --parents -pn $f $1
+      done
+    }
+
     # Set up our include directories
-    (cd ${xnu}/include && find . -name '*.h' -or -name '*.defs' | cpio -pdm $out/include)
+    (cd ${xnu}/include && find . -name '*.h' -or -name '*.defs' | copyHierarchy $out/include)
     cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/Availability*.h $out/include
     cp ${xnu}/Library/Frameworks/Kernel.framework/Versions/A/Headers/stdarg.h        $out/include
 
@@ -28,10 +34,10 @@ appleDerivation' stdenv {
                ${CommonCrypto} ${copyfile} ${removefile} ${libresolvHeaders} \
                ${Libnotify} ${libplatform} ${mDNSResponder} ${launchd} \
                ${libutilHeaders} ${libpthread} ${hfsHeaders}; do
-      (cd $dep/include && find . -name '*.h' | cpio -pdm $out/include)
+      (cd $dep/include && find . -name '*.h' | copyHierarchy $out/include)
     done
 
-    (cd ${buildPackages.darwin.cctools.dev}/include/mach-o && find . -name '*.h' | cpio -pdm $out/include/mach-o)
+    (cd ${buildPackages.darwin.cctools.dev}/include/mach-o && find . -name '*.h' | copyHierarchy $out/include/mach-o)
 
     mkdir -p $out/include/os
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt
index 09b0ab410459f..cdca44c7292c1 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/headers.txt
@@ -71,6 +71,7 @@ architecture/i386/table.h
 architecture/i386/tss.h
 arpa/ftp.h
 arpa/inet.h
+arpa/nameser.h
 arpa/nameser_compat.h
 arpa/telnet.h
 arpa/tftp.h
@@ -956,6 +957,7 @@ mpool.h
 msgcat.h
 nameser.h
 nc_tparm.h
+ncurses.h
 ncurses_dll.h
 ndbm.h
 net/bpf.h
diff --git a/pkgs/os-specific/darwin/dockutil/default.nix b/pkgs/os-specific/darwin/dockutil/default.nix
index d937ce8fd12a5..5e4187f07280f 100644
--- a/pkgs/os-specific/darwin/dockutil/default.nix
+++ b/pkgs/os-specific/darwin/dockutil/default.nix
@@ -1,24 +1,29 @@
-{ lib, stdenv, fetchFromGitHub }:
-
+{ lib, stdenv, fetchurl, libarchive, p7zip }:
 stdenv.mkDerivation rec {
   pname = "dockutil";
-  version = "2.0.5";
+  version = "3.0.2";
 
-  src = fetchFromGitHub {
-    owner  = "kcrawford";
-    repo   = "dockutil";
-    rev    = version;
-    sha256 = "sha256-8tDkueCTCtvxc7owp3K9Tsrn4hL79CM04zBNv7AcHgA=";
+  src = fetchurl {
+    url =
+      "https://github.com/kcrawford/dockutil/releases/download/${version}/dockutil-${version}.pkg";
+    sha256 = "175137ea747e83ed221d60b18b712b256ed31531534cde84f679487d337668fd";
   };
 
   dontBuild = true;
 
+  nativeBuildInputs = [ libarchive p7zip ];
+
+  unpackPhase = ''
+    7z x $src
+    bsdtar -xf Payload~
+  '';
+
   installPhase = ''
     runHook preInstall
-
     mkdir -p $out/bin
-    install -Dm755 scripts/dockutil -t $out/bin
-
+    mkdir -p $out/usr/local/bin
+    install -Dm755 usr/local/bin/dockutil -t $out/usr/local/bin
+    ln -rs $out/usr/local/bin/dockutil $out/bin/dockutil
     runHook postInstall
   '';
 
diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix
index b2bc7e376b5e0..14d6287c479f4 100644
--- a/pkgs/os-specific/darwin/moltenvk/default.nix
+++ b/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -192,6 +192,7 @@ stdenvNoCC.mkDerivation rec {
     homepage = "https://github.com/KhronosGroup/MoltenVK";
     changelog = "https://github.com/KhronosGroup/MoltenVK/releases";
     maintainers = [ lib.maintainers.reckenrode ];
+    hydraPlatforms = [ ]; # Prevent building on Hydra until MoltenVK no longer requires Xcode.
     license = lib.licenses.asl20;
     platforms = lib.platforms.darwin;
   };
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index 6d14a3293fca4..bda8d8ab30c5b 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -2,7 +2,7 @@
   lib, stdenv, buildPackages, fetchurl, fetchpatch,
   runCommand,
   autoreconfHook,
-  autoconf, automake, libtool,
+  autoconf, automake, libtool, bash,
   # Enabling python support while cross compiling would be possible, but
   # the configure script tries executing python to gather info instead of
   # relying on python3-config exclusively
@@ -21,9 +21,11 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "man" ];
 
+  strictDeps = true;
   depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = lib.optionals enablePython [ python3 swig ];
+  nativeBuildInputs = [ autoreconfHook ]
+    ++ lib.optionals enablePython [ python3 swig ];
+  buildInputs = [ bash ];
 
   configureFlags = [
     # z/OS plugin is not useful on Linux,
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 79dc48a6ea9c9..3d22720b96255 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -16,19 +16,6 @@ stdenv.mkDerivation rec {
     sha256 = cfg.sha256.${pname};
   };
 
-  patches = [
-    #  batman-adv: make mc_forwarding atomic
-    (fetchpatch {
-      url = "https://git.open-mesh.org/batman-adv.git/blobdiff_plain/c142c00f6b1a2ad5f5d74202fb1249e6a6575407..56db7c0540e733a1f063ccd6bab1b537a80857eb:/net/batman-adv/multicast.c";
-      hash = "sha256-2zXg8mZ3/iK9E/kyn+wHSrlLq87HuK72xuXojQ9KjkI=";
-    })
-    #  batman-adv: compat: Add atomic mc_fowarding support for stable kernels
-    (fetchpatch {
-      url = "https://git.open-mesh.org/batman-adv.git/blobdiff_plain/f07a0c37ab278fb6a9e95cad89429b1282f1ab59..350adcaec82fbaa358a2406343b6130ac8dad126:/net/batman-adv/multicast.c";
-      hash = "sha256-r/Xp5bmDo9GVfAF6bn2Xq+cOq5ddQe+D5s/h37uI6bM=";
-    })
-  ];
-
   nativeBuildInputs = kernel.moduleBuildDependencies;
   makeFlags = kernel.makeFlags ++ [
     "KERNELPATH=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
diff --git a/pkgs/os-specific/linux/batman-adv/version.nix b/pkgs/os-specific/linux/batman-adv/version.nix
index 12a7f26a336ef..dd2227874501e 100644
--- a/pkgs/os-specific/linux/batman-adv/version.nix
+++ b/pkgs/os-specific/linux/batman-adv/version.nix
@@ -1,9 +1,9 @@
 {
-  version = "2022.0";
+  version = "2022.1";
 
   sha256 = {
-    batman-adv = "sha256-STOHBbwgdwmshNdmaI5wJXEAnIJ8CjIHiOpR+4h3FKo=";
-    alfred = "sha256-q7odrGHsz81jKeczHQVV/syTd2D7NsbPVc5sHXUc/Zg=";
-    batctl = "sha256-iTlm+aLWpQch3hJM5i2l096cIOBVdspIK8VwTMWm9z0=";
+    batman-adv = "sha256-bQQdNTCr1LJJq/Wpb8Ki4kFDG/lEO1R/2yWi2P0ymkA=";
+    alfred = "sha256-OgrCuybgyz8nMtSHNmmgoi6YJej5qOerrJhjY/J1CX8=";
+    batctl = "sha256-h+iak4lxuGJCJoG7NBBOmytLZRLR0WXelTYw3zjWGmg=";
   };
 }
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 1d93174ec65de..3805f99e0a55c 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -138,6 +138,7 @@ in stdenv.mkDerivation rec {
       filename=$(basename $files)
       install -Dm755 tools/$filename $out/bin/$filename
     done
+    install -Dm755 attrib/gatttool $out/bin/gatttool
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/disk-indicator/default.nix b/pkgs/os-specific/linux/disk-indicator/default.nix
index 44dd19b27dfb7..f5c7f3bc774e4 100644
--- a/pkgs/os-specific/linux/disk-indicator/default.nix
+++ b/pkgs/os-specific/linux/disk-indicator/default.nix
@@ -2,31 +2,40 @@
 
 stdenv.mkDerivation {
   pname = "disk-indicator";
-  version = "unstable-2014-05-19";
+  version = "unstable-2018-12-18";
 
   src = fetchFromGitHub {
     owner = "MeanEYE";
     repo = "Disk-Indicator";
-    rev = "51ef4afd8141b8d0659cbc7dc62189c56ae9c2da";
-    sha256 = "sha256-bRaVEe18VUmyftXzMNmGuL5gZ/dKCipuEDYrnHo1XYI=";
+    rev = "ec2d2f6833f038f07a72d15e2d52625c23e10b12";
+    sha256 = "sha256-cRqgIxF6H1WyJs5hhaAXVdWAlv6t22BZLp3p/qRlCSM=";
   };
 
   buildInputs = [ libX11 ];
 
-  patchPhase = ''
-    substituteInPlace ./makefile --replace "COMPILER=c99" "COMPILER=gcc -std=c99"
-    substituteInPlace ./makefile --replace "COMPILE_FLAGS=" "COMPILE_FLAGS=-O2 "
+  postPatch = ''
+    # avoid -Werror
+    substituteInPlace Makefile --replace "-Werror" ""
+    # avoid host-specific options
+    substituteInPlace Makefile --replace "-march=native" ""
   '';
 
-  buildPhase = "make -f makefile";
-
-  NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
+  postConfigure = ''
+    patchShebangs ./configure.sh
+    ./configure.sh --all
+  '';
 
-  hardeningDisable = [ "fortify" ];
+  makeFlags = [
+    "COMPILER=${stdenv.cc.targetPrefix}cc"
+  ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p "$out/bin"
     cp ./disk_indicator "$out/bin/"
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index b7e783b73b725..e66a432836da2 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,61 +2,61 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.278-hardened1.patch",
-            "sha256": "10sihdsfc7zcn2n70gym790ql5lkgiy1q7lv7vavyxbg3j6yzayb",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.278-hardened1/linux-hardened-4.14.278-hardened1.patch"
+            "name": "linux-hardened-4.14.280-hardened1.patch",
+            "sha256": "0hkn7rbgvnv9v7pzrg5g6ygmdzlrjl3yama9kp9aw0xw2akghmb4",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.280-hardened1/linux-hardened-4.14.280-hardened1.patch"
         },
-        "sha256": "1glb6z3nicd2lzhvwcqj54642agk0bbg022wnc3ckld5ngpd9miw",
-        "version": "4.14.278"
+        "sha256": "01jr0f7mq919s7xxvv8sc1mg6isc1ggij33l2s0n6jvykm23ghrr",
+        "version": "4.14.280"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.242-hardened1.patch",
-            "sha256": "05fmppfvimppvqi1ghvg43jz8sdd56dffvy9sazpl53vpz3bysy6",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.242-hardened1/linux-hardened-4.19.242-hardened1.patch"
+            "name": "linux-hardened-4.19.244-hardened1.patch",
+            "sha256": "063q4vd0spk602s4if751341jaansh0764qq7fhy764j31678n0j",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.244-hardened1/linux-hardened-4.19.244-hardened1.patch"
         },
-        "sha256": "18k5fbzclk7g657bs8idwqjk7hakzx6256b1a3506sy29q4zvg2r",
-        "version": "4.19.242"
+        "sha256": "1g9562v6ny196rw2n3kj43nrz65qa7imwnmfasvj6x8fm8bdhz79",
+        "version": "4.19.244"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.115-hardened1.patch",
-            "sha256": "09sgj4wrsi5j5hz8k3zs8zxq4g0a27dnhpjs1nxvqdz6b8f4xkap",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.115-hardened1/linux-hardened-5.10.115-hardened1.patch"
+            "name": "linux-hardened-5.10.117-hardened1.patch",
+            "sha256": "1l53sjknm8q76r1jljm321cmh6ic36pc9w5rmi68lbds19ndfpx3",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.117-hardened1/linux-hardened-5.10.117-hardened1.patch"
         },
-        "sha256": "0w9gwizyqjgsj93dqqvlh6bqkmpzjajhj09319nqncc95yrigr7m",
-        "version": "5.10.115"
+        "sha256": "1iyw3nmsga2binmrhfnzsf1pvn2bs21a8jw6vm89k26z5h8zfgkh",
+        "version": "5.10.117"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.39-hardened1.patch",
-            "sha256": "137zp9z15adf464awh5cl371qvhv2c79yfnva3k31zp0ivjb7kgg",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.39-hardened1/linux-hardened-5.15.39-hardened1.patch"
+            "name": "linux-hardened-5.15.41-hardened1.patch",
+            "sha256": "1y98rvn4qyx8w8bjchfzsd7g9gkhfm20cwaj3p88sgq7q81kyz8s",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.41-hardened1/linux-hardened-5.15.41-hardened1.patch"
         },
-        "sha256": "1bfpiyccjggysd04flaana0x69n1lcpckzpw1v6kh3ly9xil31l8",
-        "version": "5.15.39"
+        "sha256": "07jrsr54rvhry3g401h58r1773zinq49dbrkb9v1p6q27gyb2z1w",
+        "version": "5.15.41"
     },
     "5.17": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.17.7-hardened1.patch",
-            "sha256": "0p2s6blyzi0ynfrqm5l8ayh41kjkrmznlly6znh3djc1k3l5fc8v",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.17.7-hardened1/linux-hardened-5.17.7-hardened1.patch"
+            "name": "linux-hardened-5.17.9-hardened1.patch",
+            "sha256": "0n7zz04vnajpsfn662fxx75jinnr0kpqwzyypgwn99v4lmsxvza1",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.17.9-hardened1/linux-hardened-5.17.9-hardened1.patch"
         },
-        "sha256": "16ccf7n6fns9z93c65lchn5v3fgl9c5vkr1v6p0c1xifn7v7xxi2",
-        "version": "5.17.7"
+        "sha256": "0y2rmn86z3cvgv71b6sjjyafnlbanlib1kjpjjqzjbgg86y2890p",
+        "version": "5.17.9"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.193-hardened1.patch",
-            "sha256": "1c24chfjkv5yk3gzawxygfl6l58i7a6l2swdk35g5sv8s6p0a9jl",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.193-hardened1/linux-hardened-5.4.193-hardened1.patch"
+            "name": "linux-hardened-5.4.195-hardened1.patch",
+            "sha256": "1q7a211jw22nl1yz3k3cv6g4h7csir0wwyypzij54xbg3k7by0p9",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.195-hardened1/linux-hardened-5.4.195-hardened1.patch"
         },
-        "sha256": "187jfk9hf52n5z9yv56vq1knp3kdcbyk5w5k98ziwcbdjm1x65hd",
-        "version": "5.4.193"
+        "sha256": "078380qhds2jwfmrchna6p27wpfb74pvnj4xiyc5k38gysfmnbzj",
+        "version": "5.4.195"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 942be8bf6d649..4c4d7c9324507 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.278";
+  version = "4.14.280";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1glb6z3nicd2lzhvwcqj54642agk0bbg022wnc3ckld5ngpd9miw";
+    sha256 = "01jr0f7mq919s7xxvv8sc1mg6isc1ggij33l2s0n6jvykm23ghrr";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 2db4ec01e72de..ea79db67ed75f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.242";
+  version = "4.19.244";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "18k5fbzclk7g657bs8idwqjk7hakzx6256b1a3506sy29q4zvg2r";
+    sha256 = "1g9562v6ny196rw2n3kj43nrz65qa7imwnmfasvj6x8fm8bdhz79";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 9de95b245a1c6..9f82f1805e909 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.313";
+  version = "4.9.315";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1p3vr1h01ph6x0pxrr6y6k5c4nrhvq650dfngv5mkrgsc5w7ffz0";
+    sha256 = "1171p90s00jxg1clyz8kp81ilmdzygg131mxysr6lpkaisahkjg6";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index 4cba62d8e6213..daeabc5383709 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.115";
+  version = "5.10.117";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0w9gwizyqjgsj93dqqvlh6bqkmpzjajhj09319nqncc95yrigr7m";
+    sha256 = "1iyw3nmsga2binmrhfnzsf1pvn2bs21a8jw6vm89k26z5h8zfgkh";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index 1a4dcab875c32..f2d550a285b1e 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.39";
+  version = "5.15.41";
 
   # 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;
@@ -15,6 +15,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1bfpiyccjggysd04flaana0x69n1lcpckzpw1v6kh3ly9xil31l8";
+    sha256 = "07jrsr54rvhry3g401h58r1773zinq49dbrkb9v1p6q27gyb2z1w";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.17.nix b/pkgs/os-specific/linux/kernel/linux-5.17.nix
index 5bd54a59533a1..46384061684db 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.17.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.17.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.17.7";
+  version = "5.17.9";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "16ccf7n6fns9z93c65lchn5v3fgl9c5vkr1v6p0c1xifn7v7xxi2";
+    sha256 = "0y2rmn86z3cvgv71b6sjjyafnlbanlib1kjpjjqzjbgg86y2890p";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index 4f23f695afe7d..1d5bbc07832fd 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.193";
+  version = "5.4.195";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "187jfk9hf52n5z9yv56vq1knp3kdcbyk5w5k98ziwcbdjm1x65hd";
+    sha256 = "078380qhds2jwfmrchna6p27wpfb74pvnj4xiyc5k38gysfmnbzj";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index 78646dddf960c..971847a895ac8 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "18713";
-    sha256 = "10744jp1i7z3jwpc42vrmdfpq1yblf3vy17yb04xdfhimkflw77p";
+    rev = "18738";
+    sha256 = "024iw4352h8b1kbbimqgid95h868swiw45wn91sjkpmwr612v6kd";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 7162fe8ac198e..b4f80d11380f3 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.109-rt65"; # updated by ./update-rt.sh
+  version = "5.10.115-rt67"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1p0k46isy2wzzms801lrnb59f1nb9mhywjj7fnkrwrj9nbn25yqq";
+    sha256 = "0w9gwizyqjgsj93dqqvlh6bqkmpzjajhj09319nqncc95yrigr7m";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0w7bs5kmwvbyfy5js218ys42s8i51m8v0mbkfhiynlpm3iph357q";
+      sha256 = "16igpdqq8nqzf98pkrs9v692d1r1fpnwrh3qxrkja0fgzswdwc0j";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index bb404fc59e982..7ee37c5b261a9 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.188-rt73"; # updated by ./update-rt.sh
+  version = "5.4.193-rt74"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -14,14 +14,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "1g7xf2jx1hx580f42yirfgv9v0f9f88wzxxx0wiwx7wcqbyqpg4z";
+    sha256 = "187jfk9hf52n5z9yv56vq1knp3kdcbyk5w5k98ziwcbdjm1x65hd";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "17qx5xrchgss7zxg9lg91mqh0v3irx355003g7rj12h8y5r16l58";
+      sha256 = "1gn4ii5pr0870ba481nqbd5rxk7ajrarv1p5mipfi42x07rpn7c2";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
index 8464b9ad25f82..14c4d00dccdcf 100644
--- a/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/xanmod-kernels.nix
@@ -2,15 +2,15 @@
 
 let
   stableVariant = {
-    version = "5.15.34";
+    version = "5.15.40";
     suffix = "xanmod1";
-    hash = "sha256-sfrcaFhrdvupygXvajGyl6ruuBu+vFsAKjLyINyV3pw=";
+    hash = "sha256-P9pRPfzBVQNhWp6ulDiBgV/ki2C0CTbIRV6KRhUD+vQ=";
   };
 
   edgeVariant = {
-    version = "5.17.2";
+    version = "5.17.8";
     suffix = "xanmod1";
-    hash = "sha256-DK6yFZewqmr/BXFW5tqKXtWb1OLfqokZRQLOQxvBg6Q=";
+    hash = "sha256-Q8YmBeocolr6Ds2inwV299Td6/zE8RTA1SWve5ZykAs=";
   };
 
   xanmodKernelFor = { version, suffix, hash }: buildLinux (args // rec {
@@ -69,7 +69,7 @@ let
 
     extraMeta = {
       branch = lib.versions.majorMinor version;
-      maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault ];
+      maintainers = with lib.maintainers; [ fortuneteller2k lovesegfault atemu ];
       description = "Built with custom settings and new features built to provide a stable, responsive and smooth desktop experience";
       broken = stdenv.isAarch64;
     };
diff --git a/pkgs/os-specific/linux/kmscube/default.nix b/pkgs/os-specific/linux/kmscube/default.nix
index 53b4cd60fb1c7..b9da379017001 100644
--- a/pkgs/os-specific/linux/kmscube/default.nix
+++ b/pkgs/os-specific/linux/kmscube/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchgit, autoreconfHook, libdrm, libX11, libGL, mesa, pkg-config }:
+{ lib, stdenv, fetchgit, fetchpatch, autoreconfHook, libdrm, libX11, libGL, mesa, pkg-config }:
 
 stdenv.mkDerivation {
   pname = "kmscube";
@@ -10,6 +10,15 @@ stdenv.mkDerivation {
     sha256 = "1q5b5yvyfj3127385mp1bfmcbnpnbdswdk8gspp7g4541xk4k933";
   };
 
+  patches = [
+    # Pull upstream patch for -fno-common toolchains.
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://gitlab.freedesktop.org/mesa/kmscube/-/commit/908ef39864442c0807954af5d3f88a3da1a6f8a5.patch";
+      sha256 = "1gxn3b50mvjlc25234839v5z29r8fd9di4176a3yx4gbsz8cc5vi";
+    })
+  ];
+
   nativeBuildInputs = [ autoreconfHook pkg-config ];
   buildInputs = [ libdrm libX11 libGL mesa ];
 
diff --git a/pkgs/os-specific/linux/latencytop/default.nix b/pkgs/os-specific/linux/latencytop/default.nix
index 56e412379f80f..a48abf85831fe 100644
--- a/pkgs/os-specific/linux/latencytop/default.nix
+++ b/pkgs/os-specific/linux/latencytop/default.nix
@@ -1,10 +1,16 @@
-{ lib, stdenv, fetchurl, ncurses, glib, pkg-config, gtk2 }:
+{ lib, stdenv, fetchurl, ncurses, glib, pkg-config, gtk2, util-linux }:
 
 stdenv.mkDerivation rec {
   pname = "latencytop";
   version = "0.5";
 
-  patchPhase = "sed -i s,/usr,$out, Makefile";
+  postPatch = ''
+    sed -i s,/usr,$out, Makefile
+
+    # Fix #171609
+    substituteInPlace fsync.c --replace /bin/mount ${util-linux}/bin/mount
+  '';
+
   preInstall = "mkdir -p $out/sbin";
 
   src = fetchurl {
diff --git a/pkgs/os-specific/linux/light/default.nix b/pkgs/os-specific/linux/light/default.nix
index 995381c53403c..6caa8e3945086 100644
--- a/pkgs/os-specific/linux/light/default.nix
+++ b/pkgs/os-specific/linux/light/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, coreutils }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, coreutils }:
 
 stdenv.mkDerivation rec {
   version = "1.2.2";
@@ -10,6 +10,16 @@ stdenv.mkDerivation rec {
     sha256 = "1a70zcf88ifsnwll486aicjnh48zisdf8f7vi34ihw61kdadsq9s";
   };
 
+  patches = [
+    # Pull upstream fix for -fno-common toolchains:
+    #  https://github.com/haikarainen/light/pull/135
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/haikarainen/light/commit/eae912ca7ff3356805e47739114861d2b6ae7ec0.patch";
+      sha256 = "15jp8hm5scl0myiy1jmvd6m52lhx5jscvi3rgb5siwakmnkgzx9j";
+    })
+  ];
+
   configureFlags = [ "--with-udev" ];
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/os-specific/linux/restool/default.nix b/pkgs/os-specific/linux/restool/default.nix
index 4f488c28323eb..83c7c93ffcd89 100644
--- a/pkgs/os-specific/linux/restool/default.nix
+++ b/pkgs/os-specific/linux/restool/default.nix
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
     "VERSION=${version}"
   ];
 
+  postPatch = ''
+    # -Werror makes this derivation fragile on compiler version upgrades, patch
+    # it out.
+    sed -i /-Werror/d Makefile
+  '';
+
   preFixup = ''
     # wrapProgram interacts badly with the ls-main tool, which relies on the
     # shell's $0 argument to figure out which operation to run (busybox-style
diff --git a/pkgs/os-specific/linux/rt-tests/default.nix b/pkgs/os-specific/linux/rt-tests/default.nix
new file mode 100644
index 0000000000000..278a370d47d67
--- /dev/null
+++ b/pkgs/os-specific/linux/rt-tests/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, lib
+, makeWrapper
+, fetchurl
+, numactl
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rt-tests";
+  version = "2.3";
+
+  src = fetchurl {
+    url = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git/snapshot/${pname}-${version}.tar.gz";
+    sha256 = "Q+rNdpRdsmW2gcsrfwg12EzpvO6qlEP/Mb/OWQMNmr8=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ numactl python3 ];
+
+  makeFlags = [ "prefix=$(out)" "DESTDIR=" "PYLIB=$(out)/${python3.sitePackages}" ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/determine_maximum_mpps.sh" --prefix PATH : $out/bin
+  '';
+
+  meta = with lib; {
+    homepage = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git";
+    description = "Suite of real-time tests - cyclictest, hwlatdetect, pip_stress, pi_stress, pmqtest, ptsematest, rt-migrate-test, sendme, signaltest, sigwaittest, svsematest";
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ poelzi ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index 9e914132ef22c..14d5e29c372a8 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -178,6 +178,13 @@ stdenv.mkDerivation {
     # need (AFAICT).
     # See https://github.com/systemd/systemd/pull/20479 for upstream discussion.
     ./0019-core-handle-lookup-paths-being-symlinks.patch
+
+    # fixes reproducability of dbus xml files
+    # Should no longer be necessary with v251.
+    (fetchpatch {
+      url = "https://github.com/systemd/systemd/pull/22174.patch";
+      sha256 = "sha256-RVhxUEUiISgRlIP/AhU+w1VHfDQw2W16cFl2TXXyxno=";
+    })
   ] ++ lib.optional stdenv.hostPlatform.isMusl (
     let
       oe-core = fetchzip {
@@ -641,12 +648,6 @@ stdenv.mkDerivation {
   '';
 
   postInstall = ''
-    # sysinit.target: Don't depend on
-    # systemd-tmpfiles-setup.service. This interferes with NixOps's
-    # send-keys feature (since sshd.service depends indirectly on
-    # sysinit.target).
-    mv $out/lib/systemd/system/sysinit.target.wants/systemd-tmpfiles-setup-dev.service $out/lib/systemd/system/multi-user.target.wants/
-
     mkdir -p $out/example/systemd
     mv $out/lib/{modules-load.d,binfmt.d,sysctl.d,tmpfiles.d} $out/example
     mv $out/lib/systemd/{system,user} $out/example/systemd
diff --git a/pkgs/os-specific/windows/default.nix b/pkgs/os-specific/windows/default.nix
index 15e3d7f89ab67..c34f97a17db25 100644
--- a/pkgs/os-specific/windows/default.nix
+++ b/pkgs/os-specific/windows/default.nix
@@ -37,6 +37,8 @@ lib.makeScope newScope (self: with self; {
     stdenv = crossThreadsStdenv;
   };
 
+  npiperelay = callPackage ./npiperelay { };
+
   pthreads = callPackage ./pthread-w32 { };
 
   wxMSW = callPackage ./wxMSW-2.8 { };
diff --git a/pkgs/os-specific/windows/npiperelay/default.nix b/pkgs/os-specific/windows/npiperelay/default.nix
new file mode 100644
index 0000000000000..edc83a27e551d
--- /dev/null
+++ b/pkgs/os-specific/windows/npiperelay/default.nix
@@ -0,0 +1,23 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "npiperelay";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "jstarks";
+    repo = "npiperelay";
+    rev = "v${version}";
+    sha256 = "sha256-cg4aZmpTysc8m1euxIO2XPv8OMnBk1DwhFcuIFHF/1o=";
+  };
+
+  vendorSha256 = null;
+
+  meta = {
+    description = "Access Windows named pipes from WSL";
+    homepage = "https://github.com/jstarks/npiperelay";
+    license = lib.licenses.mit;
+    maintainers = [ lib.maintainers.shlevy ];
+    platforms = lib.platforms.windows;
+  };
+}
diff --git a/pkgs/servers/bloat/default.nix b/pkgs/servers/bloat/default.nix
new file mode 100644
index 0000000000000..bea2f705449a5
--- /dev/null
+++ b/pkgs/servers/bloat/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildGoModule
+, fetchgit
+, unstableGitUpdater
+}:
+
+buildGoModule {
+  pname = "bloat";
+  version = "unstable-2022-03-31";
+
+  src = fetchgit {
+    url = "git://git.freesoftwareextremist.com/bloat";
+    rev = "a38d29a43592601d37d671db8748f0980071c0c4";
+    sha256 = "sha256-7Hxt0QlOYMBMvDS40fpfSItGkd5nYFQmmjJIevNyeF8=";
+  };
+
+  vendorSha256 = null;
+
+  postInstall = ''
+    mkdir -p $out/share/bloat
+    cp -r templates $out/share/bloat/templates
+    cp -r static $out/share/bloat/static
+    sed \
+      -e "s%=templates%=$out/share/bloat/templates%g" \
+      -e "s%=static%=$out/share/bloat/static%g"       \
+      < bloat.conf > $out/share/bloat/bloat.conf.example
+  '';
+
+  passthru.updateScript = unstableGitUpdater { };
+
+  meta = with lib; {
+    description = "A web client for Pleroma and Mastodon";
+    longDescription = ''
+      A lightweight web client for Pleroma and Mastodon.
+      Does not require JavaScript to display text, images, audio and videos.
+    '';
+    homepage = "https://bloat.freesoftwareextremist.com";
+    downloadPage = "https://git.freesoftwareextremist.com/bloat/";
+    license = licenses.cc0;
+    maintainers = with maintainers; [ fgaz ];
+  };
+}
diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix
index cf6427c860cf9..53644d62e65b5 100644
--- a/pkgs/servers/computing/storm/default.nix
+++ b/pkgs/servers/computing/storm/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-storm";
-  version = "2.3.0";
+  version = "2.4.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://apache/storm/${name}/${name}.tar.gz";
-    sha256 = "sha256-ScIlWyZjPG/ZY5nFIDOeRZ/NopoOfm0Mh3XO/P9sNjY=";
+    sha256 = "sha256-VFNcaISPBRMGR5l/P6/pGnK7lHClDW2AmXJ00gzxwMY=";
   };
 
   nativeBuildInputs = [ zip unzip ];
diff --git a/pkgs/servers/frr/default.nix b/pkgs/servers/frr/default.nix
index 302c5a472bd01..5e5cd767002d2 100644
--- a/pkgs/servers/frr/default.nix
+++ b/pkgs/servers/frr/default.nix
@@ -23,6 +23,7 @@
 , pcre2
 , python3
 , readline
+, rtrlib
 
 # tests
 , nettools
@@ -62,6 +63,7 @@ stdenv.mkDerivation rec {
     pcre2
     python3
     readline
+    rtrlib
   ] ++ lib.optionals stdenv.isLinux [
     libcap
   ];
@@ -78,6 +80,7 @@ stdenv.mkDerivation rec {
     "--localstatedir=/run/frr"
     "--sbindir=$(out)/libexec/frr"
     "--sysconfdir=/etc/frr"
+    "--enable-rpki"
   ];
 
   postPatch = ''
diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix
index ae198707ec59c..2240536021d24 100644
--- a/pkgs/servers/gemini/agate/default.nix
+++ b/pkgs/servers/gemini/agate/default.nix
@@ -1,25 +1,16 @@
-{ lib, stdenv, nixosTests, fetchFromGitHub, fetchpatch, rustPlatform, libiconv, Security }:
+{ lib, stdenv, nixosTests, fetchFromGitHub, rustPlatform, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "agate";
-  version = "3.2.3";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = "mbrubeck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nkWk/0TIAHcYQjxbg0HnT+4S4Cinl22WfqHb9U6u5eI=";
+    sha256 = "sha256-NyHs/9kRBGqmh44MSRzYb7CSvEB0RlmL9l5QpGEwDhY=";
   };
-  cargoSha256 = "sha256-aF86QpizJ+lMNmN9DQKA9o1QZWZObyQ3v3+HmT/s02g=";
-
-  patches = [
-    # https://github.com/mbrubeck/agate/pull/143
-    (fetchpatch {
-      name = "fix-port-collision.patch";
-      url = "https://github.com/mbrubeck/agate/commit/2f5d7878ec9d0dd51762c4c7680fc9f825d8ecd5.patch";
-      sha256 = "sha256-NEFmfb0y97O2W96YggD+MgcN7tlFEi9T4FNzLCND77s=";
-    })
-  ];
+  cargoSha256 = "sha256-V0MLXOLLmKnk4Iyhbu+EomsxOX6RLYHIsi/IwWiqmcg=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/servers/heisenbridge/default.nix b/pkgs/servers/heisenbridge/default.nix
index f217c9932344f..3d4ef94dda490 100644
--- a/pkgs/servers/heisenbridge/default.nix
+++ b/pkgs/servers/heisenbridge/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub, fetchpatch, python3 }:
 python3.pkgs.buildPythonApplication rec {
   pname = "heisenbridge";
-  version = "1.12.0";
+  version = "1.13.0";
 
   src = fetchFromGitHub {
     owner = "hifi";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-10y0sWpOLbjbGBpOjr1/tJrhcOsCwcm2sSO5kHfmJZA=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-3YCYLhJqZAWIwpwOd8J1+uYsxw0q6jQy35Vp+ttVKhI=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index bc9e73392964a..22ef7e00c9279 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2022.5.4";
+  version = "2022.5.5";
   components = {
     "abode" = ps: with ps; [
       abodepy
@@ -2440,7 +2440,7 @@
       paho-mqtt
     ];
     "snmp" = ps: with ps; [
-      pysnmplib
+      pysnmp
     ];
     "solaredge" = ps: with ps; [
       solaredge
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index abaf16079d815..ff5c69b04fb8e 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -179,7 +179,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.5.4";
+  hassVersion = "2022.5.5";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -197,7 +197,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-5juHG1bVeFYrjpAAlt3GoCRmBvyCSOdnSw1WuaNWF8w=";
+    hash = "sha256-uVB3Yg3f0fNkq2rav7hmbJ9IAMg0UIrdMshJVgOharA=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/icingaweb2/ipl.nix b/pkgs/servers/icingaweb2/ipl.nix
index e9075d7d043a4..9d21951a299f6 100644
--- a/pkgs/servers/icingaweb2/ipl.nix
+++ b/pkgs/servers/icingaweb2/ipl.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "icingaweb2-ipl";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "Icinga";
     repo = "icinga-php-library";
     rev = "v${version}";
-    sha256 = "sha256:05k0qcd5c5xb124dpp6lvfdh4dzf6bkd34v4sy7aj776p4hrlqx2";
+    sha256 = "sha256:0ndd4gd26rglbz85izfvqc4ghcfa7wpq6ghrhggbzg819phndg5a";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/invidious/lsquic.nix b/pkgs/servers/invidious/lsquic.nix
index 9c3bc68615cad..ca04c97c12800 100644
--- a/pkgs/servers/invidious/lsquic.nix
+++ b/pkgs/servers/invidious/lsquic.nix
@@ -1,11 +1,19 @@
-{ lib, boringssl, stdenv, fetchgit, fetchFromGitHub, cmake, zlib, perl, libevent, gcc10Stdenv, buildGoModule }:
+{ lib, boringssl, stdenv, fetchgit, fetchFromGitHub, fetchurl, cmake, zlib, perl, libevent }:
 let
   versions = builtins.fromJSON (builtins.readFile ./versions.json);
 
-  buildGoModuleGcc10 = buildGoModule.override { stdenv = gcc10Stdenv; };
+  fetchGitilesPatch = { name, url, sha256 }:
+    fetchurl {
+      url = "${url}%5E%21?format=TEXT";
+      inherit name sha256;
+      downloadToTemp = true;
+      postFetch = ''
+        base64 -d < $downloadedFile > $out
+      '';
+    };
 
   # lsquic requires a specific boringssl version (noted in its README)
-  boringssl' = (boringssl.overrideAttrs (old: {
+  boringssl' = boringssl.overrideAttrs ({ preBuild, ... }: {
     version = versions.boringssl.rev;
     src = fetchgit {
       url = "https://boringssl.googlesource.com/boringssl";
@@ -15,10 +23,43 @@ let
     patches = [
       # Use /etc/ssl/certs/ca-certificates.crt instead of /etc/ssl/cert.pem
       ./use-etc-ssl-certs.patch
+
+      # because lsquic requires that specific boringssl version and that
+      # version does not yet include fixes for gcc11 build errors, they
+      # must be backported
+      (fetchGitilesPatch {
+        name = "fix-mismatch-between-header-and-implementation-of-bn_sqr_comba8.patch";
+        url = "https://boringssl.googlesource.com/boringssl/+/139adff9b27eaf0bdaac664ec4c9a7db2fe3f920";
+        sha256 = "05sp602dvh50v46jkzmh4sf4wqnq5bwy553596g2rhxg75bailjj";
+      })
+      (fetchGitilesPatch {
+        name = "use-an-unsized-helper-for-truncated-SHA-512-variants.patch";
+        url = "https://boringssl.googlesource.com/boringssl/+/a24ab549e6ae246b391155d7bed3790ac0e07de2";
+        sha256 = "0483jkpg4g64v23ln2blb74xnmzdjcn3r7w4zk7nfg8j3q5f9lxm";
+      })
+/*
+      # the following patch is too complex, so we will modify the build flags
+      # of crypto/fipsmodule/CMakeFiles/fipsmodule.dir/bcm.c.o in preBuild
+      # and turn off -Werror=stringop-overflow
+      (fetchGitilesPatch {
+        name = "make-md32_common.h-single-included-and-use-an-unsized-helper-for-SHA-256.patch";
+        url = "https://boringssl.googlesource.com/boringssl/+/597ffef971dd980b7de5e97a0c9b7ca26eec94bc";
+        sha256 = "1y0bkkdf1ccd6crx326agp01q22clm4ai4p982y7r6dkmxmh52qr";
+      })
+*/
+      (fetchGitilesPatch {
+        name = "fix-array-parameter-warnings.patch";
+        url = "https://boringssl.googlesource.com/boringssl/+/92c6fbfc4c44dc8462d260d836020d2b793e7804";
+        sha256 = "0h4sl95i8b0dj0na4ngf50wg54raxyjxl1zzwdc810abglp10vnv";
+      })
     ];
-  })).override {
-    buildGoModule = buildGoModuleGcc10;
-  };
+
+    preBuild = ''
+      ${preBuild}
+      sed -e '/^build crypto\/fipsmodule\/CMakeFiles\/fipsmodule\.dir\/bcm\.c\.o:/,/^ *FLAGS =/ s/^ *FLAGS = -Werror/& -Wno-error=stringop-overflow/' \
+          -i build.ninja
+    '';
+  });
 in
 stdenv.mkDerivation rec {
   pname = "lsquic";
diff --git a/pkgs/servers/invidious/shards.nix b/pkgs/servers/invidious/shards.nix
index 582a4083e7db3..e5f297d902c0d 100644
--- a/pkgs/servers/invidious/shards.nix
+++ b/pkgs/servers/invidious/shards.nix
@@ -20,14 +20,14 @@
   exception_page = {
     owner = "crystal-loot";
     repo = "exception_page";
-    rev = "v0.2.0";
-    sha256 = "0nlgnh5iykbr1v2132342k2mz6s2laws6nkgqsqlwhhcr4gb4jcx";
+    rev = "v0.2.2";
+    sha256 = "1c8askb9b7621jjz5pjj6b8pdbhw3r1l3dym6swg1saspf5j3jwi";
   };
   kemal = {
     owner = "kemalcr";
     repo = "kemal";
-    rev = "v1.1.0";
-    sha256 = "07vlvddy4mba9li2bvskzqzywwq55cyvlgkz13q6dsl4zfgc96ca";
+    rev = "v1.1.2";
+    sha256 = "1149q4qw0zrws5asqqr4snrdi67xsmisdcq58zcrbgqgsxgly9d0";
   };
   kilt = {
     owner = "jeromegn";
diff --git a/pkgs/servers/invidious/update.sh b/pkgs/servers/invidious/update.sh
index 580d6136388a9..bf43fbb4b3653 100755
--- a/pkgs/servers/invidious/update.sh
+++ b/pkgs/servers/invidious/update.sh
@@ -41,7 +41,7 @@ git -C "$git_dir" fetch origin "$git_branch"
 # because there might still be commits coming
 # use the day of the latest commit we picked as version
 new_rev=$(git -C "$git_dir" log -n 1 --format='format:%H' --before="${today}T00:00:00Z" "origin/$git_branch")
-new_version="unstable-$(git -C "$git_dir" log -n 1 --format='format:%cs' "$new_rev")"
+new_version="unstable-$(TZ=UTC git -C "$git_dir" log -n 1 --date='format-local:%Y-%m-%d' --format='%cd' "$new_rev")"
 info "latest commit before $today: $new_rev"
 
 if [ "$new_rev" = "$old_rev" ]; then
diff --git a/pkgs/servers/invidious/versions.json b/pkgs/servers/invidious/versions.json
index cec068a09bf1f..40f8bb04182a8 100644
--- a/pkgs/servers/invidious/versions.json
+++ b/pkgs/servers/invidious/versions.json
@@ -4,15 +4,15 @@
     "sha256": "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A="
   },
   "invidious": {
-    "rev": "ed265cfdcd131b9df5398d899cc5d7036a5b7846",
-    "sha256": "0hhnq4s0slwbgxra7gxapl7dcz60a7k71cndi4crqcikmazzac3b",
-    "version": "unstable-2022-03-16"
+    "rev": "ca27e096f3249533cc7a9b123a8a8378f3312bb7",
+    "sha256": "0xjdzxnw6b5lk8pr82sjj60wfzxqkyamh0gpf2wxby52jvlbdcka",
+    "version": "unstable-2022-05-11"
   },
   "lsquic": {
     "sha256": "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=",
     "version": "2.18.1"
   },
   "videojs": {
-    "sha256": "0b4vxd29kpvy60yhqm376r1872gds17s6wljqw0zlr16j762k50r"
+    "sha256": "0m09pc9acpzhfwwvc9dayl60nn28skmmglgvmlp48dlkqgfbgc27"
   }
 }
diff --git a/pkgs/servers/mail/mailman/hyperkitty.nix b/pkgs/servers/mail/mailman/hyperkitty.nix
index d1e4581789e07..b84e78e323d11 100644
--- a/pkgs/servers/mail/mailman/hyperkitty.nix
+++ b/pkgs/servers/mail/mailman/hyperkitty.nix
@@ -1,5 +1,6 @@
 { lib
 , buildPythonPackage
+, fetchpatch
 , fetchPypi
 , pythonOlder
 
@@ -40,6 +41,15 @@ buildPythonPackage rec {
     sha256 = "sha256-gmkiK8pIHfubbbxNdm/D6L2o722FptxYgINYdIUOn4Y=";
   };
 
+  patches = [
+    # FIXME: backport Python 3.10 support fix, remove for next release
+    (fetchpatch {
+      url = "https://gitlab.com/mailman/hyperkitty/-/commit/551a44a76e46931fc5c1bcb341235d8f579820be.patch";
+      sha256 = "sha256-5XCrvyrDEqH3JryPMoOXSlVVDLQ+PdYBqwGYxkExdvk=";
+      includes = [ "hyperkitty/*" ];
+    })
+  ];
+
   postPatch = ''
     # isort is a development dependency
     sed -i '/isort/d' setup.py
diff --git a/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix b/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
index 505e9e4ebae90..c9aa674cbdc19 100644
--- a/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
+++ b/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "matrix-synapse-mjolnir-antispam";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "mjolnir";
-    rev = "v${version}";
-    sha256 = "sha256-zVb0lD5tYhX2a2MzNVQ8u7rMuQ8yGC/JlodbY4nsqNU=";
+    rev = "refs/tags/v${version}";
+    sha256 = "sha256-887azmXT5PGpcOqtWtKwdoyEtsXGm5DzpNRgEMlgSfM=";
   };
 
   sourceRoot = "./source/synapse_antispam";
diff --git a/pkgs/servers/monitoring/icinga2/default.nix b/pkgs/servers/monitoring/icinga2/default.nix
index a674aca2a37a7..643e505d794bf 100644
--- a/pkgs/servers/monitoring/icinga2/default.nix
+++ b/pkgs/servers/monitoring/icinga2/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "icinga2${nameSuffix}";
-  version = "2.13.2";
+  version = "2.13.3";
 
   src = fetchFromGitHub {
     owner = "icinga";
     repo = "icinga2";
     rev = "v${version}";
-    sha256 = "sha256:1ijvav2ymgq1i8jycrqbp2y4r54y0dkwjnwxc20bmcixxh877zdn";
+    sha256 = "sha256:1z8wzhlhl8vb7m8axvayfyqgf86lz67gaa02n3r17049vwswdgmb";
   };
 
   patches = [
diff --git a/pkgs/servers/monitoring/lcdproc/default.nix b/pkgs/servers/monitoring/lcdproc/default.nix
index bd0a7dc0dfbe5..949be34b80b53 100644
--- a/pkgs/servers/monitoring/lcdproc/default.nix
+++ b/pkgs/servers/monitoring/lcdproc/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 , autoreconfHook
 , makeWrapper
 , pkg-config
@@ -27,6 +28,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./hardcode_mtab.patch
+
+    # Pull upstream fix for -fno-common toolchains:
+    #   https://github.com/lcdproc/lcdproc/pull/148
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/lcdproc/lcdproc/commit/fda5302878692da933dc03cd011f8ddffefa07a4.patch";
+      sha256 = "0ld6p1r4rjsnjr63afw3lp5lx25jxjs07lsp9yc3q96r91r835cy";
+    })
   ];
 
   # we don't need to see the GPL every time we launch lcdd in the foreground
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 62cb43abefaf2..4b79103d7d503 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -55,6 +55,7 @@ buildGoModule rec {
 
     # Enable only select service discovery to shrink binaries.
     (
+      true  # prevent bash syntax error when all plugins are disabled
     ${lib.optionalString (enableAWS)
       "echo - github.com/prometheus/prometheus/discovery/aws"}
     ${lib.optionalString (enableAzure)
diff --git a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
index 8b39915193efd..ac8ebb8d29b66 100644
--- a/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nginx-exporter.nix
@@ -1,23 +1,19 @@
-{ lib, buildGoPackage, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "nginx_exporter";
-  version = "0.9.0";
-
-  goPackagePath = "github.com/nginxinc/nginx-prometheus-exporter";
-
-  ldflags = [
-    "-X main.version=${version}"
-  ];
+  version = "0.10.0";
 
   src = fetchFromGitHub {
-    rev = "v${version}";
     owner = "nginxinc";
     repo = "nginx-prometheus-exporter";
-    sha256 = "04y5vpj2kv2ygdzxy3crpnx4mhpkm1ns2995kxgvjlhnyck7a5rf";
+    rev = "v${version}";
+    sha256 = "sha256-k9sbMIn5N3EJ7ZlfmD9pRV6lfywnKyFvpxC/pGGgNTA=";
   };
 
-  doCheck = true;
+  vendorSha256 = "sha256-SaaHbn97cb/d8symyrBYLzK+5ukVLfGrFiRIz+tKPhw=";
+
+  ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) nginx; };
 
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index e71fb9db115ed..5b88481d1d292 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -54,6 +54,12 @@ in {
     version = "23.0.4";
     sha256 = "67191c2b8b41591ae42accfb32216313fde0e107201682cb39029f890712bc6a";
   };
+
+  nextcloud24 = generic {
+    version = "24.0.0";
+    sha256 = "176cb5620f20465fb4759bdf3caaebeb7acff39d6c8630351af9f8738c173780";
+  };
+
   # tip: get she sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
 }
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index dc65911a06652..6d7466afd8634 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.26.0.5715-8cf78dab3";
+  version = "1.26.1.5798-99a4a6ac9";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    hash = "sha256-Ou5DlQPk+zAt/wE5Nry4nzLaR1Id6tQdwl73qawig4M=";
+    hash = "sha256-Y2LW7NNdwD4t/R7dHOAEG2mxC4qFV6Z8VUh0APo8QNM=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    hash = "sha256-DQbRobiJwT7Xr4NzKS2iQOszOsd/bS/+kJ4p+QUVXfg=";
+    hash = "sha256-Chu4IULIvkmfMEV0LSg50i6usZJZI3UWOgCHQakbhaY=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/radicale/3.x.nix b/pkgs/servers/radicale/3.x.nix
index 7171b4550fd1a..a8f5a29db8d61 100644
--- a/pkgs/servers/radicale/3.x.nix
+++ b/pkgs/servers/radicale/3.x.nix
@@ -20,6 +20,7 @@ python3.pkgs.buildPythonApplication rec {
     passlib
     vobject
     python-dateutil
+    pytz # https://github.com/Kozea/Radicale/issues/816
   ] ++ passlib.extras-require.bcrypt;
 
   checkInputs = with python3.pkgs; [
diff --git a/pkgs/servers/web-apps/netbox/default.nix b/pkgs/servers/web-apps/netbox/default.nix
index 988076947bc21..ee868397ee79b 100644
--- a/pkgs/servers/web-apps/netbox/default.nix
+++ b/pkgs/servers/web-apps/netbox/default.nix
@@ -9,36 +9,7 @@
 let
   py = python3.override {
     packageOverrides = self: super: {
-      django = super.django_3;
-      jsonschema = super.jsonschema.overridePythonAttrs (old: rec {
-        version = "3.2.0";
-        src = self.fetchPypi {
-          pname = old.pname;
-          inherit version;
-          sha256 = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a";
-        };
-      });
-      lxml = super.lxml.overridePythonAttrs (old: rec {
-        version = "4.6.5";
-        src = self.fetchPypi {
-          pname = old.pname;
-          inherit version;
-          sha256 = "6e84edecc3a82f90d44ddee2ee2a2630d4994b8471816e226d2b771cda7ac4ca";
-        };
-      });
-      werkzeug = super.werkzeug.overridePythonAttrs (old: rec {
-        version = "2.0.3";
-        src = self.fetchPypi {
-          pname = "Werkzeug";
-          inherit version;
-          sha256 = "sha256-uGP4/wV8UiFktgZ8niiwQRYbS+W6TQ2s7qpQoWOCLTw=";
-        };
-      });
-      sentry-sdk = super.sentry-sdk.overridePythonAttrs (old: rec {
-        disabledTestPaths = old.disabledTestPaths ++ [
-          "tests/integrations/flask/test_flask.py"
-        ];
-      });
+      django = super.django_4;
     };
   };
 
@@ -64,7 +35,7 @@ py.pkgs.buildPythonApplication rec {
     ];
 
     propagatedBuildInputs = with py.pkgs; [
-      django_3
+      django_4
       django-cors-headers
       django-debug-toolbar
       django-filter
diff --git a/pkgs/servers/web-apps/searx/default.nix b/pkgs/servers/web-apps/searx/default.nix
index afcded3111606..5327b48d51e74 100644
--- a/pkgs/servers/web-apps/searx/default.nix
+++ b/pkgs/servers/web-apps/searx/default.nix
@@ -31,7 +31,7 @@ toPythonModule (buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    Babel
+    babel
     certifi
     python-dateutil
     flask
diff --git a/pkgs/servers/web-apps/wiki-js/default.nix b/pkgs/servers/web-apps/wiki-js/default.nix
index 496bf02bb03aa..6da2e3b3d036c 100644
--- a/pkgs/servers/web-apps/wiki-js/default.nix
+++ b/pkgs/servers/web-apps/wiki-js/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wiki-js";
-  version = "2.5.279";
+  version = "2.5.282";
 
   src = fetchurl {
     url = "https://github.com/Requarks/wiki/releases/download/v${version}/${pname}.tar.gz";
-    sha256 = "sha256-4QYNKvAEeRSJS9lO30bI/SnM9rLmuvRMR/LsGT77wvY=";
+    sha256 = "sha256-cXNO8ChZ2FGAmTmcQDqnZrJpFynmdoocqFy59VCy1RE=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/servers/zoneminder/default.nix b/pkgs/servers/zoneminder/default.nix
index b0828de006f75..a698c2e9f7bfa 100644
--- a/pkgs/servers/zoneminder/default.nix
+++ b/pkgs/servers/zoneminder/default.nix
@@ -78,13 +78,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "zoneminder";
-  version = "1.36.10";
+  version = "1.36.15";
 
   src = fetchFromGitHub {
     owner  = "ZoneMinder";
     repo   = "zoneminder";
     rev    = version;
-    sha256 = "sha256-MmBnbVDitKOctPe2dNe1sMNNs/qEYGVq3UMJxAkLlCc=";
+    sha256 = "1qlsg7gd9kpjdbq9d5yrjmc7g1pbscrg4sws7xrdln1z8509sv50";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/shells/any-nix-shell/default.nix b/pkgs/shells/any-nix-shell/default.nix
index 3bd41a53844c4..095347a3ca995 100644
--- a/pkgs/shells/any-nix-shell/default.nix
+++ b/pkgs/shells/any-nix-shell/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper }:
+{ lib, stdenv, fetchFromGitHub, makeWrapper, bash }:
 
 stdenv.mkDerivation rec {
   pname = "any-nix-shell";
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
     sha256 = "0q27rhjhh7k0qgcdcfm8ly5za6wm4rckh633d0sjz87faffkp90k";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ bash ];
   installPhase = ''
     mkdir -p $out/bin
     cp -r bin $out
diff --git a/pkgs/shells/bash/5.1.nix b/pkgs/shells/bash/5.1.nix
index a30c9a4a5072b..7cd7fb6905cb2 100644
--- a/pkgs/shells/bash/5.1.nix
+++ b/pkgs/shells/bash/5.1.nix
@@ -71,6 +71,7 @@ stdenv.mkDerivation rec {
     "--disable-nls"
   ];
 
+  strictDeps = true;
   # Note: Bison is needed because the patches above modify parse.y.
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ bison ]
@@ -98,7 +99,7 @@ stdenv.mkDerivation rec {
     if interactive
     then ''
       substituteInPlace "$out/bin/bashbug" \
-        --replace '${stdenv.shell}' "$out/bin/bash"
+        --replace '#!/bin/sh' "#!$out/bin/bash"
     ''
     # most space is taken by locale data
     else ''
diff --git a/pkgs/shells/bash/bash-completion/default.nix b/pkgs/shells/bash/bash-completion/default.nix
index 6571d572a429b..75ded461ea63a 100644
--- a/pkgs/shells/bash/bash-completion/default.nix
+++ b/pkgs/shells/bash/bash-completion/default.nix
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
     sha256 = "1b0iz7da1sgifx1a5wdyx1kxbzys53v0kyk8nhxfipllmm5qka3k";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ autoreconfHook ];
 
   # tests are super flaky unfortunately, and regularily break.
diff --git a/pkgs/shells/bash/nix-bash-completions/default.nix b/pkgs/shells/bash/nix-bash-completions/default.nix
index 089e5dfc702ff..c4282ab0f646b 100644
--- a/pkgs/shells/bash/nix-bash-completions/default.nix
+++ b/pkgs/shells/bash/nix-bash-completions/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1n5zs6xcnv4bv1hdaypmz7fv4j7dsr4a0ifah99iyj4p5j85i1bc";
   };
 
+  strictDeps = true;
   # To enable lazy loading via. bash-completion we need a symlink to the script
   # from every command name.
   installPhase = ''
diff --git a/pkgs/shells/bash/undistract-me/default.nix b/pkgs/shells/bash/undistract-me/default.nix
index 9ed5544713d7e..b15903e779ea9 100644
--- a/pkgs/shells/bash/undistract-me/default.nix
+++ b/pkgs/shells/bash/undistract-me/default.nix
@@ -43,6 +43,8 @@ stdenvNoCC.mkDerivation rec {
     })
   ];
 
+  strictDeps = true;
+
   # Patch in dependencies. Can't use makeWrapper because the bash
   # functions will be sourced and invoked in a different environment
   # for each command invocation.
diff --git a/pkgs/shells/bash/yarn-completion/default.nix b/pkgs/shells/bash/yarn-completion/default.nix
index fabfc0a1ce23d..48d1f42b5cedb 100644
--- a/pkgs/shells/bash/yarn-completion/default.nix
+++ b/pkgs/shells/bash/yarn-completion/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "0xflbrbwskjqv3knvc8jqygpvfxh5ak66q7w22d1ng8gwrfqzcng";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ installShellFiles ];
 
   installPhase = ''
diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix
index a1f789dc3a330..f33fd5520f86f 100644
--- a/pkgs/shells/dash/default.nix
+++ b/pkgs/shells/dash/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  strictDeps = true;
   # configure.ac patched; remove on next release
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/shells/dgsh/default.nix b/pkgs/shells/dgsh/default.nix
index 7a6ae67c3ae89..2c98938b46d75 100644
--- a/pkgs/shells/dgsh/default.nix
+++ b/pkgs/shells/dgsh/default.nix
@@ -41,5 +41,8 @@ stdenv.mkDerivation {
     license = with licenses; asl20;
     maintainers = with maintainers; [ vrthra ];
     platforms = with platforms; all;
+    # lib/freadseek.c:68:3: error: #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your >
+    # 68 |  #error "Please port gnulib freadseek.c to your platform! Look at the definition of getc, getc_unlocked on your system, then report >
+    broken = true; # marked 2022-05-06
   };
 }
diff --git a/pkgs/shells/elvish/default.nix b/pkgs/shells/elvish/default.nix
index fc61efc3006ca..f0c5611e3b3ce 100644
--- a/pkgs/shells/elvish/default.nix
+++ b/pkgs/shells/elvish/default.nix
@@ -17,6 +17,7 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-iuklI7XEQUgZ2ObYRROxyiccZ1JkajK5OJA7hIcpRZQ=";
 
+  strictDeps = true;
   doCheck = false;
 
   doInstallCheck = true;
diff --git a/pkgs/shells/es/default.nix b/pkgs/shells/es/default.nix
index 8cc49bd39ebd4..308a684e6f685 100644
--- a/pkgs/shells/es/default.nix
+++ b/pkgs/shells/es/default.nix
@@ -17,7 +17,9 @@ stdenv.mkDerivation rec {
     sourceRoot=.
   '';
 
-  buildInputs = [ readline bison ];
+  strictDeps = true;
+  nativeBuildInputs = [ bison ];
+  buildInputs = [ readline ];
 
   configureFlags = [ "--with-readline" ];
 
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 4c45fd3a75f45..e9555c7f21f8e 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -186,6 +186,7 @@ let
       rm tests/pexpects/exit_handlers.py
     '';
 
+    strictDeps = true;
     nativeBuildInputs = [
       cmake
       gettext
diff --git a/pkgs/shells/fish/oh-my-fish/default.nix b/pkgs/shells/fish/oh-my-fish/default.nix
index 3ec4e3b12d78e..252e9350eaf1b 100644
--- a/pkgs/shells/fish/oh-my-fish/default.nix
+++ b/pkgs/shells/fish/oh-my-fish/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchFromGitHub
 , fish
+, bash
 , runtimeShell
 , writeShellScript
 }:
@@ -17,8 +18,10 @@ stdenv.mkDerivation rec {
     hash = "sha256-lwMo4+PcYR9kYJPWK+ALiMfBdxFSgB2vjtSn8QrmmEA=";
   };
 
+  strictDeps = true;
   buildInputs = [
     fish
+    bash
   ];
 
   dontConfigure = true;
diff --git a/pkgs/shells/jush/default.nix b/pkgs/shells/jush/default.nix
index 12cd6c935c050..a09024608bb63 100644
--- a/pkgs/shells/jush/default.nix
+++ b/pkgs/shells/jush/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1azvghrh31gawd798a254ml4id642qvbva64zzg30pjszh1087n8";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [ editline ];
diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix
index 8575f6439b9ca..4f06225e94f6d 100644
--- a/pkgs/shells/liquidprompt/default.nix
+++ b/pkgs/shells/liquidprompt/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ntCfXJUOQqL63HWoG+WJr9a+qB16AaL5zf58039t7GU=";
   };
 
+  strictDeps = true;
   installPhase = ''
     install -D -m 0444 liquidprompt $out/bin/liquidprompt
     install -D -m 0444 liquidpromptrc-dist $out/share/doc/liquidprompt/liquidpromptrc-dist
diff --git a/pkgs/shells/loksh/default.nix b/pkgs/shells/loksh/default.nix
index b9f7d5ef7e7f3..5b304e45c5b50 100644
--- a/pkgs/shells/loksh/default.nix
+++ b/pkgs/shells/loksh/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-q5RiY9/xEFCk+oHlxgNwDOB+TNjRWHKzU2kQH2LjCWY=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [
     meson
     ninja
@@ -47,4 +48,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/shells/mksh/default.nix b/pkgs/shells/mksh/default.nix
index 8bdabd4d8c17b..3e4791e2b8a39 100644
--- a/pkgs/shells/mksh/default.nix
+++ b/pkgs/shells/mksh/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
     hash = "sha256-d64WZaM38cSMYda5Yds+UhGbOOWIhNHIloSvMfh7xQY=";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [
     installShellFiles
   ];
diff --git a/pkgs/shells/mrsh/default.nix b/pkgs/shells/mrsh/default.nix
index be87b97ebd723..2b9bc4e3e22ef 100644
--- a/pkgs/shells/mrsh/default.nix
+++ b/pkgs/shells/mrsh/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vvdwzw3fq74lwgmy6xxkk01sd68fzhsw84c750lm1dma22xhjci";
   };
 
+  strictDeps = true;
   nativeBuildInputs = [ meson ninja pkg-config ];
   buildInputs = [ readline ];
 
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 2b82d4882789c..f99c285a4f0ff 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
   '';
 
+  strictDeps = true;
   buildInputs = lib.optional withReadline readline;
   configureFlags = lib.optional withReadline "--with-readline";
 
diff --git a/pkgs/shells/oksh/default.nix b/pkgs/shells/oksh/default.nix
index 418a453d9e9a7..c56bd179c74fb 100644
--- a/pkgs/shells/oksh/default.nix
+++ b/pkgs/shells/oksh/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-076nD0aPps6n5qkR3LQJ6Kn2g3mkov+/M0qSvxNLZ6o=";
   };
 
+  strictDeps = true;
+
   postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
     substituteInPlace configure --replace "./conftest" "echo"
   '';
diff --git a/pkgs/shells/pash/default.nix b/pkgs/shells/pash/default.nix
index 431091bf8d1cc..c9150fda18ae1 100644
--- a/pkgs/shells/pash/default.nix
+++ b/pkgs/shells/pash/default.nix
@@ -11,6 +11,7 @@ buildDotnetPackage {
     sha256 = "0c4wa8qi1zs01p9ck171jkw0n1rsymsrhpsb42gl7warwhpmv59f";
   };
 
+  strictDeps = true;
   preConfigure = "rm -rvf $src/Source/PashConsole/bin/*";
 
   outputFiles = [ "Source/PashConsole/bin/Release/*" ];
diff --git a/pkgs/shells/powershell/default.nix b/pkgs/shells/powershell/default.nix
index 9f3dcbe1812f4..445dca9f4a47a 100644
--- a/pkgs/shells/powershell/default.nix
+++ b/pkgs/shells/powershell/default.nix
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
     stripRoot = false;
   };
 
+  strictDeps = true;
   buildInputs = [ less ] ++ libraries;
   nativeBuildInputs = [ makeWrapper ]
     ++ lib.optional stdenv.isLinux autoPatchelfHook;
diff --git a/pkgs/shells/rc/default.nix b/pkgs/shells/rc/default.nix
index 804919665ec24..5783607751ad5 100644
--- a/pkgs/shells/rc/default.nix
+++ b/pkgs/shells/rc/default.nix
@@ -13,10 +13,11 @@ stdenv.mkDerivation rec {
     sha256 = "0744ars6y9zzsjr9xazms91qy6bi7msg2gg87526waziahfh4s4z";
   };
 
-  nativeBuildInputs = [ autoreconfHook ];
+  strictDeps = true;
+  nativeBuildInputs = [ autoreconfHook byacc ];
 
   # acinclude.m4 wants headers for tgetent().
-  buildInputs = [ byacc ncurses ]
+  buildInputs = [ ncurses ]
     ++ lib.optionals readlineSupport [ readline ];
 
   configureFlags = [
diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix
index d840c3b77a5ca..c9560c86f24cc 100644
--- a/pkgs/shells/rush/default.nix
+++ b/pkgs/shells/rush/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, lib, stdenv }:
+{ fetchurl, lib, stdenv, bash, perl }:
 
 stdenv.mkDerivation rec {
   pname = "rush";
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-ld5TdpF7siprQCbhE4oxYhH40x3QZ5NCQlD3zRaNmM0=";
   };
 
+  strictDeps = true;
+  buildInputs = [ bash ];
+
+  postInstall = ''
+    substituteInPlace $out/bin/rush-po \
+      --replace "exec perl" "exec ${lib.getExe perl}"
+  '';
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/shells/scponly/default.nix b/pkgs/shells/scponly/default.nix
index c0c39d8e31643..f15f04cfe2272 100644
--- a/pkgs/shells/scponly/default.nix
+++ b/pkgs/shells/scponly/default.nix
@@ -13,14 +13,15 @@ stdenv.mkDerivation {
 
   patches = [ ./scponly-fix-make.patch ];
 
-  buildInputs = [ openssh ];
-
-  # Add path to sftp-server so configure finds it
-  preConfigure = "export PATH=$PATH:${openssh}/libexec";
+  strictDeps = true;
 
   # chroot doesn't seem to work, so not enabling
   # rsync could also be optionally enabled
-  configureFlags = [ "--enable-winscp-compat" ];
+  configureFlags = [
+    "--enable-winscp-compat"
+    "scponly_PROG_SFTP_SERVER=${lib.getBin openssh}/libexec/sftp-server"
+    "scponly_PROG_SCP=${lib.getBin openssh}/bin/scp"
+  ];
 
   postInstall = lib.optionalString (debugLevel > 0) ''
     mkdir -p $out/etc/scponly && echo ${
diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix
index 4357ca605b17e..4fac6eb13d640 100644
--- a/pkgs/shells/tcsh/default.nix
+++ b/pkgs/shells/tcsh/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
     hash = "sha256-YL4sUEvY8fpuQksZVkldfnztUqKslNtf0n9La/yPdPA=";
   };
 
+  strictDeps = true;
   buildInputs = [
     ncurses
   ];
diff --git a/pkgs/shells/yash/default.nix b/pkgs/shells/yash/default.nix
index 44faf5c4e0277..01340df5e9a1a 100644
--- a/pkgs/shells/yash/default.nix
+++ b/pkgs/shells/yash/default.nix
@@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256:1jdmj4cyzwxxyyqf20y1zi578h7md860ryffp02qi143zpppn4sm";
   };
 
+  strictDeps = true;
   buildInputs = [ gettext ncurses ];
 
   meta = with lib; {
diff --git a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
index 91d1bd3022b28..5f9573b71aa72 100644
--- a/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
+++ b/pkgs/shells/zsh/agkozak-zsh-prompt/default.nix
@@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec {
     sha256 = "sha256-TOfAWxw1uIV0hKV9o4EJjOlp+jmGWCONDex86ipegOY=";
   };
 
+  strictDeps = true;
   dontConfigure = true;
   dontBuild = true;
 
diff --git a/pkgs/shells/zsh/antigen/default.nix b/pkgs/shells/zsh/antigen/default.nix
index 9a69f90dca34b..ca5fbee6e3687 100644
--- a/pkgs/shells/zsh/antigen/default.nix
+++ b/pkgs/shells/zsh/antigen/default.nix
@@ -9,6 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1bmp3qf14509swpxin4j9f98n05pdilzapjm0jdzbv0dy3hn20ix";
   };
 
+  strictDeps = true;
   dontUnpack = true;
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index 5a2c0d050ce06..f09a0672f19a6 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -30,7 +30,8 @@ stdenv.mkDerivation {
     ./tz_completion.patch
   ];
 
-  nativeBuildInputs = [ autoreconfHook perl groff texinfo ]
+  strictDeps = true;
+  nativeBuildInputs = [ autoreconfHook perl groff texinfo pcre]
                       ++ lib.optionals stdenv.isLinux [ util-linux yodl ];
 
   buildInputs = [ ncurses pcre ];
diff --git a/pkgs/shells/zsh/fzf-zsh/default.nix b/pkgs/shells/zsh/fzf-zsh/default.nix
index ac5cab94d4cb6..aa5af013e43e7 100644
--- a/pkgs/shells/zsh/fzf-zsh/default.nix
+++ b/pkgs/shells/zsh/fzf-zsh/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1irjmxhcg1fm4g8p3psjqk7sz5qhj5kw73pyhv91njvpdhn9l26z";
   };
 
+  strictDeps = true;
   postPatch = ''
     substituteInPlace fzf-zsh.plugin.zsh \
       --replace \
diff --git a/pkgs/shells/zsh/gradle-completion/default.nix b/pkgs/shells/zsh/gradle-completion/default.nix
index bf5969d1300a5..fa40db3603b90 100644
--- a/pkgs/shells/zsh/gradle-completion/default.nix
+++ b/pkgs/shells/zsh/gradle-completion/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "15b0692i3h8h7b95465b2aw9qf5qjmjag5n62347l8yl7zbhv3l2";
   };
 
+  strictDeps = true;
+
   # we just move two files into $out,
   # this shouldn't bother Hydra.
   preferLocalBuild = true;
diff --git a/pkgs/shells/zsh/grml-zsh-config/default.nix b/pkgs/shells/zsh/grml-zsh-config/default.nix
index 538fbc0a52236..feb55d9ccdef2 100644
--- a/pkgs/shells/zsh/grml-zsh-config/default.nix
+++ b/pkgs/shells/zsh/grml-zsh-config/default.nix
@@ -14,7 +14,9 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-GEuBYN6HVAjiAbusVuEA7zBG9fIVZHLV628Jt6Cv5cM=";
   };
 
-  buildInputs = [ zsh coreutils txt2tags procps ]
+  strictDeps = true;
+  nativeBuildInputs = [ txt2tags ];
+  buildInputs = [ zsh coreutils procps ]
     ++ optional stdenv.isLinux inetutils;
 
   buildPhase = ''
diff --git a/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
index e8d00d73d1aa8..eae5f77904b5e 100644
--- a/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
+++ b/pkgs/shells/zsh/lambda-mod-zsh-theme/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation {
     sha256 = "0fvxnvgbcvwii7ghvpj5l43frllq71wwjvfg7cqfmic727z001dh";
   };
 
+  strictDeps = true;
   installPhase = ''
     install -Dm0644 lambda-mod.zsh-theme $out/share/zsh/themes/lambda-mod.zsh-theme
   '';
diff --git a/pkgs/shells/zsh/nix-zsh-completions/default.nix b/pkgs/shells/zsh/nix-zsh-completions/default.nix
index 472cc47459cf6..dab73419ab55b 100644
--- a/pkgs/shells/zsh/nix-zsh-completions/default.nix
+++ b/pkgs/shells/zsh/nix-zsh-completions/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1n9whlys95k4wc57cnz3n07p7zpkv796qkmn68a50ygkx6h3afqf";
   };
 
+  strictDeps = true;
   installPhase = ''
     mkdir -p $out/share/zsh/{site-functions,plugins/nix}
     cp _* $out/share/zsh/site-functions
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 447dc5da78a13..84c3a1abf28d9 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -2,7 +2,7 @@
 #
 #   https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=oh-my-zsh-git
 { lib, stdenv, fetchFromGitHub, nixosTests, writeScript, common-updater-scripts
-, git, nix, nixfmt, jq, coreutils, gnused, curl, cacert }:
+, git, nix, nixfmt, jq, coreutils, gnused, curl, cacert, bash }:
 
 stdenv.mkDerivation rec {
   version = "2022-04-24";
@@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
     sha256 = "yxuvVDjNCH7r/g6ZoF8kEzwirBB0s+CRQizBwRR4Sp4=";
   };
 
+  strictDeps = true;
+  buildInputs = [ bash ];
+
   installPhase = ''
     runHook preInstall
 
diff --git a/pkgs/shells/zsh/pure-prompt/default.nix b/pkgs/shells/zsh/pure-prompt/default.nix
index 09be79d6fbcc2..994f223b58da5 100644
--- a/pkgs/shells/zsh/pure-prompt/default.nix
+++ b/pkgs/shells/zsh/pure-prompt/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-iuLi0o++e0PqK81AKWfIbCV0CTIxq2Oki6U2oEYsr68=";
   };
 
+  strictDeps = true;
   installPhase = ''
     OUTDIR="$out/share/zsh/site-functions"
     mkdir -p "$OUTDIR"
diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix
index 5bdcb21f8ddca..7dfbb14eec65a 100644
--- a/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec {
     sha256 = "sha256-4G1+K6ENLwChtivR7Ura0vl6Ph9Wae3SOXCW1pNbgHI=";
   };
 
+  strictDeps = true;
   dontBuild = true;
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zinit/default.nix b/pkgs/shells/zsh/zinit/default.nix
index 9946d7d0c3a5c..ca8b7ea2e46ad 100644
--- a/pkgs/shells/zsh/zinit/default.nix
+++ b/pkgs/shells/zsh/zinit/default.nix
@@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec {
   };
   # adapted from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=zsh-zplugin-git
   dontBuild = true;
+  strictDeps = true;
   nativeBuildInputs = [ installShellFiles ];
   installPhase = ''
     outdir="$out/share/$pname"
diff --git a/pkgs/shells/zsh/zplug/default.nix b/pkgs/shells/zsh/zplug/default.nix
index 0660bbe7e7b13..c6c80ba6a1340 100644
--- a/pkgs/shells/zsh/zplug/default.nix
+++ b/pkgs/shells/zsh/zplug/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0hci1pbs3k5icwfyfw5pzcgigbh9vavprxxvakg1xm19n8zb61b3";
   };
 
+  strictDeps = true;
   dontConfigure = true;
   dontBuild = true;
   dontPatch = true;
diff --git a/pkgs/shells/zsh/zsh-autocomplete/default.nix b/pkgs/shells/zsh/zsh-autocomplete/default.nix
index 14ea0ec8f63c6..a5683c43227ae 100644
--- a/pkgs/shells/zsh/zsh-autocomplete/default.nix
+++ b/pkgs/shells/zsh/zsh-autocomplete/default.nix
@@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec {
     sha256 = "sha256-+UziTYsjgpiumSulrLojuqHtDrgvuG91+XNiaMD7wIs=";
   };
 
+  strictDeps = true;
   installPhase = ''
     install -D zsh-autocomplete.plugin.zsh $out/share/zsh-autocomplete/zsh-autocomplete.plugin.zsh
     cp -R scripts $out/share/zsh-autocomplete/scripts
diff --git a/pkgs/shells/zsh/zsh-autopair/default.nix b/pkgs/shells/zsh/zsh-autopair/default.nix
index 0cc1535e53ae2..73b70c00405ae 100644
--- a/pkgs/shells/zsh/zsh-autopair/default.nix
+++ b/pkgs/shells/zsh/zsh-autopair/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1h0vm2dgrmb8i2pvsgis3lshc5b0ad846836m62y8h3rdb3zmpy1";
   };
 
+  strictDeps = true;
+
   installPhase = ''
     install -D autopair.zsh $out/share/zsh/${pname}/autopair.zsh
   '';
diff --git a/pkgs/shells/zsh/zsh-autosuggestions/default.nix b/pkgs/shells/zsh/zsh-autosuggestions/default.nix
index e261cdedc74bc..b1df50a9c6813 100644
--- a/pkgs/shells/zsh/zsh-autosuggestions/default.nix
+++ b/pkgs/shells/zsh/zsh-autosuggestions/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1g3pij5qn2j7v7jjac2a63lxd97mcsgw6xq6k5p7835q9fjiid98";
   };
 
+  strictDeps = true;
   buildInputs = [ zsh ];
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-bd/default.nix b/pkgs/shells/zsh/zsh-bd/default.nix
index f2c2dc90fb4e3..ebfa55ecd2292 100644
--- a/pkgs/shells/zsh/zsh-bd/default.nix
+++ b/pkgs/shells/zsh/zsh-bd/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "020f8nq86g96cps64hwrskppbh2dapfw2m9np1qbs5pgh16z4fcb";
   };
 
+  strictDeps = true;
   dontBuild = true;
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-better-npm-completion/default.nix b/pkgs/shells/zsh/zsh-better-npm-completion/default.nix
index 372d49eaeb7e1..d9a813bbbfdd6 100644
--- a/pkgs/shells/zsh/zsh-better-npm-completion/default.nix
+++ b/pkgs/shells/zsh/zsh-better-npm-completion/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "16z7k5n1rcl9i61lrm7i5dsqsmhvdp1y4y5ii6hv2xpp470addgy";
   };
 
+  strictDeps = true;
   installPhase = ''
     install -Dm 0644 zsh-better-npm-completion.plugin.zsh $out/share/zsh-better-npm-completion
   '';
diff --git a/pkgs/shells/zsh/zsh-clipboard/default.nix b/pkgs/shells/zsh/zsh-clipboard/default.nix
index 114e0bfd7dc58..eb395d7447284 100644
--- a/pkgs/shells/zsh/zsh-clipboard/default.nix
+++ b/pkgs/shells/zsh/zsh-clipboard/default.nix
@@ -6,6 +6,7 @@ stdenv.mkDerivation rec {
 
   src = ./.;
 
+  strictDeps = true;
   dontBuild = true;
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-command-time/default.nix b/pkgs/shells/zsh/zsh-command-time/default.nix
index b92ced6be71c5..c10b67c2b3de4 100644
--- a/pkgs/shells/zsh/zsh-command-time/default.nix
+++ b/pkgs/shells/zsh/zsh-command-time/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation {
     sha256 = "1bvyjgz6bhgg1nwr56r50p6fblgah6yiql55pgm5abnn2h876fjq";
   };
 
+  strictDeps = true;
   dontUnpack = true;
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-completions/default.nix b/pkgs/shells/zsh/zsh-completions/default.nix
index 249826a2a25fb..937114e982e60 100644
--- a/pkgs/shells/zsh/zsh-completions/default.nix
+++ b/pkgs/shells/zsh/zsh-completions/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vs14n29wvkai84fvz3dz2kqznwsq2i5fzbwpv8nsfk1126ql13i";
   };
 
+  strictDeps = true;
   installPhase= ''
     install -D --target-directory=$out/share/zsh/site-functions src/*
   '';
diff --git a/pkgs/shells/zsh/zsh-deer/default.nix b/pkgs/shells/zsh/zsh-deer/default.nix
index ab544d7c3147a..0d3a6bc9ee61a 100644
--- a/pkgs/shells/zsh/zsh-deer/default.nix
+++ b/pkgs/shells/zsh/zsh-deer/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1xnbnbi0zk2xsyn8dqsmyxqlfnl36pb1wwibnlp0dxixw6sfymyl";
   };
 
+  strictDeps = true;
+
   prePatch = ''
     substituteInPlace deer \
       --replace " perl " " ${perl}/bin/perl "
diff --git a/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
index 5b77978c02214..68f09828b4562 100644
--- a/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
+++ b/pkgs/shells/zsh/zsh-fast-syntax-highlighting/default.nix
@@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec {
     sha256 = "0h7f27gz586xxw7cc0wyiv3bx0x3qih2wwh05ad85bh2h834ar8d";
   };
 
+  strictDeps = true;
   dontConfigure = true;
   dontBuild = true;
 
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index be12ec147d5db..5ce66fd813317 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -13,6 +13,7 @@ in stdenv.mkDerivation rec {
     sha256 = "sha256-ixUnuNtxxmiigeVjzuV5uG6rIBPY/1vdBZF2/Qv0Trs=";
   };
 
+  strictDeps = true;
   buildInputs = [ ncurses ];
 
   postConfigure = ''
diff --git a/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix b/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix
index 09d2136ea26cb..30d26c9676621 100644
--- a/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix
+++ b/pkgs/shells/zsh/zsh-history-search-multi-word/default.nix
@@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec {
     sha256 = "11r2mmy6bg3b6pf6qc0ml3idh333cj8yz754hrvd1sc4ipfkkqh7";
   };
 
+  strictDeps = true;
   dontConfigure = true;
   dontBuild = true;
 
diff --git a/pkgs/shells/zsh/zsh-history-substring-search/default.nix b/pkgs/shells/zsh/zsh-history-substring-search/default.nix
index 9890993eed648..63e5fe8281e3d 100644
--- a/pkgs/shells/zsh/zsh-history-substring-search/default.nix
+++ b/pkgs/shells/zsh/zsh-history-substring-search/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0y8va5kc2ram38hbk2cibkk64ffrabfv1sh4xm7pjspsba9n5p1y";
   };
 
+  strictDeps = true;
   installPhase = ''
     install -D zsh-history-substring-search.zsh \
       "$out/share/zsh-history-substring-search/zsh-history-substring-search.zsh"
diff --git a/pkgs/shells/zsh/zsh-nix-shell/default.nix b/pkgs/shells/zsh/zsh-nix-shell/default.nix
index 8b463eda573e2..e46a5cf727ceb 100644
--- a/pkgs/shells/zsh/zsh-nix-shell/default.nix
+++ b/pkgs/shells/zsh/zsh-nix-shell/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkgs }:
+{ lib, stdenv, fetchFromGitHub, bash }:
 
 # To make use of this derivation, use
 # `programs.zsh.interactiveShellInit = "source ${pkgs.zsh-nix-shell}/share/zsh-nix-shell/nix-shell.plugin.zsh";`
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-719lVo6p55G1tt3+6nMhZ904nyvlq0Q5exb0il36/Aw=";
   };
 
+  strictDeps = true;
+  buildInputs = [ bash ];
   installPhase = ''
     install -D nix-shell.plugin.zsh --target-directory=$out/share/zsh-nix-shell
     install -D scripts/* --target-directory=$out/share/zsh-nix-shell/scripts
diff --git a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
index 19d3e70c0a3aa..cdda7d81f41da 100644
--- a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, substituteAll, pkgs }:
+{ lib, stdenv, fetchFromGitHub, substituteAll, pkgs, bash }:
 
 # To make use of this derivation, use
 # `programs.zsh.promptInit = "source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme";`
@@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
     sha256 = "0fkfh8j7rd8mkpgz6nsx4v7665d375266shl1aasdad8blgqmf0c";
   };
 
+  strictDeps = true;
+  buildInputs = [ bash ];
+
   patches = [
     (substituteAll {
       src = ./gitstatusd.patch;
diff --git a/pkgs/shells/zsh/zsh-powerlevel9k/default.nix b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
index b681dc2d3a3aa..27e3a648e2b3e 100644
--- a/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel9k/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation {
     sha256 = "0v1dqg9hvycdkcvklg2njff97xwr8rah0nyldv4xm39r77f4yfvq";
   };
 
+  strictDeps = true;
   installPhase= ''
     install -D powerlevel9k.zsh-theme --target-directory=$out/share/zsh-powerlevel9k
     install -D functions/* --target-directory=$out/share/zsh-powerlevel9k/functions
diff --git a/pkgs/shells/zsh/zsh-prezto/default.nix b/pkgs/shells/zsh/zsh-prezto/default.nix
index e4bbd7a8b64a8..6201e42c0c023 100644
--- a/pkgs/shells/zsh/zsh-prezto/default.nix
+++ b/pkgs/shells/zsh/zsh-prezto/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, unstableGitUpdater }:
+{ lib, stdenv, fetchFromGitHub, unstableGitUpdater, bash }:
 
 stdenv.mkDerivation rec {
   pname = "zsh-prezto";
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  strictDeps = true;
+  buildInputs = [ bash ];
+
   postPatch = ''
     # make zshrc aware of where zsh-prezto is installed
     sed -i -e "s|\''${ZDOTDIR:\-\$HOME}/.zprezto/|$out/share/zsh-prezto/|g" runcoms/zshrc
diff --git a/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix b/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
index 09d6eb3cf9633..ef76798ccf48e 100644
--- a/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
+++ b/pkgs/shells/zsh/zsh-syntax-highlighting/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "03r6hpb5fy4yaakqm3lbf4xcvd408r44jgpv4lnzl9asp4sb9qc0";
   };
 
+  strictDeps = true;
   buildInputs = [ zsh ];
 
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/shells/zsh/zsh-system-clipboard/default.nix b/pkgs/shells/zsh/zsh-system-clipboard/default.nix
index b4d407a70bc9b..6e875b6ee086e 100644
--- a/pkgs/shells/zsh/zsh-system-clipboard/default.nix
+++ b/pkgs/shells/zsh/zsh-system-clipboard/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "09lqav1mz5zajklr3xa0iaivhpykv3azkjb7yj9wyp0hq3vymp8i";
   };
 
+  strictDeps = true;
   installPhase = ''
     install -D zsh-system-clipboard.zsh $out/share/zsh/${pname}/zsh-system-clipboard.zsh
   '';
diff --git a/pkgs/shells/zsh/zsh-vi-mode/default.nix b/pkgs/shells/zsh/zsh-vi-mode/default.nix
index 32f1e9c024ac3..73eae88b71df6 100644
--- a/pkgs/shells/zsh/zsh-vi-mode/default.nix
+++ b/pkgs/shells/zsh/zsh-vi-mode/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "EOYqHh0rcgoi26eopm6FTl81ehak5kXMmzNcnJDH8/E=";
   };
 
+  strictDeps = true;
   dontBuild = true;
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-you-should-use/default.nix b/pkgs/shells/zsh/zsh-you-should-use/default.nix
index 8019e75a8594b..95cdb3273c548 100644
--- a/pkgs/shells/zsh/zsh-you-should-use/default.nix
+++ b/pkgs/shells/zsh/zsh-you-should-use/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1dz48rd66priqhxx7byndqhbmlwxi1nfw8ik25k0z5k7k754brgy";
   };
 
+  strictDeps = true;
   dontBuild = true;
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-z/default.nix b/pkgs/shells/zsh/zsh-z/default.nix
index 9623ff6648cd7..a03b81cb6bfd2 100644
--- a/pkgs/shells/zsh/zsh-z/default.nix
+++ b/pkgs/shells/zsh/zsh-z/default.nix
@@ -11,6 +11,7 @@ stdenvNoCC.mkDerivation rec {
     sha256 = "sha256-HnwUWqzwavh/Qox+siOe5lwTp7PBdiYx+9M0NMNFx00=";
   };
 
+  strictDeps = true;
   dontBuild = true;
 
   installPhase = ''
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index cfed6d197cf0c..ed457019c558e 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -331,8 +331,8 @@ else let
 
       # This parameter is sometimes a string, sometimes null, and sometimes a list, yuck
       configureFlags = let inherit (lib) optional elem; in
-        (/**/ if lib.isString configureFlags then [configureFlags]
-         else if configureFlags == null      then []
+        (/**/ if lib.isString configureFlags then lib.warn "String 'configureFlags' is deprecated and will be removed in release 23.05. Please use a list of strings. Derivation name: ${derivationArg.name}, file: ${pos.file or "unknown file"}" [configureFlags]
+         else if configureFlags == null      then lib.warn "Null 'configureFlags' is deprecated and will be removed in release 23.05. Please use a empty list instead '[]'. Derivation name: ${derivationArg.name}, file: ${pos.file or "unknown file"}" []
          else                                     configureFlags)
         ++ optional (elem "build"  configurePlatforms) "--build=${stdenv.buildPlatform.config}"
         ++ optional (elem "host"   configurePlatforms) "--host=${stdenv.hostPlatform.config}"
diff --git a/pkgs/tools/admin/adtool/default.nix b/pkgs/tools/admin/adtool/default.nix
index d7f6ffadaca92..f1bc5851c7939 100644
--- a/pkgs/tools/admin/adtool/default.nix
+++ b/pkgs/tools/admin/adtool/default.nix
@@ -19,6 +19,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ openldap ];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: ../../src/lib/libactive_directory.a(active_directory.o):/build/adtool-1.3.3/src/lib/active_directory.h:31:
+  #     multiple definition of `system_config_file'; adtool.o:/build/adtool-1.3.3/src/tools/../../src/lib/active_directory.h:31: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   enableParallelBuilding = true;
 
   postInstall = ''
diff --git a/pkgs/tools/admin/docker-credential-gcr/default.nix b/pkgs/tools/admin/docker-credential-gcr/default.nix
index ee2efb206af67..c13c62c62cd53 100644
--- a/pkgs/tools/admin/docker-credential-gcr/default.nix
+++ b/pkgs/tools/admin/docker-credential-gcr/default.nix
@@ -1,16 +1,31 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub, testers, docker-credential-gcr }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "docker-credential-gcr";
-  version = "2.0.5";
-
-  goPackagePath = "github.com/GoogleCloudPlatform/docker-credential-gcr";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "docker-credential-gcr";
     rev = "v${version}";
-    sha256 = "sha256-WrcGTXy5SMWDHJWddXUuvUvEWjOsJcoB1zBg02p5ggY=";
+    sha256 = "sha256-gb9c8qTHQWUOlaXAKfpwm0Pwa/N4iu48jWIwPYXD00k=";
+  };
+
+  vendorSha256 = "sha256-e7XNTizZYp/tS7KRvB9KxY3Yurphnm6Ehz4dHZNReK8=";
+
+  CGO_ENABLED = 0;
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/GoogleCloudPlatform/docker-credential-gcr/config.Version=${version}"
+  ];
+
+  checkFlags = [ "-short" ];
+
+  passthru.tests.version = testers.testVersion {
+    package = docker-credential-gcr;
+    command = "docker-credential-gcr version";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/admin/docker-credential-helpers/default.nix b/pkgs/tools/admin/docker-credential-helpers/default.nix
index 0d46eff98b51e..c32c8834f8dcd 100644
--- a/pkgs/tools/admin/docker-credential-helpers/default.nix
+++ b/pkgs/tools/admin/docker-credential-helpers/default.nix
@@ -45,5 +45,7 @@ buildGoPackage rec {
     license = licenses.mit;
     maintainers = [ maintainers.marsam ];
     platforms = platforms.linux ++ platforms.darwin;
+  } // lib.optionalAttrs stdenv.isDarwin {
+    mainProgram = "docker-credential-osxkeychain";
   };
 }
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index a02e34df631d4..2d294d7f88ee1 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.8.8";
+  version = "1.8.11";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-frVQ2nqOflY26ZZWVYJGMNMOdbLuIojQDu/79kLilBk=";
+    sha256 = "sha256-4a5GPB6R3jTzcZRMrYwDn6oNEHBdKQJUFQb+k76X5Z4=";
   };
   vendorSha256 = "sha256-1c+YtfRy1ey0z117YHHkrCnpb7g+DmM+LR1rjn1YwMQ=";
 
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index 0f7d3806182a5..4a74b851b3446 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/tools/admin/syft/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.45.1";
+  version = "0.46.1";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oexsu52x9rAqwTVxTVHzKPuaIfvg5lvvuBmKcnb2Yew=";
+    sha256 = "sha256-ojjudnS0yJZ6YoHmq4m0YKyCqq9Ge+AFU7ejlPop71w=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -20,11 +20,11 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-d6ZBWX4/lgh610fBLTE1EUqZmpctLfxi2PSRifH+1jg=";
+  vendorSha256 = "sha256-nb7QcdmwAfYDTzCFNjs7uKwK/gng2iMD36ANaFSsftk=";
 
   nativeBuildInputs = [ installShellFiles ];
 
-  subPackages = [ "." ];
+  subPackages = [ "cmd/syft" ];
 
   ldflags = [
     "-s"
@@ -52,6 +52,17 @@ buildGoModule rec {
       --zsh <($out/bin/syft completion zsh)
   '';
 
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    export SYFT_CHECK_FOR_APP_UPDATE=false
+    $out/bin/syft --help
+    $out/bin/syft version | grep "${version}"
+
+    runHook postInstallCheck
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/anchore/syft";
     changelog = "https://github.com/anchore/syft/releases/tag/v${version}";
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 66b99c79453d8..f769850224b8a 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -1,23 +1,28 @@
 { lib
+, stdenv
 , buildGoModule
 , fetchFromGitHub
+, CoreFoundation
+, Security
 }:
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.27.1";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eyvxBpGuOXicuqINYhl4/fUgN/j+Awe5vgMaMxtAMr0=";
+    sha256 = "sha256-zyTUGAxUAfrigRNiw03ZXFK+UkpuxwuU2xviZmAPuR8=";
   };
-
-  vendorSha256 = "sha256-91tq4ipi3JobVgffASn8KRd3JQkgbOx/7PsjKq5vJdE=";
+  vendorSha256 = "sha256-dgiKWHSm49/CB4dWrNWIzkkmj6Aw4l+9iLa6xe/umq0=";
 
   excludedPackages = "misc";
 
+  buildInputs = lib.optionals (stdenv.isDarwin && stdenv.isx86_64)
+    [ CoreFoundation Security ];
+
   ldflags = [
     "-s"
     "-w"
diff --git a/pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch b/pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch
deleted file mode 100644
index 6956183344c47..0000000000000
--- a/pkgs/tools/audio/beets/badfiles-plugin-nix-paths.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git i/beetsplug/badfiles.py w/beetsplug/badfiles.py
-index 36b45de3..5208b696 100644
---- i/beetsplug/badfiles.py
-+++ w/beetsplug/badfiles.py
-@@ -71,14 +71,14 @@ class BadFiles(BeetsPlugin):
-         return status, errors, [line for line in output.split("\n") if line]
- 
-     def check_mp3val(self, path):
--        status, errors, output = self.run_command(["mp3val", path])
-+        status, errors, output = self.run_command(["@mp3val@/bin/mp3val", path])
-         if status == 0:
-             output = [line for line in output if line.startswith("WARNING:")]
-             errors = len(output)
-         return status, errors, output
- 
-     def check_flac(self, path):
--        return self.run_command(["flac", "-wst", path])
-+        return self.run_command(["@flac@/bin/flac", "-wst", path])
- 
-     def check_custom(self, command):
-         def checker(path):
diff --git a/pkgs/tools/audio/beets/builtin-plugins.nix b/pkgs/tools/audio/beets/builtin-plugins.nix
new file mode 100644
index 0000000000000..1fef39ef72f53
--- /dev/null
+++ b/pkgs/tools/audio/beets/builtin-plugins.nix
@@ -0,0 +1,95 @@
+{ stdenv
+, aacgain
+, essentia-extractor
+, ffmpeg
+, flac
+, imagemagick
+, keyfinder-cli
+, lib
+, mp3gain
+, mp3val
+, python3Packages
+, ...
+}: {
+  absubmit = {
+    enable = lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms;
+    wrapperBins = [ essentia-extractor ];
+  };
+  acousticbrainz.propagatedBuildInputs = [ python3Packages.requests ];
+  albumtypes = { };
+  aura.propagatedBuildInputs = with python3Packages; [ flask pillow ];
+  badfiles.wrapperBins = [ mp3val flac ];
+  bareasc = { };
+  beatport.propagatedBuildInputs = [ python3Packages.requests-oauthlib ];
+  bench = { };
+  bpd = { };
+  bpm = { };
+  bpsync = { };
+  bucket = { };
+  chroma.propagatedBuildInputs = [ python3Packages.pyacoustid ];
+  convert.wrapperBins = [ ffmpeg ];
+  deezer.propagatedBuildInputs = [ python3Packages.requests ];
+  discogs.propagatedBuildInputs = with python3Packages; [ discogs-client requests ];
+  duplicates = { };
+  edit = { };
+  embedart = {
+    propagatedBuildInputs = with python3Packages; [ pillow ];
+    wrapperBins = [ imagemagick ];
+  };
+  embyupdate.propagatedBuildInputs = [ python3Packages.requests ];
+  export = { };
+  fetchart = {
+    propagatedBuildInputs = with python3Packages; [ requests pillow ];
+    wrapperBins = [ imagemagick ];
+  };
+  filefilter = { };
+  fish = { };
+  freedesktop = { };
+  fromfilename = { };
+  ftintitle = { };
+  fuzzy = { };
+  gmusic = { };
+  hook = { };
+  ihate = { };
+  importadded = { };
+  importfeeds = { };
+  info = { };
+  inline = { };
+  ipfs = { };
+  keyfinder.wrapperBins = [ keyfinder-cli ];
+  kodiupdate.propagatedBuildInputs = [ python3Packages.requests ];
+  lastgenre.propagatedBuildInputs = [ python3Packages.pylast ];
+  lastimport.propagatedBuildInputs = [ python3Packages.pylast ];
+  loadext.propagatedBuildInputs = [ python3Packages.requests ];
+  lyrics.propagatedBuildInputs = [ python3Packages.beautifulsoup4 ];
+  mbcollection = { };
+  mbsubmit = { };
+  mbsync = { };
+  metasync = { };
+  missing = { };
+  mpdstats.propagatedBuildInputs = [ python3Packages.mpd2 ];
+  mpdupdate.propagatedBuildInputs = [ python3Packages.mpd2 ];
+  parentwork = { };
+  permissions = { };
+  play = { };
+  playlist.propagatedBuildInputs = [ python3Packages.requests ];
+  plexupdate = { };
+  random = { };
+  replaygain.wrapperBins = [ aacgain ffmpeg mp3gain ];
+  rewrite = { };
+  scrub = { };
+  smartplaylist = { };
+  sonosupdate.propagatedBuildInputs = [ python3Packages.soco ];
+  spotify = { };
+  subsonicplaylist.propagatedBuildInputs = [ python3Packages.requests ];
+  subsonicupdate.propagatedBuildInputs = [ python3Packages.requests ];
+  the = { };
+  thumbnails = {
+    propagatedBuildInputs = with python3Packages; [ pillow pyxdg ];
+    wrapperBins = [ imagemagick ];
+  };
+  types.testPaths = [ "test/test_types_plugin.py" ];
+  unimported = { };
+  web.propagatedBuildInputs = [ python3Packages.flask ];
+  zero = { };
+}
diff --git a/pkgs/tools/audio/beets/common.nix b/pkgs/tools/audio/beets/common.nix
new file mode 100644
index 0000000000000..3c7ad800c3b7e
--- /dev/null
+++ b/pkgs/tools/audio/beets/common.nix
@@ -0,0 +1,147 @@
+{ stdenv
+, bashInteractive
+, diffPlugins
+, glibcLocales
+, gobject-introspection
+, gst_all_1
+, lib
+, python3Packages
+, runtimeShell
+, writeScript
+
+  # plugin deps
+, aacgain
+, essentia-extractor
+, ffmpeg
+, flac
+, imagemagick
+, keyfinder-cli
+, mp3gain
+, mp3val
+
+, src
+, version
+, pluginOverrides ? { }
+, disableAllPlugins ? false
+}@inputs:
+let
+  inherit (lib) attrNames attrValues concatMap;
+
+  builtinPlugins = import ./builtin-plugins.nix inputs;
+
+  mkPlugin = { enable ? !disableAllPlugins, propagatedBuildInputs ? [ ], testPaths ? [ ], wrapperBins ? [ ] }: {
+    inherit enable propagatedBuildInputs testPaths wrapperBins;
+  };
+
+  allPlugins = lib.mapAttrs (_: mkPlugin) (lib.recursiveUpdate builtinPlugins pluginOverrides);
+  enabledPlugins = lib.filterAttrs (_: p: p.enable) allPlugins;
+  disabledPlugins = lib.filterAttrs (_: p: !p.enable) allPlugins;
+
+  pluginWrapperBins = concatMap (p: p.wrapperBins) (attrValues enabledPlugins);
+in
+python3Packages.buildPythonApplication rec {
+  pname = "beets";
+  inherit src version;
+
+  patches = [
+    # Bash completion fix for Nix
+    ./patches/bash-completion-always-print.patch
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    confuse
+    gobject-introspection
+    gst-python
+    jellyfish
+    mediafile
+    munkres
+    musicbrainzngs
+    mutagen
+    pygobject3
+    pyyaml
+    reflink
+    unidecode
+  ] ++ (concatMap (p: p.propagatedBuildInputs) (attrValues enabledPlugins));
+
+  buildInputs = [
+  ] ++ (with gst_all_1; [
+    gst-plugins-base
+    gst-plugins-good
+    gst-plugins-ugly
+  ]);
+
+  postInstall = ''
+    mkdir -p $out/share/zsh/site-functions
+    cp extra/_beet $out/share/zsh/site-functions/
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    tmphome="$(mktemp -d)"
+
+    EDITOR="${writeScript "beetconfig.sh" ''
+      #!${runtimeShell}
+      cat > "$1" <<CFG
+      plugins: ${lib.concatStringsSep " " (attrNames enabledPlugins)}
+      CFG
+    ''}" HOME="$tmphome" "$out/bin/beet" config -e
+    EDITOR=true HOME="$tmphome" "$out/bin/beet" config -e
+
+    runHook postInstallCheck
+  '';
+
+  makeWrapperArgs = [
+    "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
+    "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
+    "--prefix PATH : ${lib.makeBinPath pluginWrapperBins}"
+  ];
+
+  checkInputs = with python3Packages; [
+    pytest
+    mock
+    rarfile
+    responses
+  ] ++ pluginWrapperBins;
+
+  disabledTestPaths = lib.flatten (attrValues (lib.mapAttrs (n: v: v.testPaths ++ [ "test/test_${n}.py" ]) disabledPlugins));
+
+  checkPhase = ''
+    runHook preCheck
+
+    # Check for undefined plugins
+    find beetsplug -mindepth 1 \
+      \! -path 'beetsplug/__init__.py' -a \
+      \( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \
+      | sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \
+      | sort -u > plugins_available
+    ${diffPlugins (attrNames allPlugins) "plugins_available"}
+
+    export BEETS_TEST_SHELL="${bashInteractive}/bin/bash --norc"
+    export HOME="$(mktemp -d)"
+
+    args=" -m pytest -r fEs"
+    eval "disabledTestPaths=($disabledTestPaths)"
+    for path in ''${disabledTestPaths[@]}; do
+      if [ -e "$path" ]; then
+        args+=" --ignore \"$path\""
+      else
+        echo "Skipping non-existent test path '$path'"
+      fi
+    done
+
+    python $args
+
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Music tagger and library organizer";
+    homepage = "https://beets.io";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aszlig doronbehar lovesegfault pjones ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch b/pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch
deleted file mode 100644
index 1bc1789344864..0000000000000
--- a/pkgs/tools/audio/beets/convert-plugin-ffmpeg-path.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git i/beetsplug/convert.py w/beetsplug/convert.py
-index 6bc07c28..039fb452 100644
---- i/beetsplug/convert.py
-+++ w/beetsplug/convert.py
-@@ -118,22 +118,22 @@ class ConvertPlugin(BeetsPlugin):
-             'id3v23': 'inherit',
-             'formats': {
-                 'aac': {
--                    'command': 'ffmpeg -i $source -y -vn -acodec aac '
-+                    'command': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec aac '
-                     '-aq 1 $dest',
-                     'extension': 'm4a',
-                 },
-                 'alac': {
--                    'command': 'ffmpeg -i $source -y -vn -acodec alac $dest',
-+                    'command': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec alac $dest',
-                     'extension': 'm4a',
-                 },
--                'flac': 'ffmpeg -i $source -y -vn -acodec flac $dest',
--                'mp3': 'ffmpeg -i $source -y -vn -aq 2 $dest',
-+                'flac': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec flac $dest',
-+                'mp3': '@ffmpeg@/bin/ffmpeg -i $source -y -vn -aq 2 $dest',
-                 'opus':
--                    'ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
-+                    '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest',
-                 'ogg':
--                    'ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
-+                    '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest',
-                 'wma':
--                    'ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
-+                    '@ffmpeg@/bin/ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest',
-             },
-             'max_bitrate': 500,
-             'auto': False,
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index 0bdbe9d345db8..a66b018678c60 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,279 +1,50 @@
-{ stdenv
-, lib
+{ lib
+, callPackage
 , fetchFromGitHub
-, writeScript
-, glibcLocales
-, diffPlugins
-, substituteAll
-, pythonPackages
-# can be null, if you wish to disable a reference to it. It's needed for the
-# artresizer, see:
-# https://beets.readthedocs.io/en/v1.6.0/plugins/fetchart.html#image-resizing
-, imagemagick
-, gobject-introspection
-, gst_all_1
-, runtimeShell
-
-# external plugins package set
-, beetsExternalPlugins
-
-, enableAbsubmit         ? lib.elem stdenv.hostPlatform.system essentia-extractor.meta.platforms, essentia-extractor
-, enableAcousticbrainz   ? true
-, enableAcoustid         ? true
-, enableAura             ? true
-, enableBadfiles         ? true, flac, mp3val
-, enableBeatport         ? true
-, enableBpsync           ? true
-, enableConvert          ? true, ffmpeg
-, enableDeezer           ? true
-, enableDiscogs          ? true
-, enableEmbyupdate       ? true
-, enableFetchart         ? true
-, enableKeyfinder        ? true, keyfinder-cli
-, enableKodiupdate       ? true
-, enableLastfm           ? true
-, enableLoadext          ? true
-, enableLyrics           ? true
-, enableMpd              ? true
-, enablePlaylist         ? true
-, enableReplaygain       ? true
-, enableSonosUpdate      ? true
-, enableSubsonicplaylist ? true
-, enableSubsonicupdate   ? true
-, enableThumbnails       ? true
-, enableWeb              ? true
-
-# External plugins
-, enableAlternatives     ? false
-, enableCopyArtifacts    ? false
-, enableExtraFiles       ? false
-
-, bashInteractive, bash-completion
 }:
-
-assert enableBpsync      -> enableBeatport;
-
-let
-  optionalPlugins = {
-    absubmit = enableAbsubmit;
-    acousticbrainz = enableAcousticbrainz;
-    aura = enableAura;
-    badfiles = enableBadfiles;
-    beatport = enableBeatport;
-    bpsync = enableBpsync;
-    chroma = enableAcoustid;
-    convert = enableConvert;
-    deezer = enableDeezer;
-    discogs = enableDiscogs;
-    embyupdate = enableEmbyupdate;
-    fetchart = enableFetchart;
-    keyfinder = enableKeyfinder;
-    kodiupdate = enableKodiupdate;
-    lastgenre = enableLastfm;
-    lastimport = enableLastfm;
-    loadext = enableLoadext;
-    lyrics = enableLyrics;
-    mpdstats = enableMpd;
-    mpdupdate = enableMpd;
-    playlist = enablePlaylist;
-    replaygain = enableReplaygain;
-    sonosupdate = enableSonosUpdate;
-    subsonicplaylist = enableSubsonicplaylist;
-    subsonicupdate = enableSubsonicupdate;
-    thumbnails = enableThumbnails;
-    web = enableWeb;
+/*
+** To customize the enabled beets plugins, use the pluginOverrides input to the
+** derivation.
+** Examples:
+**
+** Disabling a builtin plugin:
+** beets.override { pluginOverrides = { beatport.enable = false; }; }
+**
+** Enabling an external plugin:
+** beets.override { pluginOverrides = {
+**   alternatives = { enable = true; propagatedBuildInputs = [ beetsPackages.alternatives ]; };
+** }; }
+*/
+lib.makeExtensible (self: {
+  beets = self.beets-stable;
+
+  beets-stable = callPackage ./common.nix rec {
+    version = "1.6.0";
+    src = fetchFromGitHub {
+      owner = "beetbox";
+      repo = "beets";
+      rev = "v${version}";
+      hash = "sha256-fT+rCJJQR7bdfAcmeFRaknmh4ZOP4RCx8MXpq7/D8tM=";
+    };
   };
 
-  pluginsWithoutDeps = [
-    "albumtypes" "bareasc" "bench" "bpd" "bpm" "bucket" "duplicates" "edit" "embedart"
-    "export" "filefilter" "fish" "freedesktop" "fromfilename" "ftintitle" "fuzzy"
-    "hook" "ihate" "importadded" "importfeeds" "info" "inline" "ipfs" "gmusic"
-    "mbcollection" "mbsubmit" "mbsync" "metasync" "missing" "parentwork" "permissions" "play"
-    "plexupdate" "random" "rewrite" "scrub" "smartplaylist" "spotify" "the"
-    "types" "unimported" "zero"
-  ];
-
-  enabledOptionalPlugins = lib.attrNames (lib.filterAttrs (_: lib.id) optionalPlugins);
-
-  allPlugins = pluginsWithoutDeps ++ lib.attrNames optionalPlugins;
-  allEnabledPlugins = pluginsWithoutDeps ++ enabledOptionalPlugins;
-
-  testShell = "${bashInteractive}/bin/bash --norc";
-  completion = "${bash-completion}/share/bash-completion/bash_completion";
-
-in pythonPackages.buildPythonApplication rec {
-  pname = "beets";
-  version = "1.6.0";
-
-  src = fetchFromGitHub {
-    owner = "beetbox";
-    repo = "beets";
-    rev = "v${version}";
-    sha256 = "sha256-fT+rCJJQR7bdfAcmeFRaknmh4ZOP4RCx8MXpq7/D8tM=";
+  beets-minimal = self.beets.override { disableAllPlugins = true; };
+
+  beets-unstable = callPackage ./common.nix {
+    version = "unstable-2022-05-08";
+    src = fetchFromGitHub {
+      owner = "beetbox";
+      repo = "beets";
+      rev = "e06cf7969bfdfa4773049699320471be45d56054";
+      hash = "sha256-yWwxYSzSSmx2UfCn0EBH23hQGZKSRn/c8ryvxLUeHdM=";
+    };
+    pluginOverrides = {
+      # unstable has a new plugin, so we register it here.
+      limit = { };
+    };
   };
 
-  propagatedBuildInputs = [
-    pythonPackages.six
-    pythonPackages.enum34
-    pythonPackages.jellyfish
-    pythonPackages.munkres
-    pythonPackages.musicbrainzngs
-    pythonPackages.mutagen
-    pythonPackages.pyyaml
-    pythonPackages.unidecode
-    pythonPackages.gst-python
-    pythonPackages.pygobject3
-    pythonPackages.reflink
-    pythonPackages.confuse
-    pythonPackages.mediafile
-    gobject-introspection
-  ] ++ lib.optional enableAbsubmit         essentia-extractor
-    ++ lib.optional enableAcoustid         pythonPackages.pyacoustid
-    ++ lib.optional enableBeatport         pythonPackages.requests-oauthlib
-    ++ lib.optional enableConvert          ffmpeg
-    ++ lib.optional enableDiscogs          pythonPackages.discogs-client
-    ++ lib.optional (enableFetchart
-                  || enableDeezer
-                  || enableEmbyupdate
-                  || enableKodiupdate
-                  || enableLoadext
-                  || enablePlaylist
-                  || enableSubsonicplaylist
-                  || enableSubsonicupdate
-                  || enableAcousticbrainz) pythonPackages.requests
-    ++ lib.optional enableKeyfinder        keyfinder-cli
-    ++ lib.optional enableLastfm           pythonPackages.pylast
-    ++ lib.optional enableLyrics           pythonPackages.beautifulsoup4
-    ++ lib.optional enableMpd              pythonPackages.mpd2
-    ++ lib.optional enableSonosUpdate      pythonPackages.soco
-    ++ lib.optional enableThumbnails       pythonPackages.pyxdg
-    ++ lib.optional (enableAura
-                  || enableWeb)            pythonPackages.flask
-    ++ lib.optional enableAlternatives     beetsExternalPlugins.alternatives
-    ++ lib.optional enableCopyArtifacts    beetsExternalPlugins.copyartifacts
-    ++ lib.optional enableExtraFiles       beetsExternalPlugins.extrafiles
-  ;
-
-  buildInputs = [
-  ] ++ (with gst_all_1; [
-    gst-plugins-base
-    gst-plugins-good
-    gst-plugins-ugly
-  ]);
-
-  checkInputs = with pythonPackages; [
-    beautifulsoup4
-    mock
-    nose
-    rarfile
-    responses
-    # Although considered as plugin dependencies, they are needed for the
-    # tests, for disabling them via an override makes the build fail. see:
-    # https://github.com/beetbox/beets/blob/v1.6.0/setup.py
-    pylast
-    mpd2
-    discogs-client
-    pyxdg
-  ];
-
-  patches = [
-    # Bash completion fix for Nix
-    ./bash-completion-always-print.patch
-  ]
-    # Fix path to imagemagick, used for the artresizer.py file. This reference
-    # to imagemagick might be expensive for some people, so the patch can be
-    # disabled if imagemagick is set to null
-    ++ lib.optional (imagemagick != null) (substituteAll {
-      src = ./imagemagick-nix-path.patch;
-      inherit imagemagick;
-    })
-    # We need to force ffmpeg as the default, since we do not package
-    # bs1770gain, and set the absolute path there, to avoid impurities.
-    ++ lib.optional enableReplaygain (substituteAll {
-      src = ./replaygain-default-ffmpeg.patch;
-      ffmpeg = lib.getBin ffmpeg;
-    })
-    # Put absolute Nix paths in place
-    ++ lib.optional enableConvert (substituteAll {
-      src = ./convert-plugin-ffmpeg-path.patch;
-      ffmpeg = lib.getBin ffmpeg;
-    })
-    ++ lib.optional enableBadfiles (substituteAll {
-      src = ./badfiles-plugin-nix-paths.patch;
-      inherit mp3val flac;
-    })
-  ;
-
-  # Disable failing tests
-  postPatch = ''
-    echo echo completion tests passed > test/rsrc/test_completion.sh
-
-    # https://github.com/beetbox/beets/issues/1187
-    sed -i -e 's/len(mf.images)/0/' test/test_zero.py
-  '';
-
-  postInstall = ''
-    mkdir -p $out/share/zsh/site-functions
-    cp extra/_beet $out/share/zsh/site-functions/
-  '';
-
-  doCheck = true;
-
-  preCheck = ''
-    find beetsplug -mindepth 1 \
-      \! -path 'beetsplug/__init__.py' -a \
-      \( -name '*.py' -o -path 'beetsplug/*/__init__.py' \) -print \
-      | sed -n -re 's|^beetsplug/([^/.]+).*|\1|p' \
-      | sort -u > plugins_available
-
-     ${diffPlugins allPlugins "plugins_available"}
-  '';
-
-  checkPhase = ''
-    runHook preCheck
-
-    LANG=en_US.UTF-8 \
-    LOCALE_ARCHIVE=${assert stdenv.isLinux; glibcLocales}/lib/locale/locale-archive \
-    BEETS_TEST_SHELL="${testShell}" \
-    BASH_COMPLETION_SCRIPT="${completion}" \
-    HOME="$(mktemp -d)" nosetests -v
-
-    runHook postCheck
-  '';
-
-  doInstallCheck = true;
-
-  installCheckPhase = ''
-    runHook preInstallCheck
-
-    tmphome="$(mktemp -d)"
-
-    EDITOR="${writeScript "beetconfig.sh" ''
-      #!${runtimeShell}
-      cat > "$1" <<CFG
-      plugins: ${lib.concatStringsSep " " allEnabledPlugins}
-      CFG
-    ''}" HOME="$tmphome" "$out/bin/beet" config -e
-    EDITOR=true HOME="$tmphome" "$out/bin/beet" config -e
-
-    runHook postInstallCheck
-  '';
-
-  makeWrapperArgs = [
-    "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
-    "--set GST_PLUGIN_SYSTEM_PATH_1_0 \"$GST_PLUGIN_SYSTEM_PATH_1_0\""
-  ];
-
-  passthru = {
-    # FIXME: remove in favor of pkgs.beetsExternalPlugins
-    externalPlugins = beetsExternalPlugins;
-  };
-
-  meta = with lib; {
-    description = "Music tagger and library organizer";
-    homepage = "https://beets.io";
-    license = licenses.mit;
-    maintainers = with maintainers; [ aszlig doronbehar lovesegfault pjones ];
-    platforms = platforms.linux;
-  };
-}
+  alternatives = callPackage ./plugins/alternatives.nix { beets = self.beets-minimal; };
+  copyartifacts = callPackage ./plugins/copyartifacts.nix { beets = self.beets-minimal; };
+  extrafiles = callPackage ./plugins/extrafiles.nix { beets = self.beets-minimal; };
+})
diff --git a/pkgs/tools/audio/beets/imagemagick-nix-path.patch b/pkgs/tools/audio/beets/imagemagick-nix-path.patch
deleted file mode 100644
index 9a77703ede7c6..0000000000000
--- a/pkgs/tools/audio/beets/imagemagick-nix-path.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git i/beets/util/artresizer.py w/beets/util/artresizer.py
-index 8683e228..2f38b4d6 100644
---- i/beets/util/artresizer.py
-+++ w/beets/util/artresizer.py
-@@ -334,13 +334,8 @@ class ArtResizer(metaclass=Shareable):
-         # not, fall back to the older, separate convert and identify
-         # commands.
-         if self.method[0] == IMAGEMAGICK:
--            self.im_legacy = self.method[2]
--            if self.im_legacy:
--                self.im_convert_cmd = ['convert']
--                self.im_identify_cmd = ['identify']
--            else:
--                self.im_convert_cmd = ['magick']
--                self.im_identify_cmd = ['magick', 'identify']
-+            self.im_convert_cmd = ['@imagemagick@/bin/magick']
-+            self.im_identify_cmd = ['@imagemagick@/bin/magick', 'identify']
- 
-     def resize(
-         self, maxwidth, path_in, path_out=None, quality=0, max_filesize=0
diff --git a/pkgs/tools/audio/beets/bash-completion-always-print.patch b/pkgs/tools/audio/beets/patches/bash-completion-always-print.patch
index 8a31fe22f7281..8a31fe22f7281 100644
--- a/pkgs/tools/audio/beets/bash-completion-always-print.patch
+++ b/pkgs/tools/audio/beets/patches/bash-completion-always-print.patch
diff --git a/pkgs/tools/audio/beets/plugins/alternatives.nix b/pkgs/tools/audio/beets/plugins/alternatives.nix
index 146e9f5066414..635854d4576a0 100644
--- a/pkgs/tools/audio/beets/plugins/alternatives.nix
+++ b/pkgs/tools/audio/beets/plugins/alternatives.nix
@@ -1,6 +1,6 @@
-{ lib, fetchFromGitHub, beets, pythonPackages }:
+{ lib, fetchFromGitHub, beets, python3Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "beets-alternatives";
   version = "unstable-2021-02-01";
 
@@ -18,7 +18,7 @@ pythonPackages.buildPythonApplication rec {
 
   nativeBuildInputs = [ beets ];
 
-  checkInputs = with pythonPackages; [
+  checkInputs = with python3Packages; [
     pytestCheckHook
     mock
   ];
diff --git a/pkgs/tools/audio/beets/plugins/copyartifacts.nix b/pkgs/tools/audio/beets/plugins/copyartifacts.nix
index 2f1ecdfc36950..623ca2fcf1725 100644
--- a/pkgs/tools/audio/beets/plugins/copyartifacts.nix
+++ b/pkgs/tools/audio/beets/plugins/copyartifacts.nix
@@ -1,6 +1,6 @@
-{ lib, fetchFromGitHub, beets, pythonPackages, glibcLocales }:
+{ lib, fetchFromGitHub, beets, python3Packages }:
 
-pythonPackages.buildPythonApplication {
+python3Packages.buildPythonApplication {
   pname = "beets-copyartifacts";
   version = "unstable-2020-02-15";
 
@@ -15,20 +15,20 @@ pythonPackages.buildPythonApplication {
     sed -i -e '/install_requires/,/\]/{/beets/d}' setup.py
     sed -i -e '/namespace_packages/d' setup.py
     printf 'from pkgutil import extend_path\n__path__ = extend_path(__path__, __name__)\n' >beetsplug/__init__.py
-
-    # Skip test which is already failing upstream.
-    sed -i -e '1i import unittest' \
-           -e 's/\(^ *\)# failing/\1@unittest.skip/' \
-           tests/test_reimport.py
   '';
 
-  nativeBuildInputs = [ beets pythonPackages.nose glibcLocales ];
+  pytestFlagsArray = [ "-r fEs" ];
 
-  checkPhase = "LANG=en_US.UTF-8 nosetests";
+  checkInputs = with python3Packages; [
+    pytestCheckHook
+    beets
+    six
+  ];
 
   meta = {
     description = "Beets plugin to move non-music files during the import process";
     homepage = "https://github.com/sbarakat/beets-copyartifacts";
     license = lib.licenses.mit;
+    inherit (beets.meta) platforms;
   };
 }
diff --git a/pkgs/tools/audio/beets/plugins/extrafiles.nix b/pkgs/tools/audio/beets/plugins/extrafiles.nix
index 0d3ccc0d7a712..7cd4c76d5045a 100644
--- a/pkgs/tools/audio/beets/plugins/extrafiles.nix
+++ b/pkgs/tools/audio/beets/plugins/extrafiles.nix
@@ -1,6 +1,6 @@
-{ lib, fetchFromGitHub, beets, pythonPackages }:
+{ lib, fetchFromGitHub, beets, python3Packages }:
 
-pythonPackages.buildPythonApplication rec {
+python3Packages.buildPythonApplication {
   pname = "beets-extrafiles";
   version = "unstable-2020-12-13";
 
@@ -17,17 +17,21 @@ pythonPackages.buildPythonApplication rec {
     sed -i -e 's/mediafile~=0.6.0/mediafile>=0.6.0/' setup.py
   '';
 
-  nativeBuildInputs = [ beets ];
+  propagatedBuildInputs = with python3Packages; [ mediafile ];
 
-  propagatedBuildInputs = with pythonPackages; [ mediafile ];
+  checkInputs = [
+    python3Packages.pytestCheckHook
+    beets
+  ];
 
   preCheck = ''
-    HOME=$TEMPDIR
+    HOME="$(mktemp -d)"
   '';
 
   meta = {
     homepage = "https://github.com/Holzhaus/beets-extrafiles";
     description = "A plugin for beets that copies additional files and directories during the import process";
     license = lib.licenses.mit;
+    inherit (beets.meta) platforms;
   };
 }
diff --git a/pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch b/pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch
deleted file mode 100644
index e441997cae583..0000000000000
--- a/pkgs/tools/audio/beets/replaygain-default-ffmpeg.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git i/beetsplug/replaygain.py w/beetsplug/replaygain.py
-index b6297d93..5c1cbbc0 100644
---- i/beetsplug/replaygain.py
-+++ w/beetsplug/replaygain.py
-@@ -139,7 +139,7 @@ class FfmpegBackend(Backend):
- 
-     def __init__(self, config, log):
-         super().__init__(config, log)
--        self._ffmpeg_path = "ffmpeg"
-+        self._ffmpeg_path = "@ffmpeg@/bin/ffmpeg"
- 
-         # check that ffmpeg is installed
-         try:
-@@ -975,11 +975,10 @@ class ReplayGainPlugin(BeetsPlugin):
-     def __init__(self):
-         super().__init__()
- 
--        # default backend is 'command' for backward-compatibility.
-         self.config.add({
-             'overwrite': False,
-             'auto': True,
--            'backend': 'command',
-+            'backend': 'ffmpeg',
-             'threads': cpu_count(),
-             'parallel_on_import': False,
-             'per_disc': False,
diff --git a/pkgs/tools/audio/mpris-scrobbler/default.nix b/pkgs/tools/audio/mpris-scrobbler/default.nix
index f2e23fd2f57d7..16070c91dd90f 100644
--- a/pkgs/tools/audio/mpris-scrobbler/default.nix
+++ b/pkgs/tools/audio/mpris-scrobbler/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mpris-scrobbler";
-  version = "0.4.90";
+  version = "0.4.95";
 
   src = fetchFromGitHub {
     owner  = "mariusor";
     repo   = "mpris-scrobbler";
     rev    = "v${version}";
-    sha256 = "sha256-+Y5d7yFOnSk2gQS/m/01ofbNeDCLXb+cTTlHj4bgO0M=";
+    sha256 = "sha256-Cqf0egS4XSDiKLdizNHPdS0Zt3jQxw9e78S7n23CuKI=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/backup/btar/default.nix b/pkgs/tools/backup/btar/default.nix
index c77aa5b82b62a..00fee9414765e 100644
--- a/pkgs/tools/backup/btar/default.nix
+++ b/pkgs/tools/backup/btar/default.nix
@@ -16,6 +16,12 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: listindex.o:/build/btar-1.1.1/loadindex.h:12: multiple definition of
+  #     `ptr'; main.o:/build/btar-1.1.1/loadindex.h:12: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   buildInputs = [ librsync ];
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/bluetooth/bluez-tools/default.nix b/pkgs/tools/bluetooth/bluez-tools/default.nix
index dfb7147d08eb4..af76991436fd9 100644
--- a/pkgs/tools/bluetooth/bluez-tools/default.nix
+++ b/pkgs/tools/bluetooth/bluez-tools/default.nix
@@ -2,14 +2,14 @@
 , fetchFromGitHub, glib, pkg-config }:
 
 stdenv.mkDerivation rec {
-  version = "unstable-2016-12-12";
+  version = "unstable-2020-10-24";
   pname = "bluez-tools";
 
   src = fetchFromGitHub {
     owner = "khvzak";
     repo = "bluez-tools";
-    rev = "97efd293491ad7ec96a655665339908f2478b3d1";
-    sha256 = "08xp77sf5wnq5086halmyk3vla4bfls06q1zrqdcq36hw6d409i6";
+    rev = "f65321736475429316f07ee94ec0deac8e46ec4a";
+    sha256 = "0xk39lz3hm8lcnb5fdbfz4ldbbq8gswg95vilzdwxzrglcr6xnqq";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook ];
diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix
index 17abb6503c9be..7fa7b4e35c858 100644
--- a/pkgs/tools/compression/lzip/default.nix
+++ b/pkgs/tools/compression/lzip/default.nix
@@ -7,13 +7,14 @@
 
 stdenv.mkDerivation rec {
   pname = "lzip";
-  version = "1.22";
+  version = "1.23";
+  outputs = [ "out" "man" "info" ];
 
   nativeBuildInputs = [ texinfo ];
 
   src = fetchurl {
     url = "mirror://savannah/lzip/${pname}-${version}.tar.gz";
-    sha256 = "sha256-wzQtQuZxOcFluLEo0DO1yWiToTrF8lkzGQMVIU6HqUg=";
+    sha256 = "sha256-R5LAR93xXvKdVbqOaKGiHgy3aS2H7N9yBEGYZFgvKA0=";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/filesystems/9pfs/default.nix b/pkgs/tools/filesystems/9pfs/default.nix
index 03f082a40381a..d9c609d7c0a9e 100644
--- a/pkgs/tools/filesystems/9pfs/default.nix
+++ b/pkgs/tools/filesystems/9pfs/default.nix
@@ -24,6 +24,12 @@ stdenv.mkDerivation {
 
   buildInputs = [ fuse ];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: lib/auth_rpc.o:/build/source/lib/../9pfs.h:35: multiple definition of
+  #     `logfile'; 9pfs.o:/build/source/9pfs.h:35: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index f9e5340802eda..9d68d4fa272c1 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -23,9 +23,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ acl attr e2fsprogs libuuid lzo python3 zlib zstd ] ++ lib.optionals stdenv.hostPlatform.isGnu [ udev ];
 
-  # for python cross-compiling
-  _PYTHON_HOST_PLATFORM = stdenv.hostPlatform.config;
-
   # gcc bug with -O1 on ARM with gcc 4.8
   # This should be fine on all platforms so apply universally
   postPatch = "sed -i s/-O1/-O2/ configure";
@@ -38,6 +35,8 @@ stdenv.mkDerivation rec {
 
   makeFlags = lib.optionals stdenv.hostPlatform.isGnu [ "udevruledir=$(out)/lib/udev/rules.d" ];
 
+  installFlags = [ "install_python" ];
+
   enableParallelBuilding = true;
 
   passthru.tests = {
diff --git a/pkgs/tools/filesystems/httm/default.nix b/pkgs/tools/filesystems/httm/default.nix
index 5c0bc74245f62..776312c89027d 100644
--- a/pkgs/tools/filesystems/httm/default.nix
+++ b/pkgs/tools/filesystems/httm/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httm";
-  version = "0.9.0";
+  version = "0.10.9";
 
   src = fetchFromGitHub {
     owner = "kimono-koans";
     repo = pname;
     rev = version;
-    sha256 = "sha256-uqzwS7+OQsPdMv3+fWdn3yVFJwtFZNd8kVWw//mQZj8=";
+    sha256 = "L8yqf+QadN+uZxBjT3RWG7L3QqIerNrNc1u9PP1pt1I=";
   };
 
-  cargoSha256 = "sha256-EC3E5NawsDe+CU5WEu0G3FWVLuqW5nXOoUURN0iDPK0=";
+  cargoSha256 = "UxqgJBgKD7hGT0UjAVYqb+sjbZ1sYVVOQSDvRQROOso=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/filesystems/hubicfuse/default.nix b/pkgs/tools/filesystems/hubicfuse/default.nix
index 0ebc1f232234d..95dabe2f97b62 100644
--- a/pkgs/tools/filesystems/hubicfuse/default.nix
+++ b/pkgs/tools/filesystems/hubicfuse/default.nix
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
       url = "https://github.com/TurboGit/hubicfuse/commit/b460f40d86bc281a21379158a7534dfb9f283786.patch";
       sha256 = "0nqvcbrgbc5dms8fkz3brlj40yn48p36drabrnc26gvb3hydh5dl";
     })
+    # UPstream fix for build failure on -fno-common toolchains
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/TurboGit/hubicfuse/commit/34a6c3e57467b5f7e9befe2171bf4292893c5a18.patch";
+      sha256 = "0k1jz2h8sdhmi0srx0adbyrcrm57j4annj84yw6hdrly5hsf7bzc";
+    })
   ];
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/filesystems/jfsutils/default.nix b/pkgs/tools/filesystems/jfsutils/default.nix
index 290bc31391088..52b8fc4c3c281 100644
--- a/pkgs/tools/filesystems/jfsutils/default.nix
+++ b/pkgs/tools/filesystems/jfsutils/default.nix
@@ -25,6 +25,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ libuuid ];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #     ld: extract.o:/build/jfsutils-1.1.15/fscklog/extract.c:67: multiple definition of
+  #       `xchklog_buffer'; display.o:/build/jfsutils-1.1.15/fscklog/display.c:57: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   meta = with lib; {
     description = "IBM JFS utilities";
     homepage = "http://jfs.sourceforge.net";
diff --git a/pkgs/development/python-modules/addic7ed-cli/default.nix b/pkgs/tools/misc/addic7ed-cli/default.nix
index 3ee3a897a906a..3ee3a897a906a 100644
--- a/pkgs/development/python-modules/addic7ed-cli/default.nix
+++ b/pkgs/tools/misc/addic7ed-cli/default.nix
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index b07947e672ff8..b0f6c6c24e8d1 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -46,7 +46,7 @@ python3Packages.buildPythonApplication rec {
   pythonPath = [
       binutils-unwrapped bzip2 colordiff coreutils cpio db diffutils
       e2fsprogs file findutils fontforge-fonttools gettext gnutar gzip
-      libarchive libcaca lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd
+      libarchive lz4 openssl pgpdump sng sqlite squashfsTools unzip xxd
       xz zip zstd
     ]
     ++ (with python3Packages; [
@@ -56,7 +56,7 @@ python3Packages.buildPythonApplication rec {
     ++ lib.optionals stdenv.isLinux [ python3Packages.pyxattr acl cdrkit dtc ]
     ++ lib.optionals enableBloat ([
       abootimg apksigner apktool cbfstool colord enjarify ffmpeg fpc ghc ghostscriptX giflib gnupg gnumeric
-      hdf5 imagemagick llvm jdk mono ocaml odt2txt oggvideotools openssh pdftk poppler_utils procyon qemu R tcpdump ubootTools wabt radare2 xmlbeans
+      hdf5 imagemagick libcaca llvm jdk mono ocaml odt2txt oggvideotools openssh pdftk poppler_utils procyon qemu R tcpdump ubootTools wabt radare2 xmlbeans
     ] ++ (with python3Packages; [ androguard binwalk guestfs h5py pdfminer ]));
 
   checkInputs = with python3Packages; [ pytestCheckHook ] ++ pythonPath;
diff --git a/pkgs/tools/misc/dua/default.nix b/pkgs/tools/misc/dua/default.nix
index d7f3eafe3ecab..097aee5f06885 100644
--- a/pkgs/tools/misc/dua/default.nix
+++ b/pkgs/tools/misc/dua/default.nix
@@ -2,7 +2,7 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dua";
-  version = "2.17.1";
+  version = "2.17.5";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
 
@@ -10,7 +10,7 @@ rustPlatform.buildRustPackage rec {
     owner = "Byron";
     repo = "dua-cli";
     rev = "v${version}";
-    sha256 = "sha256-58l0E5wwRKbF/ja3fmMMBIONjuwVOxlwdKRT5BeO9MQ=";
+    sha256 = "sha256-dpkUbZz/bIiTMhZalXHGct77qMzYB6LATs7MPVyW1GY=";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
@@ -18,13 +18,14 @@ rustPlatform.buildRustPackage rec {
     '';
   };
 
-  cargoSha256 = "sha256-nft0wrgTMrI8Tav6NcqPwSF8Q367twIOr1voBsW2488=";
+  cargoSha256 = "sha256-xBiabY0aGPxrAHypuSg3AF/EcChDgtIK9cJDCeTNkm0=";
 
   doCheck = false;
 
   meta = with lib; {
     description = "A tool to conveniently learn about the disk usage of directories, fast!";
     homepage = "https://github.com/Byron/dua-cli";
+    changelog = "https://github.com/Byron/dua-cli/raw/v${version}/CHANGELOG.md";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ killercup ];
   };
diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix
index 1f101735e9811..52ec2688103df 100644
--- a/pkgs/tools/misc/esphome/dashboard.nix
+++ b/pkgs/tools/misc/esphome/dashboard.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "esphome-dashboard";
-  version = "20220309.0";
+  version = "20220508.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-J/T3Av0jwT0CJSwc0j+YjaiKFqs9soLf7ctpiz5rmm4=";
+    sha256 = "sha256-nBVVNe6Qwo72ws6G8WAO99f2ftbxoixOB0eiLuILyeg=";
   };
 
   # no tests
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index 3ce65eb203801..6eba2ca94464f 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -15,14 +15,14 @@ let
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "esphome";
-  version = "2022.4.0";
+  version = "2022.5.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-/IMiUMtWFouAjOlyq+BXvqQ1IddBXvua7y0i4J1cktM=";
+    sha256 = "sha256-ys4oGYZvOxKOLyeIFPR33L2uCAB1lybSo6nCIYFuA/0=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/misc/fontforge/default.nix b/pkgs/tools/misc/fontforge/default.nix
index 3de016bf6d688..aa3d16a5fa566 100644
--- a/pkgs/tools/misc/fontforge/default.nix
+++ b/pkgs/tools/misc/fontforge/default.nix
@@ -63,7 +63,6 @@ stdenv.mkDerivation rec {
     ++ lib.optional (!withGTK) "-DENABLE_X11=ON"
     ++ lib.optional withExtras "-DENABLE_FONTFORGE_EXTRAS=ON";
 
-  # work-around: git isn't really used, but configuration fails without it
   preConfigure = ''
     # The way $version propagates to $version of .pe-scripts (https://github.com/dejavu-fonts/dejavu-fonts/blob/358190f/scripts/generate.pe#L19)
     export SOURCE_DATE_EPOCH=$(date -d ${version} +%s)
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 412f2733304d2..9b9505c9beb0e 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.8.3";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EqUaJHlZupk8CP0ob8pL5tAW/bzG38eZmA4hgTg1jYY=";
+    sha256 = "sha256-R20mzPpbFDUw/wrif3ZJCt2wgmV+yqSkGaxyuw/9z0E=";
   };
 
-  vendorSha256 = "sha256-UAApPni4zIAQVOmPAah5vEE8kTrGaJ3irjtsukBNVHo=";
+  vendorSha256 = "sha256-+Rj2hb9Sul5ntVGfuWf7JibKdG03zALiMWaaNTJFC8k=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index 64632986638d3..9a6d03c6dcaf4 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -4,7 +4,7 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "neofetch";
-  version = "unstable-2020-12-10";
+  version = "unstable-2021-12-10";
 
   src = fetchFromGitHub {
     owner = "dylanaraps";
@@ -19,8 +19,16 @@ stdenvNoCC.mkDerivation rec {
       sha256 = "1fapdg9z79f0j3vw7fgi72b54aw4brn42bjsj48brbvg3ixsciph";
       name = "avoid_overwriting_gio_extra_modules_env_var.patch";
     })
+    # https://github.com/dylanaraps/neofetch/pull/2114
+    (fetchpatch {
+      url = "https://github.com/dylanaraps/neofetch/commit/c4eb4ec7783bb94cca0dbdc96db45a4d965956d2.patch";
+      sha256 = "sha256-F6Q4dUtfmR28VxLbITiLFJ44FjG4T1Cvuz3a0nLisMs=";
+      name = "update_old_nixos_logo.patch";
+    })
   ];
 
+  outputs = [ "out" "man" ];
+
   strictDeps = true;
   buildInputs = [ bash ];
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index e158f1c3f44a7..720486100215a 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -6,17 +6,17 @@
 
 buildGoModule rec {
   pname = "opentelemetry-collector-contrib";
-  version = "0.47.0";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "sha256-IbpQd01uU6/Ihli+gVDjTB8T8cj//XHoZYcDjXD635Q=";
+    sha256 = "sha256-lMTOJFGuJhdXOvCk70Bee97Vb0HBCDnOLeK2q7S4hW8=";
   };
   # proxy vendor to avoid hash missmatches between linux and macOS
   proxyVendor = true;
-  vendorSha256 = "sha256-1svBCXfutjXfXfVqVHUTAt9T1ON/qbiS+VCt5kP/YIc=";
+  vendorSha256 = "sha256-CzFcSvJCMfS83Semk92XUd9iSX6OjOrDzRUNNLVtpi4=";
 
   subPackages = [ "cmd/otelcontribcol" ];
 
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index 1feb290bb1374..35ae2ca3f142c 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -12,17 +12,17 @@ let
 in
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.47.0";
+  version = "0.51.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    sha256 = "sha256-1dMdQWV+gxbMc/2iVsB1LCsYxR0bt5AJEvoFq2/KHCg=";
+    sha256 = "sha256-XCOyvFWvgGxjuOdyFk4Rh+HO8GBdRfWcR73h+7lF+8E=";
   };
   # there is a nested go.mod
   sourceRoot = "source/cmd/otelcorecol";
-  vendorSha256 = "sha256-ps6fUVg7vhGgy47WTJv/U1qHQ2MGXIWXNZ5Rddo1yQY=";
+  vendorSha256 = "sha256-BAcJpiO6jFKcjtbBA9LDad1ifDpb47nWOylH8dDBUN0=";
 
   preBuild = ''
     # set the build version, can't be done via ldflags
diff --git a/pkgs/tools/misc/pandoc-drawio-filter/default.nix b/pkgs/tools/misc/pandoc-drawio-filter/default.nix
index 1279296143cc9..73dd658dfb161 100644
--- a/pkgs/tools/misc/pandoc-drawio-filter/default.nix
+++ b/pkgs/tools/misc/pandoc-drawio-filter/default.nix
@@ -1,5 +1,5 @@
 { buildPythonApplication
-, drawio
+, drawio-headless
 , fetchFromGitHub
 , lib
 , pandoc
@@ -21,32 +21,13 @@ let
     sha256 = "sha256-2XJSAfxqEmmamWIAM3vZqi0mZjUUugmR3zWw8Imjadk=";
   };
 
-  wrappedDrawio = writeScriptBin "drawio" ''
-    #!${runtimeShell}
-
-    # Electron really wants a configuration directory to not die with:
-    # "Error: Failed to get 'appData' path"
-    # so we give it some temp dir as XDG_CONFIG_HOME
-    tmpdir=$(mktemp -d)
-
-    function cleanup {
-      rm -rf "$tmpdir"
-    }
-    trap cleanup EXIT
-
-    # Drawio needs to run in a virtual X session, because Electron
-    # refuses to work and dies with an unhelpful error message otherwise:
-    # "The futex facility returned an unexpected error code."
-    XDG_CONFIG_HOME="$tmpdir" ${xvfb-run}/bin/xvfb-run ${drawio}/bin/drawio $@
-  '';
-
   pandoc-drawio-filter = buildPythonApplication {
     pname = "pandoc-drawio-filter";
 
     inherit src version;
 
     propagatedBuildInputs = [
-      wrappedDrawio
+      drawio-headless
       pandocfilters
     ];
 
diff --git a/pkgs/tools/misc/shellspec/default.nix b/pkgs/tools/misc/shellspec/default.nix
index 27eead6e1c3ad..480ada8d57166 100644
--- a/pkgs/tools/misc/shellspec/default.nix
+++ b/pkgs/tools/misc/shellspec/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib, stdenv, fetchFromGitHub, bash }:
 
 stdenv.mkDerivation rec {
   pname = "shellspec";
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1ib5qp29f2fmivwnv6hq35qhvdxz42xgjlkvy0i3qn758riyqf46";
   };
 
+  strictDeps = true;
+  buildInputs = [ bash ];
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   checkPhase = ''
diff --git a/pkgs/tools/misc/txr/default.nix b/pkgs/tools/misc/txr/default.nix
index 4b521ed9ddaa9..e667c988ca6f5 100644
--- a/pkgs/tools/misc/txr/default.nix
+++ b/pkgs/tools/misc/txr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "txr";
-  version = "274";
+  version = "275";
 
   src = fetchurl {
     url = "http://www.kylheku.com/cgit/txr/snapshot/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-bWgz0kmPLN0V0rkFRiCqxkBjhN8FV9fL+Vu8GSw9Ja4=";
+    sha256 = "sha256-HmykTyh5F49CBa1w7o/HV6Q5Lsx1Qkxe0JBHQdGxVB4=";
   };
 
   buildInputs = [ libffi ];
diff --git a/pkgs/tools/misc/wimboot/default.nix b/pkgs/tools/misc/wimboot/default.nix
index 67df4056b5f40..bc43d77bbfba5 100644
--- a/pkgs/tools/misc/wimboot/default.nix
+++ b/pkgs/tools/misc/wimboot/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     description = "Windows Imaging Format bootloader";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ das_j ajs124 ];
-    platforms = platforms.x86; # Fails on aarch64
+    platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/tools/misc/wootility/default.nix b/pkgs/tools/misc/wootility/default.nix
index a79f414a35913..cb3eeca27af83 100644
--- a/pkgs/tools/misc/wootility/default.nix
+++ b/pkgs/tools/misc/wootility/default.nix
@@ -1,8 +1,6 @@
 { appimageTools
 , fetchurl
 , lib
-, gsettings-desktop-schemas
-, gtk3
 , libxkbfile
 , udev
 , wooting-udev-rules
@@ -21,7 +19,6 @@ appimageTools.wrapType2 rec {
 
   profile = ''
     export LC_ALL=C.UTF-8
-    export XDG_DATA_DIRS="${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS"
   '';
 
   multiPkgs = extraPkgs;
diff --git a/pkgs/tools/misc/yt-dlp/default.nix b/pkgs/tools/misc/yt-dlp/default.nix
index d67678f6ee559..0eab77c5ab655 100644
--- a/pkgs/tools/misc/yt-dlp/default.nix
+++ b/pkgs/tools/misc/yt-dlp/default.nix
@@ -20,12 +20,12 @@ buildPythonPackage rec {
   # The websites yt-dlp deals with are a very moving target. That means that
   # downloads break constantly. Because of that, updates should always be backported
   # to the latest stable release.
-  version = "2022.04.08";
+  version = "2022.05.18";
 
   src = fetchPypi {
     inherit pname;
     version = builtins.replaceStrings [ ".0" ] [ "." ] version;
-    sha256 = "sha256-h1jQFlCdRXS5D73pdapwra73HtXnoZUUFYj21pRSBbo=";
+    sha256 = "sha256-OntZ0vtLOc6LqOC5xaN/4g5WJPRqI0a0rmarEyDjUTQ=";
   };
 
   propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
@@ -67,6 +67,6 @@ buildPythonPackage rec {
       you can modify it, redistribute it or use it however you like.
     '';
     license = licenses.unlicense;
-    maintainers = with maintainers; [ mkg20001 SuperSandro2000 ];
+    maintainers = with maintainers; [ mkg20001 SuperSandro2000 marsam ];
   };
 }
diff --git a/pkgs/tools/misc/yubikey-personalization/default.nix b/pkgs/tools/misc/yubikey-personalization/default.nix
index 59739e06aa0ca..f8583f3614024 100644
--- a/pkgs/tools/misc/yubikey-personalization/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization/default.nix
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
       url = "https://github.com/Yubico/yubikey-personalization/commit/0aa2e2cae2e1777863993a10c809bb50f4cde7f8.patch";
       sha256 = "1wnigf3hbq59i15kgxpq3pwrl1drpbj134x81mmv9xm1r44cjva8";
     })
+
+    # Pull upstream fix for -fno-common toolchain support:
+    #  https://github.com/Yubico/yubikey-personalization/issues/155
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/Yubico/yubikey-personalization/commit/09ea16d9e2030e4da6ad00c1e5147e962aa7ff84.patch";
+      sha256 = "0n3ka8n7f3ndbxv3k0bi77d850kr2ypglkw81gqycpqyaciidqwa";
+    })
   ];
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/misc/zabbixctl/default.nix b/pkgs/tools/misc/zabbixctl/default.nix
index 81d81b6794eb0..3b25d479388e2 100644
--- a/pkgs/tools/misc/zabbixctl/default.nix
+++ b/pkgs/tools/misc/zabbixctl/default.nix
@@ -1,19 +1,19 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "zabbixctl";
-  version = "unstable-2019-07-06";
-
-  goPackagePath = "github.com/kovetskiy/zabbixctl";
+  version = "unstable-2021-05-25";
 
   src = fetchFromGitHub {
     owner = "kovetskiy";
     repo = pname;
-    rev = "f2e856b7ab7d8ff9f494fe9f481bbaef18ea6ff7";
-    sha256 = "1lr3g9h3aa2px2kh5b2qcpj3aqyhqwq7kj1s9wifgmri9q7fsdzy";
+    rev = "872d73b12901b143898bffe3711b93a34ca75abe";
+    sha256 = "sha256-fWT3cgIHjHcKwFDjWIf3BUUUaVZ7hyc2ibkpU+AsW0I=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-BphQcPPmeNU7RDtaHJQxIoW8xxD86xWgqLBsLR08Tag=";
+
+  ldflags = [ "-s" "-w" ];
 
   meta = with lib; {
     description = "Most effective way for operating in Zabbix Server";
diff --git a/pkgs/tools/misc/zabbixctl/deps.nix b/pkgs/tools/misc/zabbixctl/deps.nix
deleted file mode 100644
index 2bf015acf5f5f..0000000000000
--- a/pkgs/tools/misc/zabbixctl/deps.nix
+++ /dev/null
@@ -1,111 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "3012a1dbe2e4bd1391d42b32f0577cb7bbc7f005";
-      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
-    };
-  }
-  {
-    goPackagePath = "github.com/jinzhu/configor";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jinzhu/configor";
-      rev = "9064de4b2535f218bde55dc8de50a3904ef800d0";
-      sha256 = "13wd7s2kff3s0bz5mi0m2zcz1r8mwnwhd944gxymzkwij71lhasn";
-    };
-  }
-  {
-    goPackagePath = "github.com/kovetskiy/godocs";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kovetskiy/godocs";
-      rev = "2d9428f80f3442e07f67daf7ba378cd0ff6cfe24";
-      sha256 = "128dlvxqk31crzl9p3ps0nir724cjzxv4lxpgdvsir0wvfp8f83j";
-    };
-  }
-  {
-    goPackagePath = "github.com/kovetskiy/lorg";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kovetskiy/lorg";
-      rev = "9c6042b7edb0c491dd0722fad91e2b5e833d6b43";
-      sha256 = "0j1cm7mni47vraxnyigc55cq0yxw8zdyjmrq2c7vnm5s4kiia8pi";
-    };
-  }
-  {
-    goPackagePath = "github.com/kovetskiy/spinner-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/kovetskiy/spinner-go";
-      rev = "00597fd24fe0d8079821b68f71d73b0661401752";
-      sha256 = "19qcpnvs61fsk7xgcj5b6s3zksnkc5rk9n5hx73v9ya7m2k7xr2n";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211";
-      sha256 = "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w";
-    };
-  }
-  {
-    goPackagePath = "github.com/olekukonko/tablewriter";
-    fetch = {
-      type = "git";
-      url = "https://github.com/olekukonko/tablewriter";
-      rev = "cc27d85e17cec9768d2ac401ea5d619a9628f16d";
-      sha256 = "1y3pkvypkxjrhlnsv8lcyd0c2q8mn5asfny2zi9j2vs77s5bd9qm";
-    };
-  }
-  {
-    goPackagePath = "github.com/reconquest/karma-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/reconquest/karma-go";
-      rev = "1094651bd246b1685f7b368e099aba6fca9efd8f";
-      sha256 = "0jiayzxwp0h7skg86q58rh58m2imdg3ng2vzpc2bxiz67lzcpk3r";
-    };
-  }
-  {
-    goPackagePath = "github.com/simplereach/timeutils";
-    fetch = {
-      type = "git";
-      url = "https://github.com/simplereach/timeutils";
-      rev = "1a719258b86a08630289b86902ab16817ba641e9";
-      sha256 = "08mf2j0dk07c9p279ydbrjxbjf113azmq0x8vhf7jvldcgjpw3m6";
-    };
-  }
-  {
-    goPackagePath = "github.com/zazab/zhash";
-    fetch = {
-      type = "git";
-      url = "https://github.com/zazab/zhash";
-      rev = "ad45b89afe7af57319ca32f174e4dabeb00c44e4";
-      sha256 = "16b6f70qwfyg0zvbpk0yj5jx4cv2ggkyiqc5nk8n0165z46i62hs";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/mgo.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/mgo.v2";
-      rev = "9856a29383ce1c59f308dd1cf0363a79b5bef6b5";
-      sha256 = "1gfbcmvpwwf1lydxj3g42wv2g9w3pf0y02igqk4f4f21h02sazkw";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/yaml.v2";
-    fetch = {
-      type = "git";
-      url = "https://gopkg.in/yaml.v2";
-      rev = "51d6538a90f86fe93ac480b35f37b2be17fef232";
-      sha256 = "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa";
-    };
-  }
-]
diff --git a/pkgs/tools/networking/argus-clients/default.nix b/pkgs/tools/networking/argus-clients/default.nix
index cd935a5f5d7d7..30367eb14e454 100644
--- a/pkgs/tools/networking/argus-clients/default.nix
+++ b/pkgs/tools/networking/argus-clients/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "argus-clients";
-  version = "3.0.8.2";
+  version = "3.0.8.3";
 
   src = fetchurl {
     url = "http://qosient.com/argus/src/${pname}-${version}.tar.gz";
-    sha256 = "1c9vj6ma00gqq9h92fg71sxcsjzz912166sdg90ahvnmvmh3l1rj";
+    sha256 = "sha256-uNTvi6zbrYHAivQMPkhlNCoqRW9GOkgKvCf3mInds80=";
   };
 
   NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
diff --git a/pkgs/tools/networking/aria2/default.nix b/pkgs/tools/networking/aria2/default.nix
index 8fabea35ba90b..bb70c66b320fc 100644
--- a/pkgs/tools/networking/aria2/default.nix
+++ b/pkgs/tools/networking/aria2/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchpatch, fetchFromGitHub, pkg-config, autoreconfHook
+{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook
 , openssl, c-ares, libxml2, sqlite, zlib, libssh2
 , cppunit, sphinx
 , Security
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt"
     "--enable-libaria2"
+    "--with-bashcompletiondir=${placeholder "bin"}/share/bash-completion/completions"
   ];
 
   prePatch = ''
diff --git a/pkgs/tools/networking/babeld/default.nix b/pkgs/tools/networking/babeld/default.nix
index cde173ba305a0..28caace10289c 100644
--- a/pkgs/tools/networking/babeld/default.nix
+++ b/pkgs/tools/networking/babeld/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "babeld";
-  version = "1.11";
+  version = "1.12.1";
 
   src = fetchurl {
     url = "https://www.irif.fr/~jch/software/files/${pname}-${version}.tar.gz";
-    sha256 = "sha256-mTFa6vLqIH8XfBaFX/o0/DVK8bWYjAcODy/KOg1ND6U=";
+    sha256 = "sha256-mrWdesdB82MN8j+cO2fGApTYs0q2IjmPm4l3OoeOyx4=";
   };
 
   preBuild = ''
diff --git a/pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch b/pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch
new file mode 100644
index 0000000000000..c68f9f1d84dff
--- /dev/null
+++ b/pkgs/tools/networking/curl/7.83.1-quiche-support-ca-fallback.patch
@@ -0,0 +1,51 @@
+diff --git a/lib/vquic/quiche.c b/lib/vquic/quiche.c
+index bfdc966a85ea..e4bea4d677be 100644
+--- a/lib/vquic/quiche.c
++++ b/lib/vquic/quiche.c
+@@ -201,23 +201,31 @@ static SSL_CTX *quic_ssl_ctx(struct Curl_easy *data)
+ 
+   {
+     struct connectdata *conn = data->conn;
+-    const char * const ssl_cafile = conn->ssl_config.CAfile;
+-    const char * const ssl_capath = conn->ssl_config.CApath;
+-
+     if(conn->ssl_config.verifypeer) {
+-      SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, NULL);
+-      /* tell OpenSSL where to find CA certificates that are used to verify
+-         the server's certificate. */
+-      if(!SSL_CTX_load_verify_locations(ssl_ctx, ssl_cafile, ssl_capath)) {
+-        /* Fail if we insist on successfully verifying the server. */
+-        failf(data, "error setting certificate verify locations:"
+-              "  CAfile: %s CApath: %s",
+-              ssl_cafile ? ssl_cafile : "none",
+-              ssl_capath ? ssl_capath : "none");
+-        return NULL;
++      const char * const ssl_cafile = conn->ssl_config.CAfile;
++      const char * const ssl_capath = conn->ssl_config.CApath;
++      if(ssl_cafile || ssl_capath) {
++        SSL_CTX_set_verify(ssl_ctx, SSL_VERIFY_PEER, NULL);
++        /* tell OpenSSL where to find CA certificates that are used to verify
++           the server's certificate. */
++        if(!SSL_CTX_load_verify_locations(ssl_ctx, ssl_cafile, ssl_capath)) {
++          /* Fail if we insist on successfully verifying the server. */
++          failf(data, "error setting certificate verify locations:"
++                "  CAfile: %s CApath: %s",
++                ssl_cafile ? ssl_cafile : "none",
++                ssl_capath ? ssl_capath : "none");
++          return NULL;
++        }
++        infof(data, " CAfile: %s", ssl_cafile ? ssl_cafile : "none");
++        infof(data, " CApath: %s", ssl_capath ? ssl_capath : "none");
+       }
+-      infof(data, " CAfile: %s", ssl_cafile ? ssl_cafile : "none");
+-      infof(data, " CApath: %s", ssl_capath ? ssl_capath : "none");
++#ifdef CURL_CA_FALLBACK
++      else {
++        /* verifying the peer without any CA certificates won't work so
++           use openssl's built-in default as fallback */
++        SSL_CTX_set_default_verify_paths(ssl_ctx);
++      }
++#endif
+     }
+   }
+   return ssl_ctx;
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index 02ae74bd63330..66d2dfcdb9ae2 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -62,18 +62,21 @@ assert zstdSupport -> zstd != null;
 
 stdenv.mkDerivation rec {
   pname = "curl";
-  version = "7.83.0";
+  version = "7.83.1";
 
   src = fetchurl {
     urls = [
       "https://curl.haxx.se/download/${pname}-${version}.tar.bz2"
       "https://github.com/curl/curl/releases/download/${lib.replaceStrings ["."] ["_"] pname}-${version}/${pname}-${version}.tar.bz2"
     ];
-    sha256 = "sha256-JHx+x1IcQljmVjTlKScNIU/jKWmXHMy3KEXnqkaDH5Y=";
+    sha256 = "sha256-9Tmjb7RKgmDsXZd+Tg290u7intkPztqpvDyfeKETv/A=";
   };
 
   patches = [
     ./7.79.1-darwin-no-systemconfiguration.patch
+    # quiche: support ca-fallback
+    # https://github.com/curl/curl/commit/fdb5e21b4dd171a96cf7c002ee77bb08f8e58021
+    ./7.83.1-quiche-support-ca-fallback.patch
   ];
 
   outputs = [ "bin" "dev" "out" "man" "devdoc" ];
@@ -141,15 +144,24 @@ stdenv.mkDerivation rec {
     ] ++ lib.optionals stdenv.isDarwin [
       # Disable default CA bundle, use NIX_SSL_CERT_FILE or fallback to nss-cacert from the default profile.
       # Without this curl might detect /etc/ssl/cert.pem at build time on macOS, causing curl to ignore NIX_SSL_CERT_FILE.
-      # https://github.com/curl/curl/issues/8696 - fallback is not supported by HTTP3
-      (if http3Support then "--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt" else "--without-ca-bundle")
+      "--without-ca-bundle"
       "--without-ca-path"
     ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
   CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
 
-  doCheck = false; # expensive, fails
+  doCheck = true;
+  preCheck = ''
+    patchShebangs tests/
+  '' + lib.optionalString stdenv.isDarwin ''
+    # bad interaction with sandbox if enabled?
+    rm tests/data/test1453
+    rm tests/data/test1086
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
+    # different resolving behaviour?
+    rm tests/data/test1592
+  '';
 
   postInstall = ''
     moveToOutput bin/curl-config "$dev"
diff --git a/pkgs/tools/networking/goreplay/default.nix b/pkgs/tools/networking/goreplay/default.nix
index 14d0a16366ba4..dab5bee882c12 100644
--- a/pkgs/tools/networking/goreplay/default.nix
+++ b/pkgs/tools/networking/goreplay/default.nix
@@ -1,21 +1,24 @@
-{ lib, buildGoPackage, fetchFromGitHub, libpcap }:
+{ lib, buildGoModule, fetchFromGitHub, libpcap }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "goreplay";
-  version = "1.1.0";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/buger/goreplay";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
-    inherit rev;
-    owner  = "buger";
-    repo   = "goreplay";
-    sha256 = "07nsrx5hwmk6l8bqp48gqk40i9bxf0g4fbmpqbngx6j5f7lpbk2n";
+    owner = "buger";
+    repo = "goreplay";
+    rev = version;
+    sha256 = "sha256-FiY9e5FgpPu+K8eoO8TsU3xSaSoPPDxYEu0oi/S8Q1w=";
   };
 
+  vendorSha256 = "sha256-jDMAtcq3ZowFdky5BdTkVNxq4ltkhklr76nXYJgGALg=";
+
+  ldflags = [ "-s" "-w" ];
+
   buildInputs = [ libpcap ];
 
+  doCheck = false;
+
   meta = {
     homepage = "https://github.com/buger/goreplay";
     license = lib.licenses.lgpl3Only;
diff --git a/pkgs/tools/networking/hping/default.nix b/pkgs/tools/networking/hping/default.nix
index 97b45c64ee24f..33663a44d2a96 100644
--- a/pkgs/tools/networking/hping/default.nix
+++ b/pkgs/tools/networking/hping/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, libpcap, withTcl ? true, tcl }:
+{ lib, stdenv, fetchFromGitHub, fetchpatch, libpcap, withTcl ? true, tcl }:
 
 stdenv.mkDerivation rec {
   pname = "hping";
@@ -10,6 +10,15 @@ stdenv.mkDerivation rec {
     rev = "3547c7691742c6eaa31f8402e0ccbb81387c1b99"; # there are no tags/releases
     sha256 = "0y0n1ybij3yg9lfgzcwfmjz1sjg913zcqrv391xx83dm0j80sdpb";
   };
+  patches = [
+    # Pull patch pending upstream inclusion for -fno-common toolchain
+    # support: https://github.com/antirez/hping/pull/64
+    (fetchpatch {
+      name = "fno-common.patch";
+      url = "https://github.com/antirez/hping/pull/64/commits/d057b9309aec3a5a53aaee1ac3451a8a5b71b4e8.patch";
+      sha256 = "0bqr7kdlziijja588ipj8g5hv2109wq01c6x2qadbhjfnsps1b6l";
+    })
+  ];
 
   buildInputs = [ libpcap ] ++ lib.optional withTcl tcl;
 
diff --git a/pkgs/tools/networking/iftop/default.nix b/pkgs/tools/networking/iftop/default.nix
index abdb7d05b28b7..137ce03b2520e 100644
--- a/pkgs/tools/networking/iftop/default.nix
+++ b/pkgs/tools/networking/iftop/default.nix
@@ -19,6 +19,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ncurses libpcap];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: tui.o:/build/iftop-1.0pre4/ui_common.h:41: multiple definition of `service_hash';
+  #     iftop.o:/build/iftop-1.0pre4/ui_common.h:41: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   passthru.tests = { inherit (nixosTests) iftop; };
 
   meta = with lib; {
diff --git a/pkgs/tools/networking/iouyap/default.nix b/pkgs/tools/networking/iouyap/default.nix
index 2367261b52239..0b3c8007af6eb 100644
--- a/pkgs/tools/networking/iouyap/default.nix
+++ b/pkgs/tools/networking/iouyap/default.nix
@@ -13,6 +13,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ bison flex ];
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: netmap.o:(.bss+0x20): multiple definition of `sizecheck'; iouyap.o:(.bss+0x20): first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   installPhase = ''
     install -D -m555 iouyap $out/bin/iouyap;
   '';
diff --git a/pkgs/tools/networking/lsh/default.nix b/pkgs/tools/networking/lsh/default.nix
index 5893579b1a7bf..07f0524d5f4fa 100644
--- a/pkgs/tools/networking/lsh/default.nix
+++ b/pkgs/tools/networking/lsh/default.nix
@@ -31,7 +31,12 @@ stdenv.mkDerivation rec {
     export lsh_cv_sys_unix98_ptys=yes
   '';
 
-  NIX_CFLAGS_COMPILE = "-std=gnu90";
+  # -fcommon: workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: liblsh.a(unix_user.o):/build/lsh-2.0.4/src/server_userauth.h:108: multiple definition of
+  #     `server_userauth_none_preauth'; lshd.o:/build/lsh-2.0.4/src/server_userauth.h:108: first defined here
+  # Should be present in upcoming 2.1 release.
+  NIX_CFLAGS_COMPILE = "-std=gnu90 -fcommon";
 
   buildInputs = [ gperf guile gmp zlib liboop readline gnum4 pam ];
 
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index 86195ba86923b..5dc59f9590f5d 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -54,11 +54,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.36.4";
+  version = "1.38.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "YTBOk33ZJkcdVnFb3t57q3zKyCc1bmfycA00MxfNPFk=";
+    sha256 = "sha256-gqTPB93+sIFnh7Z8D1BYrmxQ1iWcCwVBok41FWBisu8=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
diff --git a/pkgs/tools/networking/networkmanager/l2tp/default.nix b/pkgs/tools/networking/networkmanager/l2tp/default.nix
index 889f15659592e..11a414a8a6a02 100644
--- a/pkgs/tools/networking/networkmanager/l2tp/default.nix
+++ b/pkgs/tools/networking/networkmanager/l2tp/default.nix
@@ -1,18 +1,34 @@
-{ lib, stdenv, substituteAll, fetchFromGitHub, autoreconfHook, libtool, intltool, pkg-config
-, file
-, gtk3, networkmanager, ppp, xl2tpd, strongswan, libsecret
-, withGnome ? true, libnma, glib }:
+{ stdenv
+, lib
+, substituteAll
+, fetchFromGitHub
+, autoreconfHook
+, pkg-config
+, gtk3
+, gtk4
+, networkmanager
+, ppp
+, xl2tpd
+, strongswan
+, libsecret
+, withGnome ? true
+, libnma
+, libnma-gtk4
+, glib
+, openssl
+, nss
+}:
 
 stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname = "NetworkManager-l2tp";
-  version = "1.2.12";
+  version = "1.20.4";
 
   src = fetchFromGitHub {
     owner = "nm-l2tp";
     repo = "network-manager-l2tp";
     rev = version;
-    sha256 = "0cq07kvlm98s8a7l4a3zmqnif8x3307kv7n645zx3f1r7x72b8m4";
+    sha256 = "VoqPjMQILBYemRE5VD/XwhWi9zL9QxxHZJ2JKtGglFo=";
   };
 
   patches = [
@@ -22,20 +38,29 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ networkmanager ppp glib ]
-    ++ lib.optionals withGnome [ gtk3 libsecret libnma ];
-
-  nativeBuildInputs = [ autoreconfHook libtool intltool pkg-config file ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
 
-  preConfigure = ''
-    intltoolize -f
-  '';
+  buildInputs = [
+    networkmanager
+    ppp
+    glib
+    openssl
+    nss
+  ] ++ lib.optionals withGnome [
+    gtk3
+    gtk4
+    libsecret
+    libnma
+    libnma-gtk4
+  ];
 
   configureFlags = [
-    "--without-libnm-glib"
     "--with-gnome=${if withGnome then "yes" else "no"}"
+    "--with-gtk4=${if withGnome then "yes" else "no"}"
     "--localstatedir=/var"
-    "--sysconfdir=$(out)/etc"
     "--enable-absolute-paths"
   ];
 
@@ -49,7 +74,7 @@ stdenv.mkDerivation rec {
     description = "L2TP plugin for NetworkManager";
     inherit (networkmanager.meta) platforms;
     homepage = "https://github.com/nm-l2tp/network-manager-l2tp";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ abbradar obadz ];
   };
 }
diff --git a/pkgs/tools/networking/networkmanager/l2tp/fix-paths.patch b/pkgs/tools/networking/networkmanager/l2tp/fix-paths.patch
index 531672c393625..d9ee0dd49975e 100644
--- a/pkgs/tools/networking/networkmanager/l2tp/fix-paths.patch
+++ b/pkgs/tools/networking/networkmanager/l2tp/fix-paths.patch
@@ -1,22 +1,22 @@
 diff --git a/shared/utils.c b/shared/utils.c
-index c978a1f..d2c36cd 100644
+index 453e277..28716a5 100644
 --- a/shared/utils.c
 +++ b/shared/utils.c
-@@ -52,7 +52,7 @@ nm_find_ipsec (void)
+@@ -39,7 +39,7 @@ check_ipsec_daemon(const char *path)
+ const char *
+ nm_find_ipsec(void)
  {
- 	static const char *ipsec_binary_paths[] =
- 		{
--			"/sbin/ipsec",
-+			"@strongswan@/bin/ipsec",
- 			"/usr/sbin/ipsec",
- 			"/usr/local/sbin/ipsec",
- 			"/sbin/strongswan",
-@@ -77,7 +77,7 @@ nm_find_l2tpd (void)
- {
- 	static const char *l2tp_binary_paths[] =
- 		{
--			"/sbin/xl2tpd",
-+			"@xl2tpd@/bin/xl2tpd",
- 			"/usr/sbin/xl2tpd",
- 			"/usr/local/sbin/xl2tpd",
- 			NULL
+-    static const char *ipsec_binary_paths[] = {"/usr/bin/ipsec",
++    static const char *ipsec_binary_paths[] = {"@strongswan@/bin/ipsec",
+                                                "/sbin/ipsec",
+                                                "/usr/sbin/ipsec",
+                                                "/usr/local/sbin/ipsec",
+@@ -70,7 +70,7 @@ nm_find_l2tpd(NML2tpL2tpDaemon *l2tp_daemon)
+                                                "/usr/local/sbin/kl2tpd",
+                                                NULL};
+ 
+-    static const char *xl2tp_binary_paths[] = {"/usr/bin/xl2tpd",
++    static const char *xl2tp_binary_paths[] = {"@xl2tpd@/bin/xl2tpd",
+                                                "/sbin/xl2tpd",
+                                                "/usr/sbin/xl2tpd",
+                                                "/usr/local/sbin/xl2tpd",
diff --git a/pkgs/tools/networking/networkmanager/strongswan/default.nix b/pkgs/tools/networking/networkmanager/strongswan/default.nix
index be0dcf234ffb5..e080ca17db13c 100644
--- a/pkgs/tools/networking/networkmanager/strongswan/default.nix
+++ b/pkgs/tools/networking/networkmanager/strongswan/default.nix
@@ -1,35 +1,55 @@
-{ lib, stdenv, fetchurl, intltool, pkg-config, networkmanager, strongswanNM
-, gtk3, gnome, libsecret, libnma }:
+{ stdenv
+, lib
+, fetchurl
+, intltool
+, pkg-config
+, networkmanager
+, strongswanNM
+, gtk3
+, gtk4
+, gnome
+, libsecret
+, libnma
+, libnma-gtk4
+}:
 
 stdenv.mkDerivation rec {
   pname = "NetworkManager-strongswan";
-  version = "1.5.2";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "https://download.strongswan.org/NetworkManager/${pname}-${version}.tar.bz2";
-    sha256 = "0sc1yzlxjfvl58hjjw99bchqc4061i3apw254z61v22k4sajnif8";
+    sha256 = "bbyA9qCboM9hBKMXhJWXgEFN13Fl4pY6zWZXwowlRMI=";
   };
 
-  buildInputs = [ networkmanager strongswanNM libsecret gtk3 libnma ];
-
-  nativeBuildInputs = [ intltool pkg-config ];
+  nativeBuildInputs = [
+    intltool
+    pkg-config
+  ];
 
-  # glib-2.62 deprecations
-  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+  buildInputs = [
+    networkmanager
+    strongswanNM
+    libsecret
+    gtk3
+    gtk4
+    libnma
+    libnma-gtk4
+  ];
 
   configureFlags = [
-    "--without-libnm-glib"
     "--with-charon=${strongswanNM}/libexec/ipsec/charon-nm"
-    "--with-nm-libexecdir=$(out)/libexec"
-    "--with-nm-plugindir=$(out)/lib/NetworkManager"
+    "--with-nm-libexecdir=${placeholder "out"}/libexec"
+    "--with-nm-plugindir=${placeholder "out"}/lib/NetworkManager"
+    "--with-gtk4"
   ];
 
+  PKG_CONFIG_LIBNM_VPNSERVICEDIR = "${placeholder "out"}/lib/NetworkManager/VPN";
+
   passthru = {
     networkManagerPlugin = "VPN/nm-strongswan-service.name";
   };
 
-  PKG_CONFIG_LIBNM_VPNSERVICEDIR = "$(out)/lib/NetworkManager/VPN";
-
   meta = with lib; {
     description = "NetworkManager's strongswan plugin";
     inherit (networkmanager.meta) platforms;
diff --git a/pkgs/tools/networking/proxychains-ng/default.nix b/pkgs/tools/networking/proxychains-ng/default.nix
index 35a6c7d7f8753..12b3932b8f990 100644
--- a/pkgs/tools/networking/proxychains-ng/default.nix
+++ b/pkgs/tools/networking/proxychains-ng/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
@@ -14,6 +15,28 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-uu/zN6W0ue526/3a9QeYg6J4HLaovZJVOYXksjouYok=";
   };
 
+  patches = [
+    # zsh completion
+    (fetchpatch {
+      url = "https://github.com/rofl0r/proxychains-ng/commit/04023d3811d8ee34b498b429bac7a871045de59c.patch";
+      sha256 = "sha256-Xcg2kmAhj/OJn/RKJAxb9MOJNJQY7FXmxEIzQ5dvabo=";
+    })
+    (fetchpatch {
+      url = "https://github.com/rofl0r/proxychains-ng/commit/9b42da71f4df7b783cf07a58ffa095e293c43380.patch";
+      sha256 = "sha256-tYv9XP51WtsjaoklwQk3D/MQceoOvtdMwBraECt6AXQ=";
+    })
+  ];
+
+  installFlags = [
+    "install-config"
+    # TODO: check on next update if that works and remove postInstall
+    # "install-zsh-completion"
+  ];
+
+  postInstall = ''
+    ./tools/install.sh -D -m 644 completions/_proxychains $out/share/zsh/site_functions/_proxychains4
+  '';
+
   meta = with lib; {
     description = "A preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies";
     homepage = "https://github.com/rofl0r/proxychains-ng";
diff --git a/pkgs/tools/networking/proxychains/default.nix b/pkgs/tools/networking/proxychains/default.nix
index b93c6ae12cfbc..df692f372c87a 100644
--- a/pkgs/tools/networking/proxychains/default.nix
+++ b/pkgs/tools/networking/proxychains/default.nix
@@ -19,6 +19,10 @@ stdenv.mkDerivation rec {
     substituteInPlace Makefile --replace "-Werror" "-Werror -Wno-stringop-truncation"
   '';
 
+  installFlags = [
+    "install-config"
+  ];
+
   meta = with lib; {
     description = "Proxifier for SOCKS proxies";
     homepage = "http://proxychains.sourceforge.net";
diff --git a/pkgs/tools/networking/ua/default.nix b/pkgs/tools/networking/ua/default.nix
index 4190e81021470..e9c7c34e9b5a0 100644
--- a/pkgs/tools/networking/ua/default.nix
+++ b/pkgs/tools/networking/ua/default.nix
@@ -1,26 +1,23 @@
-{ lib, buildGoPackage, fetchFromGitHub
-, pkg-config
-, glib, libxml2
-}:
+{ lib, buildGoModule, fetchFromGitHub, pkg-config, glib, libxml2 }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "ua";
-  version = "unstable-2017-02-24";
-
-  goPackagePath = "github.com/sloonz/ua";
+  version = "unstable-2021-12-18";
 
   src = fetchFromGitHub {
     owner = "sloonz";
     repo = "ua";
-    rev = "325dab92c60e0f028e55060f0c288aa70905fb17";
-    sha256 = "sha256-LlpxWwKO+gZltkmpQyWaG+qhZFnmETFKIqlOxOzEohA=";
+    rev = "b6d75970bb4f6f340887e1eadad5aa8ce78f30e3";
+    sha256 = "sha256-rCp8jyqQfq5eVdvKZz3vKuDfcR+gQOEAfBZx2It/rb0=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-0O80uhxSVsV9N7Z/FgaLwcjZqeb4MqSCE1YW5Zd32ns=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ glib libxml2 ];
 
+  ldflags = [ "-s" "-w" ];
+
   meta = with lib; {
     homepage = "https://github.com/sloonz/ua";
     license = licenses.isc;
diff --git a/pkgs/tools/networking/ua/deps.nix b/pkgs/tools/networking/ua/deps.nix
deleted file mode 100644
index e59b9f239a68d..0000000000000
--- a/pkgs/tools/networking/ua/deps.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.2.0
-[
-  {
-    goPackagePath = "github.com/sloonz/cfeedparser";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sloonz/cfeedparser";
-      rev = "a220b181f09fa7fba347c7fa72168ed8a010907a";
-      sha256 = "1dsdzflwbb0cw39bs37shggmswggb326sfdb5x25f4bpd19z6qp0";
-    };
-  }
-  {
-    goPackagePath = "github.com/sloonz/go-maildir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sloonz/go-maildir";
-      rev = "4629e76d952bb24730bbe1b4c7bc628cd54babb6";
-      sha256 = "0i9r7hhk0ih47pmc9ixhv17fa6gba3j7vk9g8j0di0pr0siha65f";
-    };
-  }
-  {
-    goPackagePath = "github.com/sloonz/go-mime-message";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sloonz/go-mime-message";
-      rev = "cf50e17d2410fee25cdb89485ab0d5996f2d3bfc";
-      sha256 = "09r45w2qfl0rx785xpgcjv9bvdnwkz7fyr272rdi3krwr900fwxs";
-    };
-  }
-  {
-    goPackagePath = "github.com/sloonz/go-qprintable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/sloonz/go-qprintable";
-      rev = "775b3a4592d5bfc47b0ba398ec0d4dba018e5926";
-      sha256 = "19r8ica7kd946brdh1zn4hkzgbciqsz42a2p1h7hgzpmld51kg43";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/redis.v3";
-    fetch = {
-      type = "git";
-      url = "https://github.com/go-redis/redis";
-      rev = "b5e368500d0a508ef8f16e9c2d4025a8a46bcc29";
-      sha256 = "1syhnm1csrlfh1jgd1v9bzf2pp9ljyg4ks3z6xx0nqd83xmyhdzh";
-    };
-  }
-  {
-    goPackagePath = "gopkg.in/bsm/ratelimit.v1";
-    fetch = {
-      type = "git";
-      url = "https://github.com/bsm/ratelimit";
-      rev = "db14e161995a5177acef654cb0dd785e8ee8bc22";
-      sha256 = "1ph6dsvgwrsli9akh6arwkvz78hkdb42lyqmgfckjcsar1a2fcsh";
-    };
-  }
-]
diff --git a/pkgs/tools/nix/alejandra/default.nix b/pkgs/tools/nix/alejandra/default.nix
index 62deef516d50e..0e7f5e133eaad 100644
--- a/pkgs/tools/nix/alejandra/default.nix
+++ b/pkgs/tools/nix/alejandra/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "alejandra";
-  version = "1.2.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "kamadorueda";
     repo = "alejandra";
     rev = version;
-    sha256 = "sha256-35hEJuMvRswOPKb9lbB9ZuHVe0eJN6WJc4T8Frn0hYQ=";
+    sha256 = "sha256-0AolxQtKj3Oek0WSbODDpPVO5Ih8PXHOA3qXEKPB4dQ=";
   };
 
-  cargoSha256 = "sha256-SsIpggbRQPjpCYgCG4sSJ022MmMV4bJJ8UAHcJR74O8=";
+  cargoSha256 = "sha256-USI98hozlTaTj07tMbCQEWDgRkHsd4PFW1HUpKsNZJA=";
 
   passthru.tests = {
     version = testers.testVersion { package = alejandra; };
diff --git a/pkgs/tools/nix/npins/default.nix b/pkgs/tools/nix/npins/default.nix
new file mode 100644
index 0000000000000..8324a2d890076
--- /dev/null
+++ b/pkgs/tools/nix/npins/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, nix-gitignore
+, makeWrapper
+, stdenv
+, darwin
+, callPackage
+
+  # runtime dependencies
+, nix # for nix-prefetch-url
+, nix-prefetch-git
+, git # for git ls-remote
+}:
+
+let
+  runtimePath = lib.makeBinPath [ nix nix-prefetch-git git ];
+  sources = (builtins.fromJSON (builtins.readFile ./sources.json)).pins;
+in rustPlatform.buildRustPackage rec {
+  pname = "npins";
+  version = src.version;
+  src = passthru.mkSource sources.npins;
+
+  cargoSha256 = "0rwnzkmx91cwcz9yw0rbbqv73ba6ggim9f4qgz5pgy6h696ld2k8";
+
+  buildInputs = lib.optional stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Security ]);
+  nativeBuildInputs = [ makeWrapper ];
+
+  # (Almost) all tests require internet
+  doCheck = false;
+
+  postFixup = ''
+    wrapProgram $out/bin/npins --prefix PATH : "${runtimePath}"
+  '';
+
+  meta = with lib; {
+    description = "Simple and convenient dependency pinning for Nix";
+    homepage = "https://github.com/andir/npins";
+    license = licenses.eupl12;
+    maintainers = with maintainers; [ piegames ];
+  };
+
+  passthru.mkSource = callPackage ./source.nix {};
+}
diff --git a/pkgs/tools/nix/npins/source.nix b/pkgs/tools/nix/npins/source.nix
new file mode 100644
index 0000000000000..8c9e47204afd1
--- /dev/null
+++ b/pkgs/tools/nix/npins/source.nix
@@ -0,0 +1,57 @@
+# Not part of the public API – for use within nixpkgs only
+#
+# Usage:
+# ```nix
+# let
+#   sources = builtins.fromJSON (builtins.readFile ./sources.json);
+# in mkMyDerivation rec {
+#   version = src.version; # This obviously only works for releases
+#   src = pkgs.npins.mkSource sources.mySource;
+# }
+# ```
+
+{ fetchgit
+, fetchzip
+, fetchurl
+}:
+let
+  mkSource = spec:
+    assert spec ? type; let
+      path =
+        if spec.type == "Git" then mkGitSource spec
+        else if spec.type == "GitRelease" then mkGitSource spec
+        else if spec.type == "PyPi" then mkPyPiSource spec
+        else if spec.type == "Channel" then mkChannelSource spec
+        else throw "Unknown source type ${spec.type}";
+    in
+    spec // { outPath = path; };
+
+  mkGitSource = { repository, revision, url ? null, hash, ... }:
+    assert repository ? type;
+    # At the moment, either it is a plain git repository (which has an url), or it is a GitHub/GitLab repository
+    # In the latter case, there we will always be an url to the tarball
+    if url != null then
+      (fetchzip {
+        inherit url;
+        sha256 = hash;
+        extension = "tar";
+      })
+    else assert repository.type == "Git"; fetchgit {
+      url = repository.url;
+      rev = revision;
+    };
+
+  mkPyPiSource = { url, hash, ... }:
+    fetchurl {
+      inherit url;
+      sha256 = hash;
+    };
+
+  mkChannelSource = { url, hash, ... }:
+    fetchzip {
+      inherit url;
+      sha256 = hash;
+      extension = "tar";
+    };
+in
+  mkSource
diff --git a/pkgs/tools/nix/npins/sources.json b/pkgs/tools/nix/npins/sources.json
new file mode 100644
index 0000000000000..0481abe3f97ba
--- /dev/null
+++ b/pkgs/tools/nix/npins/sources.json
@@ -0,0 +1,19 @@
+{
+  "pins": {
+    "npins": {
+      "type": "GitRelease",
+      "repository": {
+        "type": "GitHub",
+        "owner": "andir",
+        "repo": "npins"
+      },
+      "pre_releases": false,
+      "version_upper_bound": null,
+      "version": "0.1.0",
+      "revision": "5c9253ff6010f435ab73fbe1e50ae0fdca0ec07b",
+      "url": "https://api.github.com/repos/andir/npins/tarball/0.1.0",
+      "hash": "019fr9xsirld8kap75k18in3krkikqhjn4mglpy3lyhbhc5n1kh6"
+    }
+  },
+  "version": 2
+}
diff --git a/pkgs/tools/package-management/cde/default.nix b/pkgs/tools/package-management/cde/default.nix
index acebe4726755b..5e86e2affb32f 100644
--- a/pkgs/tools/package-management/cde/default.nix
+++ b/pkgs/tools/package-management/cde/default.nix
@@ -25,6 +25,12 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: ../readelf-mini/libreadelf-mini.a(dwarf.o):/build/source/readelf-mini/dwarf.c:64:
+  #     multiple definition of `do_wide'; ../readelf-mini/libreadelf-mini.a(readelf-mini.o):/build/source/readelf-mini/readelf-mini.c:170: first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   installPhase = ''
     install -d $out/bin
     install -t $out/bin cde cde-exec
@@ -36,7 +42,7 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.rlupton20 ];
     platforms = platforms.linux;
-    # error: architecture aarch64 is not supported by strace
+    # error: architecture aarch64 is not supported by bundled strace
     badPlatforms = [ "aarch64-linux" ];
   };
 }
diff --git a/pkgs/tools/package-management/nix-update/default.nix b/pkgs/tools/package-management/nix-update/default.nix
index fd3b4a5a3e466..dd6cb2e560529 100644
--- a/pkgs/tools/package-management/nix-update/default.nix
+++ b/pkgs/tools/package-management/nix-update/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonApplication rec {
   pname = "nix-update";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = pname;
     rev = version;
-    sha256 = "sha256-D1N7ISLZJ3A8G9X5dvtCbRse5h0MRJoeZM3CHkFpqlE=";
+    sha256 = "sha256-d2S18cBkFJOIGFKrwj9U4bRvdPjrbuWfRUVug1JEw0s=";
   };
 
   makeWrapperArgs = [
diff --git a/pkgs/tools/security/arsenal/default.nix b/pkgs/tools/security/arsenal/default.nix
index cd927715d2e83..62dd9a5986689 100644
--- a/pkgs/tools/security/arsenal/default.nix
+++ b/pkgs/tools/security/arsenal/default.nix
@@ -5,19 +5,22 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "arsenal";
-  version = "1.0.2";
+  version = "1.1.0";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "Orange-Cyberdefense";
     repo = "arsenal";
     rev = version;
-    sha256 = "sha256-RZxGSrtEa3hAtowD2lUb9BgwpSWlYo90fU9nDvUfoAk=";
+    sha256 = "sha256-NbNXyR5aNKvRJU9JWGk/ndwU1bhNgDOdcRqBkAY9nPA=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
     libtmux
     docutils
+    pyfzf
     pyperclip
+    pyyaml
   ];
 
   # Project has no tests
diff --git a/pkgs/tools/security/badrobot/default.nix b/pkgs/tools/security/badrobot/default.nix
new file mode 100644
index 0000000000000..30123d3c4f7a2
--- /dev/null
+++ b/pkgs/tools/security/badrobot/default.nix
@@ -0,0 +1,45 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "badrobot";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "controlplaneio";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-LGoNM8wu1qaq4cVEzR723/cueZlndE1Z2PCYEOU+nPQ=";
+  };
+  vendorSha256 = "sha256-FS4kFVi+3NOJOfWfy5m/hDrQvCzpmsNSB/PliF6cVps=";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  ldflags = [
+    "-s"
+    "-w"
+    "-X github.com/controlplaneio/badrobot/cmd.version=v${version}"
+  ];
+
+  postInstall = ''
+    installShellCompletion --cmd badrobot \
+      --bash <($out/bin/badrobot completion bash) \
+      --fish <($out/bin/badrobot completion fish) \
+      --zsh <($out/bin/badrobot completion zsh)
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/controlplaneio/badrobot";
+    changelog = "https://github.com/controlplaneio/badrobot/blob/v${version}/CHANGELOG.md";
+    description = "Operator Security Audit Tool";
+    longDescription = ''
+      Badrobot is a Kubernetes Operator audit tool. It statically analyses
+      manifests for high risk configurations such as lack of security
+      restrictions on the deployed controller and the permissions of an
+      associated clusterole. The risk analysis is primarily focussed on the
+      likelihood that a compromised Operator would be able to obtain full
+      cluster permissions.
+    '';
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ jk ];
+  };
+}
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index 5fc46e66629d1..8ac6771f3589f 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 = "2022-05-13";
+  version = "2022-05-18";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = "refs/tags/${version}";
-    sha256 = "sha256-hSsVgH6iyfTrHwu/fNc00zhheys8mYYmuDAKJqSWGqo=";
+    sha256 = "sha256-E2QPeSlsJCRhnwgxr1NerLkSFbLLaTSLl8oeYsHQM+U=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/fprintd/default.nix b/pkgs/tools/security/fprintd/default.nix
index d9c17f935eda6..501481957543d 100644
--- a/pkgs/tools/security/fprintd/default.nix
+++ b/pkgs/tools/security/fprintd/default.nix
@@ -44,16 +44,7 @@ stdenv.mkDerivation rec {
     gettext
     gtk-doc
     libxslt
-    # TODO: apply this to D-Bus so that other packages can benefit.
-    # https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/202
-    (dbus.overrideAttrs (attrs: {
-      postInstall = attrs.postInstall or "" + ''
-        ln -s ${fetchurl {
-          url = "https://gitlab.freedesktop.org/dbus/dbus/-/raw/b207135dbd8c09cf8da28f7e3b0a18bb11483663/doc/catalog.xml";
-          sha256 = "1/43XwAIcmRXfM4OXOPephyQyUnW8DSveiZbiPvW72I=";
-        }} $out/share/xml/dbus-1/catalog.xml
-      '';
-    }))
+    dbus
     docbook-xsl-nons
     docbook_xml_dtd_412
   ];
diff --git a/pkgs/tools/security/gnome-keysign/default.nix b/pkgs/tools/security/gnome-keysign/default.nix
index a94be8295ea08..50a1ff98d14f0 100644
--- a/pkgs/tools/security/gnome-keysign/default.nix
+++ b/pkgs/tools/security/gnome-keysign/default.nix
@@ -41,7 +41,7 @@ python3.pkgs.buildPythonApplication rec {
     wrapGAppsHook
     gobject-introspection
   ] ++ (with python3.pkgs; [
-    Babel
+    babel
     babelgladeextractor
   ]);
 
diff --git a/pkgs/tools/security/kube-hunter/default.nix b/pkgs/tools/security/kube-hunter/default.nix
index 0f82cc0cbab74..d9ef1f3825215 100644
--- a/pkgs/tools/security/kube-hunter/default.nix
+++ b/pkgs/tools/security/kube-hunter/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "kube-hunter";
-  version = "0.6.7";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-W7jW0V91o164EIAzZ7ODWeqTmUaUFDIqlE37x/AycqY=";
+    sha256 = "sha256-+M8P/VSF9SKPvq+yNPjokyhggY7hzQ9qLLhkiTNbJls=";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix
index 4ba294e42f260..531f88333d057 100644
--- a/pkgs/tools/security/libmodsecurity/default.nix
+++ b/pkgs/tools/security/libmodsecurity/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub
 , autoreconfHook, bison, flex, pkg-config
 , curl, geoip, libmaxminddb, libxml2, lmdb, lua, pcre
-, ssdeep, valgrind, yajl
+, ssdeep, yajl
 , nixosTests
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook bison flex pkg-config ];
-  buildInputs = [ curl geoip libmaxminddb libxml2 lmdb lua pcre ssdeep valgrind yajl ];
+  buildInputs = [ curl geoip libmaxminddb libxml2 lmdb lua pcre ssdeep yajl ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 2145c5fc3339f..076b907d880e8 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.7.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+yoxpdEU5TDOJsLRXBwddzAIBAzdSu8hdcvhuCWZxtc=";
+    sha256 = "sha256-ra8BxM+zpe5UKlJ28wc8yE5ta4ro4o2OHfmu9fBqFTA=";
   };
 
-  vendorSha256 = "sha256-6BC8jf/XaC7W6vsQEFIyIZ0S8XLJv+dFlaFl9VEO7yc=";
+  vendorSha256 = "sha256-4E9nHBaojkOwnSPxRn2JGFcQTF4WowTOtzE5zRjkqhk=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix
index e82052d961b8c..e071f460b1aa9 100644
--- a/pkgs/tools/security/rhash/default.nix
+++ b/pkgs/tools/security/rhash/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--ar=${stdenv.cc.targetPrefix}ar"
+    "--target=${stdenv.hostPlatform.config}"
     (lib.enableFeature enableStatic "static")
     (lib.enableFeature enableStatic "lib-static")
   ];
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index 02f3615233ae6..e5ec1d444ce6e 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-O4oLtbijTAgUD+X3rxJkH2VmWLX5nQaN5JwoznNpKOM=";
+    sha256 = "sha256-up79ryjN9WciEl6fVgTLUZHhXSu7+utQB2ACPAx207E=";
   };
 
-  vendorSha256 = "sha256-dfd5yQ3t23YyFin770UlCtEIldRxTqeWfgl0GLLF+Qw=";
+  vendorSha256 = "sha256-EfHcCk2NkicSPeJYgHJT2kh9EwLldksET75ZQambrWA=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/security/witness/default.nix b/pkgs/tools/security/witness/default.nix
index 921d524be6acc..f443d765b571e 100644
--- a/pkgs/tools/security/witness/default.nix
+++ b/pkgs/tools/security/witness/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "witness";
-  version = "0.1.7";
+  version = "0.1.8";
 
   src = fetchFromGitHub {
     owner = "testifysec";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fkY3/UmHzggmysrae8VCY3NMBxC/LcWoQcXBELEzJlM=";
+    sha256 = "sha256-i76sw5ysWDZwuNt7CYtpVy9mEV643i4YaMxksglyPWw=";
   };
-  vendorSha256 = "sha256-ajWIjQXLvFQB1AVYyGjyWMrWIyue/d1uU5HHNf4/UcU=";
+  vendorSha256 = "sha256-A3fnAWEJ7SeUnDfIIOkbHIhUBRB8INcqMleOLL3LHF0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/system/ddrutility/default.nix b/pkgs/tools/system/ddrutility/default.nix
index 02c89b2298907..ce5e16e4eb4bf 100644
--- a/pkgs/tools/system/ddrutility/default.nix
+++ b/pkgs/tools/system/ddrutility/default.nix
@@ -13,6 +13,11 @@ stdenv.mkDerivation rec {
     substituteInPlace makefile --replace /usr/local ""
   '';
 
+  # Workaround build failure on -fno-common toolchains like upstream
+  # gcc-10. Otherwise build fails as:
+  #   ld: /build/ccltHly5.o:(.bss+0x119f8): multiple definition of `start_time'; /build/cc9evx3L.o:(.bss+0x10978): first defined here
+  NIX_CFLAGS_COMPILE = "-fcommon";
+
   makeFlags = [ "DESTDIR=$(out)" ];
 
   meta = with lib; {
diff --git a/pkgs/tools/text/discount/default.nix b/pkgs/tools/text/discount/default.nix
index 44d50c0c9634d..7422b445d818d 100644
--- a/pkgs/tools/text/discount/default.nix
+++ b/pkgs/tools/text/discount/default.nix
@@ -1,36 +1,28 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "2.2.7";
+  version = "2.2.7b";
   pname = "discount";
 
   src = fetchFromGitHub {
     owner = "Orc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0p2gznrsvv82zxbajqir8y2ap1ribbgagqg1bzhv3i81p2byhjh7";
+    sha256 = "sha256-S6OVKYulhvEPRqNXBsvZ7m2W4cbdnrpZKPAo3SfD+9s=";
   };
 
-  patches = [
-    ./fix-configure-path.patch
-
-    # Fix parallel make depends:
-    # - https://github.com/Orc/discount/commit/e42188e6c4c30d9de668cf98d98dd0c13ecce7cf.patch
-    # - https://github.com/Orc/discount/pull/245
-    ./parallel-make.patch
-  ];
+  patches = [ ./fix-configure-path.patch ];
   configureScript = "./configure.sh";
-
   configureFlags = [
-    "--enable-all-features"
-    "--pkg-config"
     "--shared"
-    "--with-fenced-code"
-    # Use deterministic mangling
-    "--debian-glitch"
+    "--debian-glitch" # use deterministic mangling
+    "--pkg-config"
+    "--h1-title"
   ];
 
   enableParallelBuilding = true;
+  installTargets = [ "install.everything" ];
+
   doCheck = true;
 
   postFixup = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/tools/text/discount/parallel-make.patch b/pkgs/tools/text/discount/parallel-make.patch
deleted file mode 100644
index 583622a9152fd..0000000000000
--- a/pkgs/tools/text/discount/parallel-make.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://github.com/Orc/discount/pull/245
-https://github.com/Orc/discount/commit/e42188e6c4c30d9de668cf98d98dd0c13ecce7cf.patch
-
-Fix parallel make failure: add missing pandoc_headers dependency.
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -139,7 +139,7 @@ test:	$(PGMS) $(TESTFRAMEWORK) verify
- 
- pandoc_headers.o: tools/pandoc_headers.c config.h
- 	$(BUILD) -c -o pandoc_headers.o tools/pandoc_headers.c
--pandoc_headers: pandoc_headers.o
-+pandoc_headers: pandoc_headers.o $(COMMON) $(MKDLIB)
- 	$(LINK) -o pandoc_headers pandoc_headers.o $(COMMON) -lmarkdown 
- 
- branch.o: tools/branch.c config.h
diff --git a/pkgs/tools/text/link-grammar/default.nix b/pkgs/tools/text/link-grammar/default.nix
index c685ef603319c..3e348f159c17f 100644
--- a/pkgs/tools/text/link-grammar/default.nix
+++ b/pkgs/tools/text/link-grammar/default.nix
@@ -3,6 +3,7 @@
 , fetchurl
 , pkg-config
 , python3
+, flex
 , sqlite
 , libedit
 , runCommand
@@ -13,18 +14,19 @@ let
 
 link-grammar = stdenv.mkDerivation rec {
   pname = "link-grammar";
-  version = "5.10.2";
+  version = "5.10.4";
 
   outputs = [ "bin" "out" "dev" "man" ];
 
   src = fetchurl {
     url = "http://www.abisource.com/downloads/${pname}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-KM7HUuqg44l66WEzO2knRZ+Laf7+aMKqUnKYPX24abY=";
+    sha256 = "sha256-Pd4tEsre7aGTlEoereSElisCGXXhwgZDTMt4UEZIf4E=";
   };
 
   nativeBuildInputs = [
     pkg-config
     python3
+    flex
   ];
 
   buildInputs = [
diff --git a/pkgs/tools/text/tab/default.nix b/pkgs/tools/text/tab/default.nix
index 18d3e3d004ad5..b70171e2908c5 100644
--- a/pkgs/tools/text/tab/default.nix
+++ b/pkgs/tools/text/tab/default.nix
@@ -1,24 +1,20 @@
 { lib, stdenv, fetchFromGitHub, python3 }:
 
 stdenv.mkDerivation rec {
-  version = "9.0";
+  version = "9.1";
   pname = "tab";
 
   src = fetchFromGitHub {
     owner = "ivan-tkatchev";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2keVGPRYV2KCeJ+LgAcl74cjW5wvp6Rmy7VNMtdliBE=";
+    sha256 = "sha256-AhgWeV/ojB8jM16A5ggrOD1YjWfRVcoQbkd3S2bgdyE=";
   };
 
   checkInputs = [ python3 ];
 
   doCheck = !stdenv.isDarwin;
 
-  preCheck = ''
-    substituteInPlace Makefile --replace "python2 go2.py" "python go.py"
-  '';
-
   checkTarget = "test";
 
   installPhase = ''
@@ -32,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Programming language/shell calculator";
-    homepage    = "https://tkatchev.bitbucket.io/tab/";
+    homepage    = "http://tab-lang.xyz";
     license     = licenses.boost;
     maintainers = with maintainers; [ mstarzyk ];
     platforms   = with platforms; unix;
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index dac2cfc0d9605..f53816c46f20c 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.16.0";
+  version = "2.17.0";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    sha256 = "sha256-kqyktQxQX4/jBj6vBw1VXRzD5D3wfLwnfi+QKgEqN5A=";
+    sha256 = "sha256-PUaIx6rEaLz0HUxkglsVHw0Kx/ovI2f4Yhknuysr5Gs=";
   };
 
-  vendorSha256 = "sha256-EFuzbSVIhsGUJ8a2YoQHOq7BQpOHV43r9VKynR8UZ7k=";
+  vendorSha256 = "sha256-zdgLWEArmtHTDM844LoSJwKp0UGoAR8bHnFOSlrrjdg=";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/pkgs/tools/text/xml/xmldiff/default.nix b/pkgs/tools/text/xml/xmldiff/default.nix
index 5814435e111b9..d9dbd70b6483c 100644
--- a/pkgs/tools/text/xml/xmldiff/default.nix
+++ b/pkgs/tools/text/xml/xmldiff/default.nix
@@ -2,6 +2,7 @@
 , buildPythonApplication
 , fetchFromGitHub
 , lxml
+, setuptools
 , six
 }:
 
@@ -16,8 +17,9 @@ buildPythonApplication rec {
     hash = "sha256-xqudHYfwOce2C0pcFzId0JDIIC6R5bllmVKsH+CvTdE=";
   };
 
-  buildInputs = [
+  propagatedBuildInputs = [
     lxml
+    setuptools
     six
   ];
 
@@ -36,6 +38,6 @@ buildPythonApplication rec {
       readable diffs in those situations.
     '';
     license = licenses.mit;
-    maintainers = with maintainers; [ AndersonTorres ];
+    maintainers = with maintainers; [ AndersonTorres anpryl ];
   };
 }
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 271e5ba4c8526..b926e36bc9ae4 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -112,6 +112,7 @@ mapAliases ({
   bazel_0_29 = throw "bazel 0.29 is past end of life as it is not an lts version"; # Added 2022-05-09
   bazel_1 = throw "bazel 1 is past end of life as it is not an lts version"; # Added 2022-05-09
   bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22
+  beetsExternalPlugins = throw "beetsExternalPlugins has been deprecated, use beetsPackages.$pluginname"; # Added 2022-05-07
   beret = throw "beret has been removed"; # Added 2021-11-16
   bin_replace_string = throw "bin_replace_string has been removed: deleted by upstream"; # Added 2022-01-07
   bird2 = bird; # Added 2022-02-21
@@ -169,6 +170,7 @@ mapAliases ({
   cifs_utils = throw "'cifs_utils' has been renamed to/replaced by 'cifs-utils'"; # Converted to throw 2022-02-22
   cipherscan = throw "cipherscan was removed from nixpkgs, as it was unmaintained"; # added 2021-12-11
   ckb = throw "'ckb' has been renamed to/replaced by 'ckb-next'"; # Converted to throw 2022-02-22
+  cpp-ipfs-api = cpp-ipfs-http-client; # Project has been renamed. Added 2022-05-15
   creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
 
   # these are for convenience, not for backward compat and shouldn't expire
@@ -566,6 +568,8 @@ mapAliases ({
   icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream"; # Added 2022-02-15
   icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
   icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
+  icu59 = throw "icu59 has been removed, use a more recent version instead"; # Added 2022-05-14
+  icu65 = throw "icu65 has been removed, use a more recent version instead"; # Added 2022-05-14
   idea = throw "'idea' has been renamed to/replaced by 'jetbrains'"; # Converted to throw 2022-02-22
   imapproxy = throw "imapproxy has been removed because it did not support a supported openssl version"; # added 2021-12-15
   imagemagick7Big = imagemagickBig; # Added 2021-02-22
@@ -677,6 +681,7 @@ mapAliases ({
   liblastfm = libsForQt5.liblastfm; # Added 2020-06-14
   liblrdf = throw "'liblrdf' has been renamed to/replaced by 'lrdf'"; # Converted to throw 2022-02-22
   libmsgpack = throw "'libmsgpack' has been renamed to/replaced by 'msgpack'"; # Converted to throw 2022-02-22
+  libnih = throw "'libnih' has been removed"; # Converted to throw 2022-05-17
   libosmpbf = throw "libosmpbf was removed because it is no longer required by osrm-backend";
   libpng_apng = throw "libpng_apng has been removed, because it is equivalent to libpng"; # Added 2021-03-21
   libpulseaudio-vanilla = libpulseaudio; # Added 2022-04-20
@@ -868,6 +873,7 @@ mapAliases ({
   navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07
   ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
   neap = throw "neap was removed from nixpkgs, as it relies on python2"; # Added 2022-01-12
+  neochat = libsForQt5.plasmaMobileGear.neochat; # added 2022-05-10
   netease-cloud-music = throw "netease-cloud-music has been removed together with deepin"; # Added 2020-08-31
   networkmanager_fortisslvpn = throw "'networkmanager_fortisslvpn' has been renamed to/replaced by 'networkmanager-fortisslvpn'"; # Converted to throw 2022-02-22
   networkmanager_iodine = throw "'networkmanager_iodine' has been renamed to/replaced by 'networkmanager-iodine'"; # Converted to throw 2022-02-22
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 03b807a068639..97e4929d42ed4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -987,6 +987,8 @@ with pkgs;
 
   adafruit-ampy = callPackage ../tools/misc/adafruit-ampy { };
 
+  addic7ed-cli = callPackage ../tools/misc/addic7ed-cli { };
+
   addlicense = callPackage ../tools/misc/addlicense { };
 
   adlplug = callPackage ../applications/audio/adlplug {
@@ -1426,7 +1428,6 @@ with pkgs;
   ares = callPackage ../applications/emulators/bsnes/ares { };
 
   bsnes-hd = callPackage ../applications/emulators/bsnes/bsnes-hd {
-    inherit (gnome2) gtksourceview;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenAL;
   };
 
@@ -2575,6 +2576,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  badrobot = callPackage ../tools/security/badrobot {};
+
   bao = callPackage ../tools/security/bao {};
 
   bar = callPackage ../tools/system/bar {};
@@ -4013,6 +4016,8 @@ with pkgs;
 
   notify = callPackage ../tools/misc/notify { };
 
+  npins = callPackage ../tools/nix/npins { };
+
   nrsc5 = callPackage ../applications/misc/nrsc5 { };
 
   nsync = callPackage ../development/libraries/nsync { };
@@ -4405,28 +4410,8 @@ with pkgs;
 
   bee-clef = callPackage ../applications/networking/bee/bee-clef.nix { };
 
-  beets = callPackage ../tools/audio/beets {
-    pythonPackages = python3Packages;
-  };
-
-  beetsExternalPlugins =
-    let
-      pluginArgs = {
-        # This is a stripped down beets for testing of the external plugins.
-        beets = (beets.override {
-          enableAlternatives = false;
-          enableCopyArtifacts = false;
-          enableExtraFiles = false;
-        }).overrideAttrs (lib.const {
-          doInstallCheck = false;
-        });
-        pythonPackages = python3Packages;
-      };
-    in lib.recurseIntoAttrs {
-      alternatives = callPackage ../tools/audio/beets/plugins/alternatives.nix pluginArgs;
-      copyartifacts = callPackage ../tools/audio/beets/plugins/copyartifacts.nix pluginArgs;
-      extrafiles = callPackage ../tools/audio/beets/plugins/extrafiles.nix pluginArgs;
-    };
+  beetsPackages = lib.recurseIntoAttrs (callPackage ../tools/audio/beets { });
+  inherit (beetsPackages) beets beets-unstable;
 
   bento4 = callPackage ../tools/video/bento4 { };
 
@@ -5307,7 +5292,9 @@ with pkgs;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
-  dump_syms = callPackage ../development/tools/dump_syms { };
+  dump_syms = callPackage ../development/tools/dump_syms {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   dumptorrent = callPackage ../tools/misc/dumptorrent { };
 
@@ -5471,6 +5458,7 @@ with pkgs;
 
   trivy = callPackage ../tools/admin/trivy {
     buildGoModule = buildGo118Module;
+    inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
 
   trompeloeil = callPackage ../development/libraries/trompeloeil { };
@@ -7780,6 +7768,10 @@ with pkgs;
 
   mtail = callPackage ../servers/monitoring/mtail { };
 
+  mujmap = callPackage ../applications/networking/mujmap {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   multitail = callPackage ../tools/misc/multitail { };
 
   mx-puppet-discord = callPackage ../servers/mx-puppet-discord { };
@@ -7855,10 +7847,6 @@ with pkgs;
   nodejs-slim-16_x = callPackage ../development/web/nodejs/v16.nix {
     enableNpm = false;
   };
-  nodejs-17_x = callPackage ../development/web/nodejs/v17.nix { };
-  nodejs-slim-17_x = callPackage ../development/web/nodejs/v17.nix {
-    enableNpm = false;
-  };
   nodejs-18_x = callPackage ../development/web/nodejs/v18.nix { };
   nodejs-slim-18_x = callPackage ../development/web/nodejs/v18.nix {
     enableNpm = false;
@@ -8518,8 +8506,6 @@ with pkgs;
 
   neo-cowsay = callPackage ../tools/misc/neo-cowsay { };
 
-  neochat = libsForQt5.callPackage ../applications/networking/instant-messengers/neochat { };
-
   neofetch = callPackage ../tools/misc/neofetch { };
 
   nerdfonts = callPackage ../data/fonts/nerdfonts { };
@@ -8623,7 +8609,7 @@ with pkgs;
   grocy = callPackage ../servers/grocy { };
 
   inherit (callPackage ../servers/nextcloud {})
-    nextcloud21 nextcloud22 nextcloud23;
+    nextcloud21 nextcloud22 nextcloud23 nextcloud24;
 
   nextcloud-client = libsForQt5.callPackage ../applications/networking/nextcloud-client { };
 
@@ -10991,7 +10977,7 @@ with pkgs;
 
   toybox = callPackage ../tools/misc/toybox { };
 
-  tpmmanager = callPackage ../applications/misc/tpmmanager { };
+  tpmmanager = libsForQt5.callPackage ../applications/misc/tpmmanager { };
 
   tpm-quote-tools = callPackage ../tools/security/tpm-quote-tools { };
 
@@ -14007,8 +13993,9 @@ with pkgs;
   tinycc = callPackage ../development/compilers/tinycc { };
 
   tinygo = callPackage ../development/compilers/tinygo {
-    inherit (llvmPackages_10) llvm clang-unwrapped lld;
+    llvmPackages = llvmPackages_14;
     avrgcc = pkgsCross.avr.buildPackages.gcc;
+    wasi-libc = pkgsCross.wasi32.wasilibc;
   };
 
   tinyscheme = callPackage ../development/interpreters/tinyscheme {
@@ -14516,6 +14503,8 @@ with pkgs;
 
   poetry2conda = python3Packages.callPackage ../development/python-modules/poetry2conda { };
 
+  pip-audit = callPackage ../development/tools/pip-audit {};
+
   pipenv = callPackage ../development/tools/pipenv {};
 
   pipewire = callPackage ../development/libraries/pipewire {
@@ -14805,7 +14794,14 @@ with pkgs;
   autoadb = callPackage ../misc/autoadb { };
 
   ansible = ansible_2_12;
-  ansible_2_12 = python3Packages.toPythonApplication python3Packages.ansible-core;
+  ansible_2_13 = python3Packages.toPythonApplication python3Packages.ansible-core;
+  ansible_2_12 = python3Packages.toPythonApplication (python3Packages.ansible-core.overridePythonAttrs (oldAttrs: rec {
+    version = "2.12.5";
+    src = oldAttrs.src.override {
+      inherit version;
+      hash = "sha256-HMyZRPEBMxra0e1A1axmqBSRMwUq402wJnp0qnO+67M=";
+    };
+  }));
 
   ansible-doctor = with python3.pkgs; toPythonApplication ansible-doctor;
 
@@ -16572,10 +16568,7 @@ with pkgs;
 
   arrayfire = callPackage ../development/libraries/arrayfire {};
 
-  arrow-cpp = callPackage ../development/libraries/arrow-cpp ({
-  } // lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-    stdenv = overrideCC stdenv buildPackages.gcc6; # hidden symbol `__divmoddi4'
-  });
+  arrow-cpp = callPackage ../development/libraries/arrow-cpp {};
 
   arsenal = callPackage ../tools/security/arsenal { };
 
@@ -16896,7 +16889,7 @@ with pkgs;
 
   cpp-hocon = callPackage ../development/libraries/cpp-hocon { };
 
-  cpp-ipfs-api = callPackage ../development/libraries/cpp-ipfs-api { };
+  cpp-ipfs-http-client = callPackage ../development/libraries/cpp-ipfs-http-client { };
 
   cpp-netlib = callPackage ../development/libraries/cpp-netlib {
     boost = boost169; # fatal error: 'boost/asio/stream_socket_service.hpp' file not found
@@ -17882,65 +17875,34 @@ with pkgs;
 
   icu58 = callPackage (import ../development/libraries/icu/58.nix fetchurl) ({
     nativeBuildRoot = buildPackages.icu58.override { buildRootOnly = true; };
-  } //
-    (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
-  icu59 = callPackage ../development/libraries/icu/59.nix ({
-    nativeBuildRoot = buildPackages.icu59.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu60 = callPackage ../development/libraries/icu/60.nix ({
     nativeBuildRoot = buildPackages.icu60.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu63 = callPackage ../development/libraries/icu/63.nix ({
     nativeBuildRoot = buildPackages.icu63.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu64 = callPackage ../development/libraries/icu/64.nix ({
     nativeBuildRoot = buildPackages.icu64.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
-  icu65 = callPackage ../development/libraries/icu/65.nix ({
-    nativeBuildRoot = buildPackages.icu65.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu66 = callPackage ../development/libraries/icu/66.nix ({
     nativeBuildRoot = buildPackages.icu66.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-  }));
+  });
   icu67 = callPackage ../development/libraries/icu/67.nix ({
     nativeBuildRoot = buildPackages.icu67.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu68 = callPackage ../development/libraries/icu/68.nix ({
     nativeBuildRoot = buildPackages.icu68.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu69 = callPackage ../development/libraries/icu/69.nix ({
     nativeBuildRoot = buildPackages.icu69.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu70 = callPackage ../development/libraries/icu/70.nix ({
     nativeBuildRoot = buildPackages.icu70.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
   icu71 = callPackage ../development/libraries/icu/71.nix ({
     nativeBuildRoot = buildPackages.icu71.override { buildRootOnly = true; };
-  } // (lib.optionalAttrs (stdenv.hostPlatform.isi686 && stdenv.cc.isGNU) {
-      stdenv = gcc6Stdenv; # with gcc-7: undefined reference to `__divmoddi4'
-    }));
+  });
 
   icu = icu71;
 
@@ -18025,6 +17987,7 @@ with pkgs;
   };
 
   itk4 = callPackage ../development/libraries/itk/4.x.nix {
+    stdenv = if stdenv.cc.isGNU && stdenv.system == "x86_64-linux" then gcc10Stdenv else stdenv;
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
@@ -19036,8 +18999,6 @@ with pkgs;
 
   libnftnl = callPackage ../development/libraries/libnftnl { };
 
-  libnih = callPackage ../development/libraries/libnih { };
-
   libnova = callPackage ../development/libraries/science/astronomy/libnova { };
 
   libnxml = callPackage ../development/libraries/libnxml { };
@@ -20338,6 +20299,8 @@ with pkgs;
 
   rinutils = callPackage ../development/libraries/rinutils { };
 
+  rtrlib = callPackage ../development/libraries/rtrlib { };
+
   kissfft = callPackage ../development/libraries/kissfft { };
 
   lambdabot = callPackage ../development/tools/haskell/lambdabot {
@@ -21633,6 +21596,8 @@ with pkgs;
 
   bird = callPackage ../servers/bird { };
 
+  bloat = callPackage ../servers/bloat { };
+
   bosun = callPackage ../servers/monitoring/bosun { };
 
   cayley = callPackage ../servers/cayley { };
@@ -23273,6 +23238,8 @@ with pkgs;
   linux_5_10_hardened = linuxKernel.kernels.linux_5_10_hardened;
   linuxPackages_5_15_hardened = linuxKernel.packages.linux_5_15_hardened;
   linux_5_15_hardened = linuxKernel.kernels.linux_5_15_hardened;
+  linuxPackages_5_17_hardened = linuxKernel.packages.linux_5_17_hardened;
+  linux_5_17_hardened = linuxKernel.kernels.linux_5_17_hardened;
 
   # Hardkernel (Odroid) kernels.
   linuxPackages_hardkernel_latest = linuxKernel.packageAliases.linux_hardkernel_latest;
@@ -23703,6 +23670,8 @@ with pkgs;
 
   rtkit = callPackage ../os-specific/linux/rtkit { };
 
+  rt-tests = callPackage ../os-specific/linux/rt-tests { };
+
   rt5677-firmware = callPackage ../os-specific/linux/firmware/rt5677 { };
 
   rtl8192su-firmware = callPackage ../os-specific/linux/firmware/rtl8192su-firmware { };
@@ -25862,6 +25831,7 @@ with pkgs;
   drawing = callPackage ../applications/graphics/drawing { };
 
   drawio = callPackage ../applications/graphics/drawio {};
+  drawio-headless = callPackage ../applications/graphics/drawio/headless.nix { };
 
   drawpile = libsForQt5.callPackage ../applications/graphics/drawpile { };
   drawpile-server-headless = libsForQt5.callPackage ../applications/graphics/drawpile {
@@ -29926,7 +29896,13 @@ with pkgs;
 
   tempo = callPackage ../servers/tracing/tempo {};
 
-  temporal = callPackage ../applications/networking/cluster/temporal { };
+  temporal = callPackage ../applications/networking/cluster/temporal {
+    buildGoModule = buildGo118Module;
+  };
+
+  temporal-cli = callPackage ../applications/networking/cluster/temporal-cli {
+    buildGoModule = buildGo118Module;
+  };
 
   tenacity = callPackage ../applications/audio/tenacity { wxGTK = wxGTK31-gtk3; };
 
@@ -29996,6 +29972,8 @@ with pkgs;
 
   tig = callPackage ../applications/version-management/git-and-tools/tig { };
 
+  tilemaker = callPackage ../applications/misc/tilemaker { };
+
   timbreid = callPackage ../applications/audio/pd-plugins/timbreid {
     fftw = fftwSinglePrec;
   };
@@ -32689,6 +32667,7 @@ with pkgs;
   angsd = callPackage ../applications/science/biology/angsd { };
 
   ants = callPackage ../applications/science/biology/ants {
+    stdenv = if stdenv.cc.isGNU && stdenv.system == "x86_64-linux" then gcc10Stdenv else stdenv;
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
 
@@ -34452,7 +34431,7 @@ with pkgs;
 
   pt = callPackage ../applications/misc/pt { };
 
-  protocol = python3Packages.callPackage ../applications/networking/protocol { };
+  protocol = callPackage ../applications/networking/protocol { };
 
   pykms = callPackage ../tools/networking/pykms { };
 
diff --git a/pkgs/top-level/config.nix b/pkgs/top-level/config.nix
index 8c15e63e5fb1d..853e6c76ab547 100644
--- a/pkgs/top-level/config.nix
+++ b/pkgs/top-level/config.nix
@@ -20,6 +20,11 @@ let
 
     /* Internal stuff */
 
+    # Hide built-in module system options from docs.
+    _module.args = mkOption {
+      internal = true;
+    };
+
     warnings = mkOption {
       type = types.listOf types.str;
       default = [];
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 7c892035e7fd0..8196811a7b2ba 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -236,6 +236,7 @@ in {
     linux_5_4_hardened = hardenedKernelFor kernels.linux_5_4 { };
     linux_5_10_hardened = hardenedKernelFor kernels.linux_5_10 { };
     linux_5_15_hardened = hardenedKernelFor kernels.linux_5_15 { };
+    linux_5_17_hardened = hardenedKernelFor kernels.linux_5_17 { };
 
   }));
   /*  Linux kernel modules are inherently tied to a specific kernel.  So
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 3c97d570a905a..ced4f28cea6b1 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -19533,7 +19533,7 @@ let
       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-4.018.tar.gz";
       sha256 = "0pqygrl88jp2w73jd9cw4k22fhvh5vcwqbiwl9wpxm67ql95cwwa";
     };
-    buildInputs = [ TestDeep TestLongString TestMemoryGrowth TestWarn ];
+    buildInputs = [ TestDeep TestLongString TestWarn ];
     propagatedBuildInputs = [ SerealDecoder SerealEncoder ];
     meta = {
       homepage = "https://github.com/Sereal/Sereal";
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index d76d079eab29b..d8e5c19f0c7f5 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -38,6 +38,7 @@ mapAliases ({
   anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   argon2_cffi = argon2-cffi; # added 2022-05-09
   asyncio-nats-client = nats-py; # added 2022-02-08
+  Babel = babel; # added 2022-05-06
   bitcoin-price-api = throw "bitcoin-price-api has been removed, it was using setuptools 2to3 translation feautre, which has been removed in setuptools 58"; # added 2022-02-15
   blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29
   bt_proximity = bt-proximity; # added 2021-07-02
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index e25e0968fa7d1..98863f255c332 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -195,8 +195,6 @@ in {
 
   addict = callPackage ../development/python-modules/addict { };
 
-  addic7ed-cli = callPackage ../development/python-modules/addic7ed-cli { };
-
   adext = callPackage ../development/python-modules/adext { };
 
   adguardhome = callPackage ../development/python-modules/adguardhome { };
@@ -1099,7 +1097,7 @@ in {
 
   b2sdk = callPackage ../development/python-modules/b2sdk { };
 
-  Babel = callPackage ../development/python-modules/Babel { };
+  babel = callPackage ../development/python-modules/babel { };
 
   babelfish = callPackage ../development/python-modules/babelfish { };
 
@@ -1407,6 +1405,8 @@ in {
 
   btrfs = callPackage ../development/python-modules/btrfs { };
 
+  btrfsutil = toPythonModule (pkgs.btrfs-progs.override { python3 = self.python; });
+
   bugsnag = callPackage ../development/python-modules/bugsnag { };
 
   bugwarrior = callPackage ../development/python-modules/bugwarrior { };
@@ -2380,6 +2380,8 @@ in {
 
   djangorestframework = callPackage ../development/python-modules/djangorestframework { };
 
+  djangorestframework-dataclasses = callPackage ../development/python-modules/djangorestframework-dataclasses { };
+
   djangorestframework-simplejwt = callPackage ../development/python-modules/djangorestframework-simplejwt { };
 
   django_reversion = callPackage ../development/python-modules/django_reversion { };
@@ -3234,6 +3236,8 @@ in {
 
   ftputil = callPackage ../development/python-modules/ftputil { };
 
+  func-timeout = callPackage ../development/python-modules/func-timeout { };
+
   funcparserlib = callPackage ../development/python-modules/funcparserlib { };
 
   funcsigs = callPackage ../development/python-modules/funcsigs { };
@@ -6385,6 +6389,8 @@ in {
 
   pipenv-poetry-migrate = callPackage ../development/python-modules/pipenv-poetry-migrate { };
 
+  pip-api = callPackage ../development/python-modules/pip-api { };
+
   pip-tools = callPackage ../development/python-modules/pip-tools { };
 
   pip-requirements-parser = callPackage ../development/python-modules/pip-requirements-parser { };
@@ -7228,6 +7234,10 @@ in {
 
   pyfxa = callPackage ../development/python-modules/pyfxa { };
 
+  pyfzf = callPackage ../development/python-modules/pyfzf {
+    inherit (pkgs) fzf;
+  };
+
   pygal = callPackage ../development/python-modules/pygal { };
 
   pygame = callPackage ../development/python-modules/pygame {
@@ -7264,7 +7274,7 @@ in {
 
   pygments-better-html = callPackage ../development/python-modules/pygments-better-html { };
 
-  pygments = callPackage ../development/python-modules/Pygments { };
+  pygments = callPackage ../development/python-modules/pygments { };
 
   pygments-markdown-lexer = callPackage ../development/python-modules/pygments-markdown-lexer { };
 
@@ -10948,6 +10958,8 @@ in {
 
   wazeroutecalculator = callPackage ../development/python-modules/wazeroutecalculator { };
 
+  wcag-contrast-ratio = callPackage ../development/python-modules/wcag-contrast-ratio { };
+
   wcmatch = callPackage ../development/python-modules/wcmatch { };
 
   wcwidth = callPackage ../development/python-modules/wcwidth { };
@@ -11310,9 +11322,9 @@ in {
 
   zdaemon = callPackage ../development/python-modules/zdaemon { };
 
-  zeek = toPythonModule (pkgs.zeek.override {
+  zeek = (toPythonModule (pkgs.zeek.override {
     python3 = python;
-  }).py;
+  })).py;
 
   zeep = callPackage ../development/python-modules/zeep { };
 
diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix
index 8551c5f9bff24..6459e6291f818 100644
--- a/pkgs/top-level/qt5-packages.nix
+++ b/pkgs/top-level/qt5-packages.nix
@@ -203,6 +203,8 @@ in (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdParty // kdeGea
     inherit (pkgs.darwin.apple_sdk.frameworks) CoreFoundation Security;
   };
 
+  qtmpris = callPackage ../development/libraries/qtmpris { };
+
   qtpbfimageplugin = callPackage ../development/libraries/qtpbfimageplugin { };
 
   qtstyleplugins = callPackage ../development/libraries/qtstyleplugins { };
diff --git a/pkgs/top-level/wine-packages.nix b/pkgs/top-level/wine-packages.nix
index c8bdaeb426e73..d50b979fdcec0 100644
--- a/pkgs/top-level/wine-packages.nix
+++ b/pkgs/top-level/wine-packages.nix
@@ -12,7 +12,8 @@ rec {
     fontconfigSupport = stdenv.isLinux;
     alsaSupport = stdenv.isLinux;
     openglSupport = true;
-    vulkanSupport = true;
+    # Works on Darwin but disabled by default to prevent Hydra build failures due to MoltenVK.
+    vulkanSupport = stdenv.isLinux;
     tlsSupport = true;
     cupsSupport = true;
     dbusSupport = stdenv.isLinux;
@@ -40,7 +41,8 @@ rec {
     gphoto2Support = true;
     krb5Support = true;
     ldapSupport = true;
-    vkd3dSupport = true;
+    # Works on Darwin but disabled by default to prevent Hydra build failures due to MoltenVK.
+    vkd3dSupport = stdenv.isLinux;
     embedInstallers = true;
   };